【问题标题】:How to change the color of a sphere after crossing a cube in Unity 3D?在 Unity 3D 中穿过立方体后如何更改球体的颜色?
【发布时间】:2020-08-17 06:08:51
【问题描述】:

我是新的 Unity3D,我真的很喜欢它,当我开始我的项目时,我遇到了一个问题,我有一个球体,它通过(AddForce)移动,我在它上面放了一个材质(红色),在穿过处于(isTrigger)模式且不可见的立方体后,我想从那个球体中获得:

  1. 将球体的颜色更改为(蓝色或红色)。

  2. 将球体启动为随机颜色(蓝色或红色)。

  3. 如果我能放一个Hex颜色就更好了,但如果是纯色的话,没问题。

  4. 如果随机颜色=到立方体1颜色它会继续移动,否则:随机颜色!=到立方体1它会停止移动,你可以说它是一个障碍物。

我真的相信它想要编码,但我只知道 Python,所以如果你能帮我写代码来更好地理解它。

【问题讨论】:

    标签: c# visual-studio unity3d random colors


    【解决方案1】:

    球体的颜色由应用在球体上的材料决定。

    var sphere = gameObject.GetComponent<Renderer>(); sphere.material.SetColor("_Color", Color.red);

    【讨论】:

      【解决方案2】:

      这是我的随机颜色代码示例

      void Start()
      {
          int a=Random.Range(0,2);
          var sphere =GetComponent<Renderer>();
          sphere.material.SetColor("_Color",a==0?Color.Blue:Color.Red);
      }
      

      这应该可以解决随机颜色问题

      【讨论】:

      • 嗨@Bartek Dusza,感谢您提供的代码,我非常感谢它对我有用,但是有没有办法输入十六进制数字或浅蓝色?
      • 如果您知道回答这个问题,我将不胜感激,我能否让代码显示,如果颜色 = 为蓝色,它将继续在蓝色地板上移动,否则:停止,以及与the red: color = to red 它将继续在红色地板上移动,否则:停止.......非常感谢。
      • 好吧,我从未使用过 hexCodes,但您可以使用 sphere.material.color==Color.Blue 或 Color.Red 来检查颜色
      • 嗯,我检查了颜色,但问题是蓝色很暗,但无论如何谢谢,您对我上面提到的问题有什么想法吗?
      • 嗯,深色可能是因为立方体开始时已经设置了颜色,我认为最好的办法是将材料上的颜色设置为白色,因为有时它们会破裂。检查一下,让我知道。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      相关资源
      最近更新 更多