Unity 导航寻路-Off-MeshLink

举报
陈言必行 发表于 2021/08/13 23:22:56 2021/08/13
【摘要】 在3D游戏中,,,场景中的静态几何的导航网格不是全部相连在一起的,从而使代理不能从世界场景的这一部分移动到另外的部分,此时需要运用Off-MeshLink来解决此类问题 Off-MeshLink : 分离网格链接组件 该组件用于手动指定路径线路,可以实现跨越鸿沟或者往高跳跃的效果, 下面就举一个往高跳的例子,, 搭建如图所示的游...
在3D游戏中,,,场景中的静态几何的导航网格不是全部相连在一起的,从而使代理不能从世界场景的这一部分移动到另外的部分,此时需要运用Off-MeshLink来解决此类问题
Off-MeshLink : 分离网格链接组件
该组件用于手动指定路径线路,可以实现跨越鸿沟或者往高跳跃的效果,

下面就举一个往高跳的例子,,
搭建如图所示的游戏场景(我们将实现从主角(胶囊体),下面的立方体(黄色)跳跃到上面的立方体上(白色)

然后开始使用Off-MeshLink 将除了主角(胶囊体)外的物体都选中,然后在Navigation面板下勾选如图:

然后为开始点(黄色立方体)添加组件OffMeshLink:并为Start , End 属性赋值,如下图:

最后为主角(胶囊体):添加组件属性基本不用修改,再加上一个代码就可以实现跳跃功能了:

代码如下:

   
  1. using UnityEngine;
  2. using UnityEngine.AI; //注意命名空间的引用
  3. public class offmesh : MonoBehaviour {
  4. NavMeshAgent agent;
  5. GameObject go;
  6. // Use this for initialization
  7. void Start () {
  8. agent = GetComponent<NavMeshAgent>();
  9. go = GameObject.Find("endpoint");
  10. }
  11. // Update is called once per frame
  12. void Update () {
  13. agent.SetDestination(go.transform.position);
  14. }
  15. }


文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/77618665

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。