一 暴露属性类
ExposedProperty
类是一个帮助类,它根据属性的名称存储属性ID。赋给一个暴露的属性(ExposedProperty
)的值是一个着色器属性的字符串名。类自动调用使用着色器属性名作为参数的Shader.PropertyToID(string name)函数,并存储函数返回的整数ID。当您在组件API(component API)中的属性、事件或EventAttribute方法中使用这个类时,它会隐式地使用这个整数。
当你想要访问一个材质属性,您可以使用属性的名称或ID。它通常是更容易使用的名称属性,然而更有效使用属性的整数ID。这个类很有用,因为它结合了方便使用属性名和使用属性ID的效率。
代码实例
ExposedProperty m_MyProperty;
VisualEffect m_VFX;
void Start()
{
m_VFX = GetComponent<VisualEffect>();
m_MyProperty = "My Property"; // Assign a string.
}
void Update()
{
vfx.SetFloat(m_MyProperty, someValue); // Uses the property ID.
}
二 向量字段/有符号距离字段
该功能目前处于试验阶段,可能会在以后的主要版本中进行更改。
向量字段和符号距离字段是包含存储在三维像素中的值的3D字段。这些是可用的三维纹理在视觉效果图,并可以使用卷文件(.vf)文件格式导入。
卷文件是一个开源规范(Open Source specification),它包含存储浮点数据的基本结构。VF文件在unity中自动导入为3D纹理,可用于视觉效果图形块和输入3D纹理的操作符(如向量字段或有符号距离字段块)。