property
property
在节点图中声明一个具名、带类型的属性,作为从 JavaScript 向材质传递参数的公共接口。
核心优势
通过自动管理 uniform,它为自定义材质创建了清晰的公共 API,允许开发者在 JavaScript 中通过 `material.propertyName = value` 的方式直观地控制着色器,极大地提升了易用性。
常见用途
为自定义材质构建可配置的输入参数
创建可实时调试的着色器
为可复用的着色器模块定义输入接口
如何调整
通过在 JavaScript 中修改材质对应的属性值(如 `material.glowIntensity = 2.5`),可以实时改变着色器中该属性节点输出的值。例如,将控制 UV 滚动速度的属性值从 1.0 改为 10.0,会使纹理滚动速度立刻变为原来的十倍,无需重新编译着色器。
代码示例
1// 声明一个颜色属性和一个浮点数属性
2const mainColor = property( 'color', 'mainColor' );
3const glowIntensity = property( 'float', 'glowIntensity' );