Unity运行中修改物体的颜色

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);
    }
}

 


版权声明:本文为Jeffxu_lib原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。