Unity3d 统一|和#x27;gameobject.renderer.material.color';在版本5.x中

Unity3d 统一|和#x27;gameobject.renderer.material.color';在版本5.x中,unity3d,shader,crop,mask,renderer,c#,Unity3d,Shader,Crop,Mask,Renderer,C#,我想把游戏对象的一部分(GuitTexture或sprite)做成透明的颜色,比如资产存储中的“SpriteMask”。 让我更详细地解释一下。 例如,场景中有两个游戏对象。一个是场景的背景,另一个只是空的游戏对象,当我拖动它时,它可以移动。 游戏对象所在的背景部分应同时透明 首先,我尝试使用“rendere.material.color.a”,但Unity版本5.x中不推荐使用它。现在我不知道了 下面是我想做的一切。 有人有好主意吗?我怎样才能用简单的方法做到。 请告诉我你的想法。谢谢。创

我想把游戏对象的一部分(GuitTexture或sprite)做成透明的颜色,比如资产存储中的“SpriteMask”。

让我更详细地解释一下。 例如,场景中有两个游戏对象。一个是场景的背景,另一个只是空的游戏对象,当我拖动它时,它可以移动。 游戏对象所在的背景部分应同时透明

首先,我尝试使用“rendere.material.color.a”,但Unity版本5.x中不推荐使用它。现在我不知道了

下面是我想做的一切。

有人有好主意吗?我怎样才能用简单的方法做到。 请告诉我你的想法。谢谢。

创建一个全局变量

MeshRenderer renderer;

Start()
{
    renderer = gameObject.GetComponent<MeshRenderer>() as MeshRenderer;
}
mesh;
开始()
{
renderer=gameObject.GetComponent()作为MeshRenderer;
}
现在你可以使用渲染器了

5.3.0f4的更新

public GameObject mainObj;

void Start () {
    mainObj.GetComponent<MeshRenderer> ().material.color.a = 1.0f;
}
公共游戏对象mainObj;
无效开始(){
mainObj.GetComponent().material.color.a=1.0f;
}

你能发布一些相关代码吗?可能有助于解决您的问题。MonoBehavior类不再包含
渲染器
快捷方式变量。您需要使用
gameObject.GetComponent().material.color.a