包含此页的版本:
不含此页的版本:
在此示例中:
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));
}