Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改渲染器颜色_C#_Unity3d - Fatal编程技术网

C# 更改渲染器颜色

C# 更改渲染器颜色,c#,unity3d,C#,Unity3d,我是unity engine的新手 如何在立方体上着色 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 Star

我是unity engine的新手

如何在立方体上着色

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)
使用UnityEngine;
使用系统集合;
公共类cor_cube:单行为{
公共颜色colorStart=Color.red;
公共颜色colorEnd=Color.green;
公共浮动持续时间=1.0F;
公开渲染;
void Start(){
rend=GetComponent();
}
无效更新(){
float lerp=数学乒乓球(时间、持续时间)/持续时间;
rend.material.color=color.Lerp(colorStart、colorEnd、Lerp);
}
}(我不想那样)

我想要一个固定的颜色。

创建一个材质,材质上的着色器不亮/漫反射。将纹理设置为纯白色纹理并设置材质的颜色。

创建材质,材质上的着色器为“未亮/漫反射”。将纹理设置为纯白色纹理并设置材质的颜色

我想要固定的颜色

看起来你不想从一种颜色到另一种颜色。您只需要设置颜色

以下是更改颜色的方法:

方法1:预定义颜色

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

rend.material.color = new Color(0,0,1,1);
半可见蓝色

rend.material.color = new Color(0,1,0,1);
rend.material.color = new Color(0,1,0,0.5f);
rend.material.color = new Color(0,1,0,0);
隐藏蓝色

rend.material.color = new Color(0,1,0,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:预定义颜色

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

rend.material.color = new Color(0,0,1,1);
半可见蓝色

rend.material.color = new Color(0,1,0,1);
rend.material.color = new Color(0,1,0,0.5f);
rend.material.color = new Color(0,1,0,0);
隐藏蓝色

rend.material.color = new Color(0,1,0,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,必须选择材质并将渲染模式从不透明(默认)更改为淡入淡出或透明。因此,旧教程可能会因此而无法使用。

我有31个立方体,我必须创建31个材质?不,在运行时每个立方体将获得自己的材质实例。我有31个立方体,我必须创建31个材质?不,在运行时每个立方体将获得自己的材质实例