dashSize
dashSize
创建一个在着色器内部的变量,该变量的值与 JavaScript 中材质对象的同名属性直接关联,充当了从 JS 动态控制着色器的直观桥梁。
核心优势
将繁琐的 uniform 定义、声明和更新过程完全自动化。开发者只需通过 `material.dashSize = 5.0` 这样直观的 JS 代码即可控制着色器,极大地提升了代码的可读性、可维护性和开发效率。
常见用途
作为自定义材质的参数,如定义虚线的线段长度、间隙大小或线宽。
作为特效的实时控制旋钮,如动态调整“毛刺”效果的强度或颜色。
用于参数化渲染风格,如设置卡通渲染的色阶数量。
作为布尔值开关,在着色器中动态切换不同的渲染逻辑路径(如启用/禁用纹理)。
如何调整
此节点本身不可调整。你应在 JavaScript 代码中直接修改与之关联的材质属性,例如 `myMaterial.dashSize = 10.0;`。其视觉效果完全取决于该值在 TSL 节点网络中被如何使用,例如改变上述代码中虚线的可见线段长度。
代码示例
1
2// 使用从 JS 传入的 dashSize 和 gapSize 创建虚线图案
3const pattern = mod( uv().x, dashSize.add( gapSize ) );
4
5// 如果计算出的值大于 dashSize,则说明处于间隙中,丢弃该片元
6pattern.greaterThan( dashSize ).discard();
7