unity如何通过脚本创建100灯光,并且让这些灯光拥有随机的颜色(除了黑色以外)
时间: 2024-01-26 14:03:04 浏览: 118
可以通过以下代码创建100个灯光,并且让这些灯光拥有随机的颜色(除了黑色以外):
```c#
using UnityEngine;
public class LightCreator : MonoBehaviour
{
// 光源类型
public LightType type;
// 光照范围
public float range;
// 光源强度
public float intensity;
// 灯光数量
public int lightCount;
void Start()
{
// 创建100个灯光
for (int i = 0; i < lightCount; i++)
{
// 创建灯光 GameObject
GameObject lightGameObject = new GameObject("New Light " + i);
// 添加 Light 组件
Light lightComponent = lightGameObject.AddComponent<Light>();
// 设置灯光属性
lightComponent.type = type;
lightComponent.range = range;
lightComponent.intensity = intensity;
// 随机生成颜色(除了黑色以外)
Color randomColor = Color.black;
while (randomColor == Color.black)
{
randomColor = new Color(Random.value, Random.value, Random.value);
}
lightComponent.color = randomColor;
}
}
}
```
在脚本中,可以设置灯光的类型、范围和强度等属性,并且通过循环创建多个灯光 GameObject。在每个灯光的创建过程中,可以随机生成颜色,并且将颜色赋值给灯光的 `color` 属性。但是需要注意的是,黑色(Color.black)是不可见的颜色,因此需要排除黑色。可以使用 while 循环来随机生成颜色,直到生成的颜色不是黑色为止。这样即可让这些灯光拥有随机的颜色(除了黑色以外)。
阅读全文