更改渲染器颜色

时间:2016-05-24 12:47:37

标签: c# unity3d

我是统一引擎的新手

如何在立方体上添加颜色?

using UnityEngine;
using System.Collections;

public class cor_cube : MonoBehaviour {

public Color colorStart = Color.red;
public Color colorEnd = Color.green;
public float duration = 1.0F;
public Renderer rend;
void Start() {
    rend = GetComponent<Renderer>();
}
void Update() {
    float lerp = Mathf.PingPong(Time.time, duration) / duration;
    rend.material.color = Color.Lerp(colorStart, colorEnd, lerp);
    }
} (I don't want like that)

我想要一种固定的颜色。

2 个答案:

答案 0 :(得分:6)

  

我想要一种固定的颜色。

看起来您不希望lerp从一种颜色到另一种颜色。你只想设置颜色。

以下是改变颜色的方法:

方法1 :预定义颜色

void Start() {
    rend = GetComponent<Renderer>();
    rend.material.color = Color.blue;
}

还有许多其他预定义颜色,例如Color.blueColor.whiteColor.blackColor.greenColor.gray

方法2 :具有RGB或RGBA值的自定义颜色

您还可以创建未在Color结构中定义的自定义颜色。 格式为RGBA(红色,绿色,蓝色,Alpha)。值为从 0.0 1.0 的浮点数。

全红色 rend.material.color = new Color(1,0,0,1);

全蓝色

rend.material.color = new Color(0,1,0,1);

全绿色

rend.material.color = new Color(0,0,1,1);

中途可见蓝色

rend.material.color = new Color(0,1,0,0.5f);

隐藏蓝色

rend.material.color = new Color(0,1,0,0);

方法3 :HSV颜色

rend.material.color = Color.HSVToRGB(0,0,0);

我不能继续下去,但这应该让你开始。确保在编辑器中创建材质并将其指定给多维数据集,以便不使用默认的材质。您只需创建一个并将其用于所有多维数据集。更改颜色时,将为您创建新材料。如果您不想这样做,请使用rend.sharedMaterial.color代替rend.material.color

在Unity 5中,事情发生了变化。要更改alpha,您必须选择材质并将渲染模式从不透明(默认)更改为淡化或透明。因此,旧的教程可能无法正常工作。

答案 1 :(得分:0)

使用着色器Unlit / diffuse创建一个材质。将纹理设置为纯白色纹理,并设置材质的颜色。