使用:<MeshRenderer>().材料更改对象颜色。设置颜色



我正在尝试制作一个迷你高尔夫游戏。我正在尝试执行一个本地多人游戏功能。我希望每个玩家都有自己的颜色,目前,我有三个:红色,蓝色和黄色。颜色是由球员比赛的顺序决定的,我使用网格渲染器来改变球的颜色,我使用线渲染器来改变球前面的线的颜色。我没有得到错误,但是颜色没有改变,它保持我在编辑器中给它的颜色。

private void SetupPlayer(){
ball.SetupBall(playerRecord.playerColors[playerIndex]);
playerNameText.text = playerRecord.playerList[playerIndex].name;
}

public void SetupBall(Color color){
transform.position = startPosition.position;
angle = startPosition.rotation.eulerAngles.y;
ball.velocity = Vector3.zero;
ball.angularVelocity = Vector3.zero;
GetComponent<MeshRenderer>().material.SetColor("Color", color);
line.material.SetColor("Color", color);
line.enabled = true;
putts = 0;
puttText.text = "PUTTS: " + putts.ToString();;
}

"_Color"代替"Color"

文档:https://docs.unity3d.com/ScriptReference/Material.SetColor.html

相关内容

  • 没有找到相关文章

最新更新