NavMesh(导航网格) 是3D游戏世界中主动寻路的一种技术,如果你想让游戏人物能自动绕开障碍物到达目的地.那你就来学习下
Navigation导航技术吧O(∩_∩)O~
首先你需要把地形烘焙成导航网格: (蓝色区域说明可走的)
1.选中物体设置成static静态的
2.菜单栏Window->Navigation打开网格烘焙窗口,在Hierarchy视图中选中你需要烘焙的网格点击Bake即可
我们需要创建一个游戏物体来控制他在地图上根据鼠标点击来回走动,创建一个球体并且添加NavMeshAgent组件
再写一个MyMove的脚本挂到球物体身上:
using UnityEngine; using System.Collections; public class MyMove : MonoBehaviour { private NavMeshAgent aget; void Awake() { aget = GetComponent<NavMeshAgent>() } public void Update() { if(Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 1000)) { aget.destination = hit.point; } } } }
效果图如下:
时间: 2024-10-05 23:29:53