Unity中怎么让敌人移动呢?
时间: 2024-03-05 18:47:46 浏览: 31
在Unity中让敌人移动的方式有很多种,下面是其中一种简单的实现方式:
1. 在场景中创建一个空物体,将其命名为“Enemy”。
2. 将敌人的模型或精灵作为“Enemy”空物体的子物体,并将其放置在“Enemy”的中心位置。
3. 为“Enemy”空物体添加一个刚体组件,勾选“Use Gravity”选项并取消勾选“Is Kinematic”选项。
4. 在“Enemy”空物体上添加一个脚本组件,下面是一个简单的敌人移动脚本示例:
```
using UnityEngine;
public class EnemyMovement : MonoBehaviour {
public float speed = 5f; // 敌人的移动速度
private Vector3 targetPosition; // 敌人要移动到的目标位置
void Start() {
// 在开始时随机生成敌人要移动到的目标位置
targetPosition = new Vector3(Random.Range(-5f, 5f), 0f, Random.Range(-5f, 5f));
}
void FixedUpdate() {
// 计算敌人朝向目标位置的方向向量
Vector3 direction = (targetPosition - transform.position).normalized;
// 将敌人向目标位置移动
GetComponent<Rigidbody>().MovePosition(transform.position + direction * speed * Time.fixedDeltaTime);
// 如果敌人接近目标位置,则重新生成目标位置
if (Vector3.Distance(transform.position, targetPosition) < 0.1f) {
targetPosition = new Vector3(Random.Range(-5f, 5f), 0f, Random.Range(-5f, 5f));
}
}
}
```
5. 将“EnemyMovement”脚本组件添加到“Enemy”空物体上。
6. 运行场景,你会看到敌人在场景中随机移动。
注意:这只是一个简单的敌人移动脚本示例,实际项目中可能需要更加复杂的实现方式。