unity 随机改变物体大小
时间: 2025-01-22 10:04:41 浏览: 55
### 实现随机改变 GameObject 的 Transform Scale
为了实现在 Unity 中使用 C# 脚本随机改变 `GameObject` 的 `Transform.Scale` 属性,可以通过编写一段简单的脚本来完成此功能。这段代码会周期性地更改指定游戏对象的比例。
首先,在项目中创建一个新的 C# 脚本文件并命名为 `RandomScaler.cs` 或其他合适的名字[^3]:
```csharp
using UnityEngine;
using System.Collections;
public class RandomScaler : MonoBehaviour
{
public float minScale = 0.5f; // 设置最小缩放比例
public float maxScale = 2.0f; // 设置最大缩放比例
public float changeInterval = 1.0f; // 更改间隔时间
private void Start()
{
StartCoroutine(ChangeScale());
}
IEnumerator ChangeScale()
{
while (true)
{
yield return new WaitForSeconds(changeInterval);
Vector3 randomScale = new Vector3(
Random.Range(minScale, maxScale),
Random.Range(minScale, maxScale),
Random.Range(minScale, maxScale));
transform.localScale = randomScale;
}
}
}
```
上述代码定义了一个名为 `RandomScaler` 的类继承自 `MonoBehaviour` 并包含了几个公开字段用于配置最小和最大的缩放范围以及每次变化之间的时间延迟。在 `Start()` 方法内启动协程来定期调用 `ChangeScale()` 函数,后者负责生成新的随机尺度并向目标对象应用这些值[^1]。
要使此效果应用于特定的游戏对象,只需将该脚本作为组件附加到相应的 GameObject 上即可。如果希望影响场景中的多个对象,则可以在 Inspector 面板中调整参数或将相同类型的脚本实例分配给不同的实体[^2]。
阅读全文
相关推荐


















