???
思路:获取物品Mesh Render下的Materials,进行一层或者多层的替换
代码(按A,B切换材质球):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | using UnityEngine; public class SwitchMaterial : MonoBehaviour { public Material M1, M2; // 贴图 void Update() { if (Input.GetKey(KeyCode.A)) { this.transform.GetComponent<Renderer>().material = Mat2; } if (Input.GetKey(KeyCode.B)) { this.transform.GetComponent<Renderer>().material = Mat1; } } } |
???
对于双层的材质球,可采用数组的形式(修改if内的语句):
1 2 3 | Material M1, M2; Material[] Mat = new Material[2] { M1, M2 }; this.transform.GetComponent<Renderer>().materials = Mat; |
???
P.S.还可以配合OnTriggerEnter()之类的碰撞检测方法 实现角色走进区域更换材质球的玩法。
???