materialLineWidth
materialLineWidth
提供对 `LineMaterial` 材质上 `linewidth` 属性的访问,该值定义了“胖”线条的视觉厚度。
核心优势
将“胖”线条宽度计算的底层实现完全封装,并与 `material.linewidth` 属性无缝集成,让开发者能以标准、便捷的方式在 TSL 中获取和控制线条粗细。
常见用途
绘制比标准 1 像素更粗的线条或轮廓。
根据用户输入(如鼠标速度)动态改变线条粗细,以模拟笔刷压力。
通过加粗线条来高亮显示选中的对象。
在数据可视化中,用线条粗细表示数据权重或流量。
作为基础值,在自定义着色器中创建两头尖的锥化线条。
如何调整
通过在 JavaScript 中修改 `LineMaterial` 的 `linewidth` 属性(一个数字)来调整。增大该值会使线条变粗,减小则变细。在 TSL 中,可将此节点作为基础值,与其它节点(如 `timer`)组合以实现动态效果。
代码示例
1// 在自定义线条材质中,将基础宽度与一个动态因子相乘
2const blinkFactor = step( 0.5, timerLocal( 10 ).sin().abs() ); // 快速闪烁
3const finalWidth = materialLineWidth.mul( blinkFactor );
4
5// finalWidth 随后被用于顶点偏移计算