mcpField
T
threejs-parallax-occlusion-mapping

threejs-parallax-occlusion-mapping

github.com/scottstts创意与媒体94689 次安装6 天前更新
代码仓库

关于 threejs-parallax-occlusion-mapping

用于在 Three.js 中实现视差遮蔽映射的技能,将浮雕渲染作为协同系统处理。它指导开发者完成视线求交、轮廓覆盖、着色法线和自阴影,并为各阶段提供控制项与诊断方式。

主要功能

  1. 01切线空间与高度约定
  2. 02视线步进与命中点细化
  3. 03有界或弯曲表面轮廓覆盖
  4. 04由高度推导着色法线
  5. 05光线步进自阴影
  6. 06考虑浮雕的投射与接收阴影

适用场景

  1. 01为 Three.js 材质添加浮雕效果
  2. 02在曲面上渲染浮雕
  3. 03排查覆盖、法线和阴影问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scottstts/threejs-awesome-graphics-agent-skills --skill threejs-parallax-occlusion-mapping

安装后在 Claude Code 中输入/threejs-parallax-occlusion-mapping确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
examples/silhouette-relief/
silhouette-relief-system.js
bulkhead-height-maps.js
ParallaxOcclusion.js
references/
silhouette-relief-contract.md

详细介绍

视差遮蔽映射

将浮雕视为一个耦合的相交、覆盖、法线和阴影系统。 不要只停留在偏移纹理坐标。

此技能包含超出描述性指南范围的典范示例和资源, 值得研究、参考,甚至复制。相关时请充分利用它们, 切勿盲目跳过。

构建顺序

tangent frame and height convention
  -> view-ray march and hit refinement
  -> bounded or curved silhouette coverage
  -> shared marched sampling
  -> height-derived shading normal
  -> light-ray self-shadow march
  -> relief-aware cast/received shadow positions

阅读 references/silhouette-relief-contract.md, 了解相交约定、平面与曲面轮廓模式、外壳膨胀、阴影集成、质量控制和诊断。

阅读 轮廓浮雕实现, 了解完整的 TSL 步进、二分命中细化、梯度安全采样、 覆盖、地平线裁剪、曲面下垂和自阴影函数。

阅读 完整的舱壁组件 及其打包的程序化高度贴图, 了解墙壁、甲板、浮雕柱和顶部管道如何使用高度派生法线、膨胀的圆柱外壳、 Alpha-to-coverage、阴影遮罩雕刻、步进阴影深度和接收阴影位置。

必需控件

  • 世界或 UV 浮雕缩放;
  • 视线步进层的最小值和最大值;
  • 轮廓边界和羽化;
  • 曲面曲率或曲率回调;
  • 地平线裁剪和边缘侵蚀;
  • 自阴影步数、偏移和强度;
  • 几何、雕刻和完整浮雕阴影模式;
  • 高度、覆盖、步进 UV、法线和阴影诊断。

故障条件

  • 颜色、法线和粗糙度意外地分别重新执行视线步进;
  • 曲面宿主在其几何地平线上使用平面轮廓裁剪;
  • 膨胀的外壳改变了浮雕底面,而不是让浮雕保持在基底表面上;
  • 假定经过 Alpha 测试的美术覆盖会自动雕刻阴影贴图;
  • 在 discard 之后进行导数采样,且在某些驱动上会侵蚀覆盖;
  • 掠射射线除以无界的视空间 Z 分量;
  • 浮雕自阴影不加区分地使补光或自发光变暗。

路由边界

当不需要光线步进高度相交或轮廓所有权时,使用 $threejs-procedural-materials。当轮廓必须由实际网格拓扑构成,而不是视角相关的浮雕时,使用 $threejs-procedural-geometry。

评论

支持 Markdown