【发布时间】:2019-08-01 07:36:13
【问题描述】:
我想为创建的每个对象统一更改 C# 中每个实例的颜色 我不希望使用相同预制件创建的先前对象也仅在创建时更改其颜色 请帮忙
【问题讨论】:
我想为创建的每个对象统一更改 C# 中每个实例的颜色 我不希望使用相同预制件创建的先前对象也仅在创建时更改其颜色 请帮忙
【问题讨论】:
假设您实例化一个 GameObject,您可以通过简单地访问渲染和材质来分配(更改)颜色:
gameObject.GetComponent<Renderer>().material.color = new Color(0, 255, 0);
【讨论】:
关于这个话题有很多例子。
但我假设您想实例化具有不同(随机)颜色的对象。
实例化对象:
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。
【讨论】: