unity, 不要change Default sharedMaterial

时间:2023-03-09 04:25:43
unity, 不要change Default sharedMaterial

假设在场景中加一个sprite,其材质使用默认的Sprites-Default。

若调用:

     Color color=sprite.GetComponent<SpriteRenderer>().sharedMaterial.color;
        color.a = 0;
        sprite.GetComponent<SpriteRenderer>().sharedMaterial.color=color;

则将导致场景中所有使用默认Sprites-Default材质的sprite都透明掉。

所以如果只是想使若干个sprite同时透明且保持这些sprite在同一个draw call渲染,则应新建一个材质,让这些sprite使用此新建材质。