anisotropyB
anisotropyB
在 TSL 着色器中创建一个名为 `AnisotropyB` 的三维向量(vec3)参数,用于精确定义各向异性高光拉伸的“方向”,通常代表物体表面的切线或副切线方向。
核心优势
将各向异性效果的方向与模型的静态顶点数据解耦,赋予开发者通过一个向量来程序化、动态地控制高光朝向的能力,同时也能用于快速修复错误的模型切线数据。
常见用途
为程序化几何体添加统一的拉丝方向。
创造可随用户交互(如鼠标)而改变光泽流向的魔幻表面。
模拟所有毛发朝同一方向梳理的风格化效果。
作为覆盖工具,修正模型自带的错误高光方向。
如何调整
在 JavaScript 中修改 `material.anisotropyB` 的值(一个 `THREE.Vector3`)。高光的拉伸方向会与该向量的方向垂直。例如,将向量设为 X 轴 `(1,0,0)`,高光会沿 Z 轴拉伸。动态旋转该向量会使高光带也随之旋转。
代码示例
1// 将 anisotropyB 节点连接到材质的各向异性方向输入端
2// 其值将由 JS 端的 material.anisotropyB (一个 Vector3) 控制
3material.anisotropyBNode = anisotropyB;