unity物体随机移动代码
时间: 2023-09-27 08:08:16 浏览: 172
以下是一个简单的Unity 3D物体随机移动的示例代码:
```
public class RandomMovement : MonoBehaviour {
public float speed = 2f; // 移动速度
public float range = 5f; // 移动范围
private Vector3 targetPosition; // 目标位置
void Start () {
// 初始化目标位置
targetPosition = GetRandomPosition();
}
void Update () {
// 计算当前位置到目标位置的距离
float distance = Vector3.Distance(transform.position, targetPosition);
// 如果距离小于0.1则重新获取目标位置
if (distance < 0.1f) {
targetPosition = GetRandomPosition();
}
// 计算移动方向和距离
Vector3 direction = (targetPosition - transform.position).normalized;
float moveDistance = Mathf.Min(speed * Time.deltaTime, distance);
// 移动物体
transform.position += direction * moveDistance;
}
// 获取一个随机位置
Vector3 GetRandomPosition () {
float x = Random.Range(-range, range);
float y = Random.Range(-range, range);
float z = Random.Range(-range, range);
return new Vector3(x, y, z);
}
}
```
将此脚本添加到Unity场景中的物体上,即可让该物体随机移动。可以通过调整`speed`和`range`变量来控制移动速度和范围。
阅读全文