假设在场景中加一个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使用此新建材质。