Unity 提供以下访问宏:
| 访问宏 | 描述 |
|---|---|
UNITY_ACCESS_DOTS_INSTANCED_PROP(PropertyType, PropertyName) |
返回使用上述布局从 unity_DOTSInstanceData 加载的值。Unity 提供的着色器将此版本用于没有默认值的 DOTS 实例化内置属性。 |
UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(PropertyType, PropertyName) |
返回与 UNITY_ACCESS_DOTS_INSTANCED_PROP 相同的值,但如果元数据值的最高有效位为零,则返回默认值。默认值是与 DOTS 实例化属性名称相同的常规材质属性的值,因此 Unity 提供的着色器使用 DOTS 实例化属性与常规材质属性名称相同的约定。使用默认值时,访问宏根本不会访问 unity_DOTSInstanceData。Unity 提供的着色器将此访问宏用于 DOTS 实例化材质属性,因此加载会回退到材质上设置的值。 |
UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_CUSTOM_DEFAULT(PropertyType, PropertyName, DefaultValue) |
如果元数据值的最高有效位不为零,则返回与 UNITY_ACCESS_DOTS_INSTANCED_PROP 相同的值,在这种情况下,此宏将返回 DefaultValue,并且不会访问 unity_DOTSInstanceData。 |
UNITY_DOTS_INSTANCED_METADATA_NAME(PropertyType, PropertyName) |
直接返回元数据值,不访问任何内容。这很适合自定义实例数据加载方案。 |