时间:2021-05-20
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<NavMeshAgent>(); if (agent && TransHero) { agent.SetDestination(TransHero.transform.position); } }}运行结果:
这样就实现了NavMesh导航网格寻路。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在之前的自己写的NavMesh网格寻路功能的基础上,做了个寻路网格动态自动生成的功能,突破了Unity的自带寻路不能动态生成寻路网格,一定要先break再用的缺
Unity3D怎么显示网格,我们学习Unity3D的时候,教程老师的页面里面的视图窗口有网格,我们怎么漆黑一片,我们怎么显示网格呢软件名称:Unity3DPro
Unity3D自动寻路,供大家参考,具体内容如下1.首先在Unity3D创造中一个正方体,一个圆柱体和一个平面。2.将正方体和平面设为静态(Static前的方格
好多unity3d的爱好者,可以把游戏导出为linux的版本,让unity3d游戏在ubuntu下跑起来...1、打开自己的unity3d游戏项目,File--
Unity3D中shader轮廓描边效果想利用Unity3D中shader这个功能实现描边轮廓边框效果该怎么做呢,相信有很多搞开发的人想知道,为此下面就给大家介