modelWorldMatrix
modelWorldMatrix
提供一个4x4矩阵(模型矩阵),用于将顶点从局部空间变换到世界空间。
核心优势
它将物体的平移、旋转和缩放组合成一个单一矩阵,并自动从场景传递到到着色器,极大地简化了在统一的世界坐标系下进行光照、纹理投影和特效计算的过程。
常见用途
实现世界空间纹理投影(如三平面贴图),使纹理与物体在世界中的位置和朝向相关。
根据顶点在世界中的高度(Y坐标)创建水平雾或水面效果。
在着色器中进行物理或交互计算时,获取所有物体的全局位置。
如何调整
该节点的矩阵值在着色器中是只读的。它的值完全由场景中3D对象的变换(位置、旋转、缩放)决定。要改变此矩阵,请在JavaScript代码中修改该对象的 `.position`, `.rotation` 或 `.scale` 属性。
代码示例
1// 将局部坐标变换到世界坐标
2const positionWorld = modelWorldMatrix.mul( positionLocal );
3
4// 根据世界高度(Y轴)混合两种颜色,创建水面效果
5const blend = saturate( positionWorld.y.div( 10 ) );
6material.colorNode = mix( waterColor, landColor, blend );