5 c# gradient colors unity-game-engine
然后我想说如果我的数字在 (0.8 - 1.0) 范围内,则使我的对象呈现渐变中显示的红色阴影。
我不知道如何解决这个问题。现在我只有两种纯色。我有:
myGameObject.GameComponent<Renderer>().material.color = Color.red;
Run Code Online (Sandbox Code Playgroud)
为正值,蓝色为负值。
任何帮助,将不胜感激。
参见Unity的Gradient类。GradientColorKey[]您可以创建和-列表GradientAlphaKey并设置每个颜色/时间值。为了您的目的,我将使用:
Gradient g = new Gradient();
GradientColorKey[] gck = new GradientColorKey[2];
GradientAlphaKey[] gak = new GradientAlphaKey[2];
gck[0].color = Color.red;
gck[0].time = 1.0F;
gck[1].color = Color.blue;
gck[1].time = -1.0F;
gak[0].alpha = 0.0F;
gak[0].time = 1.0F;
gak[1].alpha = 0.0F;
gak[1].time = -1.0F;
g.SetKeys(gck, gak);
myGameObject.GameComponent<Renderer>().material.color = g.Evaluate(1);
Run Code Online (Sandbox Code Playgroud)
这将为您提供Color与中的数字相对应的值g.Evaluate(),因此您应该将时间参数更改g.Evaluate(1)为变量或您想要的任何内容。如果您获得透明或黑色纹理,请尝试更改alpha中的值gak。希望这有帮助:)
| 归档时间: |
|
| 查看次数: |
21921 次 |
| 最近记录: |