objectDirection
objectDirection
提供一个归一化的三维向量,代表物体在世界空间中的正前方朝向(其局部-Z轴方向)。
核心优势
极大地简化了获取物体世界朝向的操作。它能动态响应物体的旋转,并允许将着色器效果与场景中任意指定对象的朝向相绑定。
常见用途
创建方向性护盾或能量场,例如正面防御力更强的效果。
定义载具前灯或手电筒等锥形光束效果的中心轴线。
模拟风或水流对物体迎风/顺风面的不同视觉影响。
如何调整
通过在JavaScript中旋转其目标`Object3D`来改变输出值。此外,可以在构造时或运行时设置其`.object3d`属性,使其跟踪场景中任意一个特定对象的朝向。
代码示例
1// 计算物体朝向与世界X轴的点积
2const alignment = objectDirection().dot( vec3( 1, 0, 0 ) );
3
4// 使用该对齐值来控制绿色强度,实现基于朝向的颜色变化
5const factor = smoothstep( -1, 1, alignment );
6material.colorNode = vec3( 0, 1, 0 ).mul( factor );