DOTS Справка по макросам инстанционирования для URP
Unity предоставляет следующие макросы доступа:
| Макрос доступа | Описание |
|---|---|
UNITY_ACCESS_DOTS_INSTANCED_PROP(PropertyType, PropertyName) |
Возвращает значение, загруженное из unity_DOTSInstanceData. Дополнительные сведения см. в Объявление свойств DOTS экземпляра в пользовательском шейдере. Шейдеры, предоставляемые Unity, используют эту версию для DOTS экземплярных встроенных свойств, которые не имеют значения по умолчанию, на которое можно вернуться. |
UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(PropertyType, PropertyName) |
Возвращает то же самое, что и UNITY_ACCESS_DOTS_INSTANCED_PROP, за исключением того, что если наиболее значительный бит значения метаданных равен нулю, то возвращается значение по умолчанию. Значение по умолчанию — это значение обычного свойства материала с тем же именем, что и свойство DOTS Instanced, поэтому Shaders, которые предоставляет Unity, используют соглашение, где DOTS Instanced properties имеют то же имя, что и обычные свойства материала. При использовании значения по умолчанию макросы доступа вообще не получают доступ к unity_DOTSInstanceData. Shaders, которые предоставляет Unity, используют этот макрос доступа для DOTS Instanced material properties, так что нагрузки возвращаются к значению, установленному на материале. |
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) |
Возвращает значение метаданных напрямую без доступа к чему-либо. Это полезно для пользовательских схем загрузки данных экземпляра. |