【问题标题】:How to change colors for any object in unity?如何统一更改任何对象的颜色?
【发布时间】:2019-08-01 07:36:13
【问题描述】:

我想为创建的每个对象统一更改 C# 中每个实例的颜色 我不希望使用相同预制件创建的先前对象也仅在创建时更改其颜色 请帮忙

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    假设您实例化一个 GameObject,您可以通过简单地访问渲染和材质来分配(更改)颜色:

    gameObject.GetComponent<Renderer>().material.color = new Color(0, 255, 0);
    

    【讨论】:

    • 颜色值介于 0 和 1 之间(作为浮点数)
    • 感谢大家,我还有更多问题,接下来是仪表板
    【解决方案2】:

    关于这个话题有很多例子。

    但我假设您想实例化具有不同(随机)颜色的对象。

    实例化对象:

      GameObject go = Instantiate(myPrefab, newVector3(x,y,z), Quaternion.identity) as GameObject;
    

    你可以这样改变颜色:

     go.GetComponent <MeshRenderer> ().material.color = newColor (Random.Range (0f, 1f), Random.Range (0f, 1f), Random.Range (0f, 1f), Random.Range (0f, 1f));
    

    不要忘记: 颜色是 0 到 1 而不是 0 到 255。

    【讨论】:

    • 你需要在每个数字后面加上'f',否则你总是会得到零
    猜你喜欢
    • 1970-01-01
    • 2022-11-24
    • 2020-08-30
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多