Unity는 다음과 같은 액세스 매크로를 제공합니다.
| 액세스 매크로 | 설명 |
|---|---|
UNITY_ACCESS_DOTS_INSTANCED_PROP(PropertyType, PropertyName) |
위에서 설명한 레이아웃을 사용하여 unity_DOTSInstanceData에서 로드한 값을 반환합니다. Unity가 제공하는 셰이더는 되돌아갈 기본값이 없는 DOTS Instanced 빌트인 프로퍼티에 이 버전을 사용합니다. |
UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(PropertyType, PropertyName) |
메타데이터 값의 최상위 비트가 0인 경우를 제외하고는 UNITY_ACCESS_DOTS_INSTANCED_PROP과 동일한 값을 반환하며, 0인 경우에는 기본값을 반환합니다. 기본값은 DOTS Instanced 프로퍼티와 동일한 이름을 가진 일반 머티리얼 프로퍼티의 값입니다. 따라서 Unity가 제공하는 셰이더는 DOTS Instanced 프로퍼티의 이름이 일반 머티리얼 프로퍼티와 동일한 이름을 가지는 규칙을 사용합니다. 기본값을 사용하는 경우 액세스 매크로는 unity_DOTSInstanceData에 전혀 액세스하지 않습니다. Unity가 제공하는 셰이더는 이 액세스 매크로를 DOTS Instanced 머티리얼 프로퍼티에 사용하므로 로드가 머티리얼에 설정된 값으로 폴백됩니다. |
UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_CUSTOM_DEFAULT(PropertyType, PropertyName, DefaultValue) |
메타데이터 값의 최상위 비트가 0이 아니면 UNITY_ACCESS_DOTS_INSTANCED_PROP과 동일하게 반환합니다. 메타데이터 값의 최상위 비트가 0인 경우 이 매크로는 DefaultValue를 대신 반환하며 unity_DOTSInstanceData에 액세스하지 않습니다. |
UNITY_DOTS_INSTANCED_METADATA_NAME(PropertyType, PropertyName) |
어디에도 액세스하지 않고 메타데이터 값을 직접 반환합니다. 커스텀 인스턴스 데이터 로딩 체계에 유용합니다. |