文章目录
- 概要
- 功能展示
- 技术细节
- 小结
概要
提示:这里可以添加技术概要
本文功能是制作一个简单的自动巡逻的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关掉就只有前后和左右旋转了。
小结
后期功能可以自己扩展,功能简单但是实用。