【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 }

 

posted @ 2016-10-20 18:53  silent-bobo  阅读(597)  评论(0编辑  收藏  举报