提示:这里可以添加技术概要
本文功能是制作一个简单的自动巡逻的NPC,随机自动寻路。
using UnityEngine;
public class NPCController : MonoBehaviour
{
public float moveSpeed = 5.0f; // NPC移动速度
public float rotationSpeed = 120.0f; // NPC旋转速度
public float raycastDistance = 2.0f; // 射线检测距离
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
// NPC前进
Vector3 forward = transform.TransformDirection(Vector3.forward);
rb.velocity = forward * moveSpeed;
// 射线检测前方是否有障碍物
if (Physics.Raycast(transform.position, transform.forward, raycastDistance))
{
// 随机旋转方向
float randomRotation = Random.Range(0, 4) * 90; // 随机旋转角度(0、90、180、270度)
transform.eulerAngles = new Vector3(0, randomRotation, 0);
}
}
}
注意代码要挂载在NPC身上,并且确定要挂载Rigidbody 组件 可以把组件的旋转X和z关掉就只有前后和左右旋转了。
后期功能可以自己扩展,功能简单但是实用。