materialLineGapSize
materialLineGapSize
提供对当前 `LineDashedMaterial` 材质上 `gapSize` 属性的访问,即虚线中空白间隔的长度。
核心优势
将底层的 Uniform 管理完全抽象化,并与 `material.gapSize` 属性无缝集成,让开发者能以标准、安全的方式在 TSL 节点图中直接使用虚线间隔参数。
常见用途
与 `materialLineDashSize` 配合,定义标准的虚线或点线图案。
作为基础值与时间节点相乘,实现间隔“呼吸”或“脉冲”的动画。
通过动画将其值降为 0,实现从虚线到实线的平滑过渡。
作为程序化图案(如摩尔斯电码)生成算法的输入参数。
如何调整
通过在 JavaScript 中修改 `LineDashedMaterial` 的 `gapSize` 属性(一个数字)来调整。增大该值会使虚线更稀疏,减小则更密集。将其设为 0 会使虚线变成实线。在 TSL 中,可将此节点与其他节点(如 `noise`)相乘,以程序化地改变其效果。
代码示例
1// 在虚线着色器中,vLineDistance 是沿线的距离
2// 如果当前片元位于图案的“间隔”部分,则将其丢弃
3if ( mod( vLineDistance, materialLineDashSize.add( materialLineGapSize ) ).greaterThan( materialLineDashSize ) ) {
4
5 discard;
6
7}