modelPosition
modelPosition
提供物体原点(轴心点)在世界空间中的三维坐标。对于同一物体的所有像素,该值是恒定的。
核心优势
极大地简化了获取物体世界位置的操作。它用一个语义化的节点,取代了在JS中手动提取矩阵位置、创建并更新uniform到着色器的繁琐流程,让着色器逻辑与场景逻辑解耦。
常见用途
根据物体在世界中的高度(Y坐标)创建颜色渐变或效果。
计算物体中心到某个目标点的距离,以驱动发光等交互效果。
作为程序化效果的“种子”,为大量相同物体(如草地、森林)添加随机的位置、颜色或动画相位变化。
作为从物体中心向外扩散的径向效果(如冲击波)的中心点。
如何调整
该节点的输出值无法通过参数调整。它的值完全由其所属材质应用的3D对象在场景中的位置所决定。要改变 `modelPosition` 向量,请在场景中移动该对象。
代码示例
1// 将世界 Y 坐标从 [0, 10] 范围重映射到 [0, 1]
2const blendFactor = saturate( modelPosition.y.div( 10 ) );
3
4// 根据物体的世界高度混合颜色
5material.colorNode = mix( groundColor, skyColor, blendFactor );