先创建一个场景,立方体为障碍物,胶囊为玩家。

然后创建NavMesh,选择plane和立方体,并在导航窗口的对象选项卡上选择导航静态。

然后去转到烘焙选项卡,点击烘焙按钮:

在场景中看的样子如下图:

然后将Nav Mesh Agent组件添加到胶囊体中

创建一个简单的脚本,以便我们可以移动胶囊体

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.AI;
 5 
 6 public class GameController : MonoBehaviour {
 7 
 8         //用鼠标控制移动
 9         if(Input.GetMouseButtonDown(0))
10         {
11             var mpos = Input.mousePosition;
12             mpos.z = 1000;
13             var ray = Camera.main.ScreenPointToRay(mpos);
14             RaycastHit hit;
15             if(Physics.Raycast(ray,out hit))
16             {
17                 GetComponent<NavMeshAgent>().destination = hit.point;
18             }
19         }
20     }
21 
22 }

然后将脚本附加到胶囊体中。

进行播放,我们只是检查鼠标左键是否按下此框。 如果是这样,通过屏幕将光线投射到鼠标的位置。 如果它碰到任何东西,指导玩家移动到那一点。 所以现在我们可以点击左键移动player。 

posted on 2017-10-17 21:44  非洲酋长  阅读(1092)  评论(0编辑  收藏  举报