materialOpacity
materialOpacity
提供材质的最终不透明度,该值已内置了将 `.opacity` 属性与 `.alphaMap` 贴图相乘的逻辑。
核心优势
其核心优势是自动组合:它将“基础不透明度与贴图相乘”的常见模式完全封装,并与标准材质属性无缝集成,极大地简化了透明和镂空效果的实现。
常见用途
创建玻璃、水等半透明材质。
配合 `alphaTest` 创建树叶、栅栏等硬边缘镂空效果。
通过在 JS 中动画化 `material.opacity` 属性,实现淡入淡出效果。
作为蒙版来调制其他效果的强度,如根据不透明度决定发光强度。
如何调整
在 JavaScript 中,首先需设置 `material.transparent = true`。然后通过 `material.opacity` (0-1) 控制全局不透明度。如果提供了 `material.alphaMap`,最终不透明度为 `opacity * 贴图值`,从而实现局部透明变化。
代码示例
1// 在着色器中,将最终计算出的颜色与 materialOpacity 混合
2// (通常在 TSL 内部自动处理,用户只需设置 output.opacity)
3output.color = vec4( finalRGB, materialOpacity );