Unity NavMeshAgent 之 快速实现点击任意点寻路

 时间:2024-10-19 10:27:13

UnityNavMeshAgent之快速实现点击任意点寻路。导航在Un坡纠课柩ity游戏开发中很常用,Unity自带N锾攒揉敫avMeshAgent,轻松实现角色导航,本节介绍如何快速建立一个实现点击任意点,角色自动寻路的导航操作,具体如下

工具/原料

Unity

NavMeshAgent

NavMeshAgent之快速实现点击任意点自动导航寻路

1、打开Unity,新建一个空工程,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

2、在场景中新建一个“Cube”和“Plane”,并且调整好相机视角,便于观察,然后设置“Plane”为静态“Static”,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

3、选中“Plane”,勾袖稣拗然后通过“Window”-“Navigation”,打开“Navigation”窗口,在“Navigation”里选中“Bake”面板,点击右下角进行“B锾攒揉敫ake”烘焙,如果没有保存场景,会提示保存,烘焙完之后,“Plane”上会有蓝色图块,工程里面会多一个文件夹保存烘焙结果,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

Unity NavMeshAgent 之 快速实现点击任意点寻路

4、选中“Cube”,添加一个“NavMeshAgent”组件,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

5、在工程中新建一个脚本“NavTest”,然后打开进行脚本编辑,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

6、在打开的“NavTest”脚本上编辑代码,首先设置“NavMeshAgent”导航代理变量,然后获得“Cube”上的导航代理赋给变量,最后在Update中,实时获取鼠标的点击,来设置导航代理的寻路目标,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

7、“NavTest”脚本具体蜣贺鱿柢代码如下:usingUnityEngine;usingUnityEngine.AI;publicclassNavTest:Mono蚱澄堆别Behaviour{privateNavMeshAgentagent; //Usethisforinitialization voidStart(){agent=GetComponent<NavMeshAgent>(); } //Updateiscalledonceperframe voidUpdate(){RaycastHithitInfo;if(Input.GetMouseButtonDown(0)){Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);if(Physics.Raycast(ray,outhitInfo)){agent.SetDestination(hitInfo.point);}} }}

8、脚本编译正确后,回到Unity界面,把脚本“NavTest”赋给“Cube”,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

9、运行场景,鼠标点击“Plane”任意一点,“Cube”都会自动导航寻路过去,具体如下图

Unity NavMeshAgent 之 快速实现点击任意点寻路

10、到此,《UnityNavMeshAgent之快速实现点击任意点寻路》讲解结束,谢谢

无烬星河攻略 证券公司如何合规开展营销工作 小恩爱APP怎么绑定QQ号 党员教师被打怎么办 用制图软件绘制大熊猫的简笔画(三)
热门搜索
内衣美女图片 水痘早期图片大全 50元人民币图片 夜来香花图片 囚禁少女