概要
提示:这里可以添加技术概要
本文功能是制作一个简单的自动巡逻的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关掉就只有前后和左右旋转了。
文章来源:https://www.toymoban.com/news/detail-794442.html
小结
后期功能可以自己扩展,功能简单但是实用。文章来源地址https://www.toymoban.com/news/detail-794442.html
到了这里,关于Unity丨自动巡航丨自动寻路丨NPC丨的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!