Unity 中当运行到某一场景,或者触发某一事件时需要修改物体的颜色。主要是通过 MeshRenderer 来进行渲染。
1、在Unity中创建一个cube 物体,确保其上有 MeshRenderer 组件
2、创建一个新的脚本来控制其颜色的变化,将该脚本挂载在 cube 物体上。通过逐帧的方式来对颜色进行改变,最后一个参数为平滑因子。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ChangeCubeColor : MonoBehaviour
{
private MeshRenderer msRender;
private float smooth = 0.5f;
void Start () {
msRender = GetComponent<MeshRenderer>();
// 设置物体的初始颜色
msRender.material.color = Color.blue;
}
void Update () {
// 通过线性插值的方式来逐渐改变物体的颜色
msRender.material.color = Color.Lerp(msRender.material.color, Color.red, smooth * Time.deltaTime);
}
}