이 예제에서 다음을 참고하십시오.
Color의 메타데이터 값은 0x00001000입니다.5입니다.최상위 비트가 설정되지 않았으므로 기본값으로 폴백되는 액세서 매크로는 unity_DOTSInstanceData에 액세스하지 않습니다. 이는 다음을 의미합니다.
c0에는 unity_DOTSInstanceData 주소 0x1000 값이 포함됩니다.c1은 일반 머티리얼 프로퍼티 Color의 값을 포함하며, Color 프로퍼티가 없는 경우 컴파일 오류가 발생합니다.c2는 명시적 기본값으로 전달되었으므로 (1, 2, 3, 4)를 포함합니다.void ExampleConstant()
{
// rawMetadataValue will contain 0x00001000
uint rawMetadataValue = UNITY_DOTS_INSTANCED_METADATA_NAME(float4, Color);
float4 c0 = UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, Color);
float4 c1 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4, Color);
float4 c2 = UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_CUSTOM_DEFAULT(float4, Color, float4(1, 2, 3, 4));
}