我有一個小問題。我有一個立方體,它有一個網格渲染器,我給它一個默認的黑色材料作為它的顏色。現在我想讓物體在接觸某些東西時更加透明。我已經將渲染模式設定為淡入淡出或透明。也設定了標簽。這是我的代碼:
public GameObject cube;
private Color tempcolor;
void Start()
{
tempcolor = cube.GetComponent<MeshRenderer>().material.color;
}
public void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Object"))
{
tempcolor.a -= 0.1f;
}
}
我的代碼不能完成這項作業。當我 Debug.Log tempcolor.a 它下降但立方體沒有任何反應。我也嘗試了普通的渲染器,但它沒有用。任何想法?
如果你能幫助我,我將不勝感激
親切的問候
uj5u.com熱心網友回復:
您不需要tempColor和Start()事件,只需將主要組件臨時保存即可。
public void OnTriggerEnter(Collider other)
{
var meshRenderer = cube.GetComponent<MeshRenderer>();
if (other.CompareTag("Object"))
{
var color = meshRenderer.material.color;
color.a -= .1f;
meshRenderer.material.color = color;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488287.html
上一篇:只移動“z”軸
