您的位置:首页 > 其它

自动寻路NavMeshAgent的使用

2015-08-27 20:37 429 查看
本文关键内容转载自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的所有过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: