Unity3D如何实现NavMesh导航网格寻路-创新互联
小编这次要给大家分享的是Unity3D如何实现NavMesh导航网格寻路,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、成都全网营销、网站程序开发、HTML5响应式网站建设、成都手机网站制作、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为房屋鉴定行业客户提供了网站改版服务。NavMesh(导航网格)是3D游戏世界中用于动态物体实现自动寻路的技术。
NavMesh系统是人工智能的一种,它使用一个添加在游戏对象上或者作为游戏对象父物体的名为“导航网格代理”(NavMeshAgent)的组件来控制该游戏对象寻找能够通过的路径,并最终到达目的地。
自动寻路还可以实现绕过障碍、爬上与跳下障碍物、按类别寻找属于自己的道路、动态设置道路中的障碍等技术。
下面用一个简单的Demo来介绍NavMesh的应用:
1.在Scene场景中添加Cube设置场景,如图所示:
2.选择除了主角、目标以及摄像机、直线光以外的所有物体,在Inspector窗口的右上角勾选Static,成为静态物体,并设置成Navigation Static静态类型。
3.在主窗口中选择[Window]→[Navigation],打开Navigation窗口。该窗口用于生成路径寻找所需要的导航网格结构,代理将根据该导航网格进行寻路计算。确保勾选了“Navigation Static”。点击Bake进行烘培。
4.选择需要寻路的游戏对象,为它添加一个NavMeshAgent组件。
5.编写寻路代码,新建一个脚本:
//寻路网格导航 using UnityEngine; using System.Collections; public class DemoNavigation : MonoBehaviour { private NavMeshAgent agent; //导航代理 public Transform TransHero; // Use this for initialization void Start() { agent = this.GetComponent(); if (agent && TransHero) { agent.SetDestination(TransHero.transform.position); } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:Unity3D如何实现NavMesh导航网格寻路-创新互联
转载来源:http://azwzsj.com/article/egsjs.html