自动寻路NavMeshAgent的使用

来源:互联网 发布:批量查询域名是否备案 编辑:程序博客网 时间:2024/04/30 04:05

本文关键内容转载自http://www.unitymanual.com/home.php?mod=space&uid=24914&do=blog&id=2597

最近在学习Unity4.6.X的开发,按照“Unity3D手机游戏开发”练习"第一人称射击"的游戏。

其中有个敌人寻路组件的使用,怎么用整都跑不起来,报错如下


"XXXX" can only be called on an active agent that has been placed on a NavMesh.

到网上搜,说是烘培的问题,可很多都没有说明怎么用烘培

参考上面的文章后才明白,原来是这样的

------------------------------------------------------------------------------------------------------------------------------------------------------

NavMeshAgent 和Navigation的简单用法就那么几步。

一 :烘培地图和障碍物。  这一步仅仅需要打开Window/Navigation  打开Navigation面板。在Scene Filter那里选择All 
在 Hierarchy 找到并选择需要烘培进寻路的物体。   在Navigation面板把Navigation Static这里打勾。

二: 在Navigation面板的右下角找到名为 Bake的按钮。 注意。它在右下角而不是上边那个。

三:给需要寻路的 “主角”添加NavMeshAgent组件   (选中主角 找到Componet/NavMeshAgent /Nav Mesh Agent)
四:在脚本里使用自动寻路功能。即调用 NavMeshAgent组件的方法。      
实例化一个NavMeshAgent

m_agent = GetComponent<NavMeshAgent>();
m_agent.SetDestination(m_player.m_transform.position);

以上四步就是设置一个自动寻路关于NavMeshAgent和Navigation的所有过程。  

0 0
原创粉丝点击