ㅤㅤㅤ
思路:获取物品Mesh Render下的Materials,进行一层或者多层的替换
代码(按A,B切换材质球):
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内的语句):
Material M1, M2;
Material[] Mat = new Material[2] { M1, M2 };
this.transform.GetComponent<Renderer>().materials = Mat;
ㅤㅤㅤ
P.S.还可以配合OnTriggerEnter()之类的碰撞检测方法 实现角色走进区域更换材质球的玩法。
ㅤㅤㅤ