【unity3d study ---- 麦子学院】---------- unity3d常用组件及分析 ---------- 控制角色在真实的环境中寻路
结果图:
这个是动画的那个组件
人物身上的组件
剩下的将其他的需要设置成不可走的物体设置成Navigation static状态的
并且使用Navigation面板保存和刷新,并且可以在Scene面板下可以预览可以走的路径
在人物身上挂载脚本
1 using UnityEngine; 2 using System.Collections; 3 4 public class test : MonoBehaviour { 5 6 7 // 当鼠标点击的时候,人物会自动寻路找到最近一条路并且走到点击的位置 8 9 NavMeshAgent agent; 10 11 // Use this for initialization 12 void Start () { 13 agent = GetComponent<NavMeshAgent>(); 14 } 15 16 // Update is called once per frame 17 void Update () { 18 19 if (Input.GetMouseButtonDown(0)){ 20 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 21 RaycastHit hit; 22 if (!Physics.Raycast(ray, out hit)) 23 { 24 return ; 25 } 26 27 Vector3 pos = hit.point; 28 agent.destination = pos; 29 if (agent.pathStatus == NavMeshPathStatus.PathInvalid) 30 { 31 return ; 32 } 33 } 34 35 } 36 }