materialLineDashSize
materialLineDashSize
提供对当前 `LineDashedMaterial` 材质上 `dashSize` 属性的访问,即虚线中实色线段的长度。
核心优势
将底层的 Uniform 管理完全抽象化,并与 `material.dashSize` 属性无缝集成,让开发者能以标准、安全的方式在 TSL 节点图中直接使用虚线长度参数。
常见用途
在虚线着色器中,作为核心参数计算片元是否可见。
作为基础值与时间节点相乘,实现虚线长度动态“生长”或“收缩”的动画。
根据与摄像机的距离动态调整,以实现虚线的细节级别(LOD)。
作为程序化图案(如摩尔斯电码)生成算法的输入参数。
如何调整
通过在 JavaScript 中修改 `LineDashedMaterial` 的 `dashSize` 属性(一个数字)来调整。增大该值会使虚线中的实色线段变长,减小则变短。在 TSL 中,可将此节点与其他节点(如 `timer`)相乘,以程序化地改变其效果。
代码示例
1// 在虚线着色器中,vLineDistance 是沿线的距离
2// 如果当前片元位于图案的“实线”部分,则显示
3if ( mod( vLineDistance, materialLineDashSize.add( materialLineGapSize ) ).lessThan( materialLineDashSize ) ) {
4
5 // ... render fragment
6
7}