Unity之实现最短路径自动寻路功能
创作时间:
作者:
@小白创作中心
Unity之实现最短路径自动寻路功能
引用
CSDN
1.
https://blog.csdn.net/qq_62675453/article/details/137753453
在Unity开发中,实现自动寻路功能是游戏开发中的一个重要环节。本文将通过一个简单的项目实例,详细介绍如何使用Unity自带的NavMesh系统来实现物体的自动寻路功能。
- 创建一个新的Unity项目,并创建一个平面Plane。
- 创建三种立方体Cube,我们这里用颜色将它们区分开,设红色方块为障碍、蓝色方块为终点,绿色方块为起点。我们的目的就是通过NavMesh系统让起点方块能绕过障碍方块,自动寻路到终点方块。方块设置后如下,可以多添加一些障碍方块让寻路变得复杂一些,三种方块都需要添加Box Collider组件,使得它们能互相碰撞。
- 在左上角菜单栏选择“Window”->"AI"->"Navigition"打开Navigition面板,并选中“所有障碍方块+地面+终点方块”,点击Navigition面板上的“Object”,把Navigation Static勾选上。
(1)Navigition面板
(2)勾选Navigation Static
继续点击Navigition面板上的“Bake”点击“Bake”,生成导航网格。
(1) Navigition面板上的“Bake”
(2)点击"Bake"
此时平面上所有蓝色的区域都是寻路对象的可行走区域,我们的起点方块需要计算出自己与终点方块的最短距离,移动并接触它。
- 点击起点方块,给它添加一个“Nav Mesh Agent”组件,并添加我们的自动寻路脚本(这里取名为follow),脚本代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class follow : MonoBehaviour
{
public NavMeshAgent nav;
public Transform target;
private void Update()
{
this.nav.SetDestination(this.target.position);
}
}
思路非常简单,定义了一个NavMeshAgent变量nav和Transform变量target,然后在Update方法里调用SetDestination方法要nav去寻找target的位置position。
我们把以上脚本挂载给起点方块,把起点方块的“Nav Mesh Agent”组件作为nav变量,终点方块作为target变量,再运行程序,就可以发现我们的起点方块可以绕过我们设置好的障碍,以最短路径去接触终点方块了。
(1)添加”Nav Mesh Agent”组件
(2)给起点方块“Start Cube”挂载脚本
(3)将”Nav Mesh Agent”组件赋给变量Nav,终点方块“End Cube”赋给变量target
- 运行效果
以上,我们就成功运用NavMesh系统构建了Unity中物体的自动寻路功能。
热门推荐
全球足球主要赛事一览
买房必看!教你如何正确缴纳契税,别多花冤枉钱!
买房契税缴纳须知及相关规定
白水晶代表什么?了解白水晶的寓意和功效
如何选纹绣团队
什么是纹绣?深入解析专业的纹绣技术与应用
深观察丨地区冲突延宕 中东国家如何“破局”?
关羽和张辽,战力谁更强?正史上,关羽和张辽压根不是一个级别
河北邢台6道特色美食,外地人很少吃全,本地人也未必全知道
小米手机检测到高风险应用已禁止安装怎么关闭?一文详解四种解决方案
如何应对加息带来的市场变化?这种市场变化有哪些应对策略?
写完作业,抓住寒假的尾巴,上海这些地方可以带娃出门放松一下
农村自建房安装充电桩:条件、费用与注意事项全攻略
如何通过串流将《Pico 4》连接到电脑,畅享VR游戏体验!
糖尿病患者可以吃铁棍山药吗?科学食用指南来了
电热水壶除垢妙招:白醋加橘皮,轻松去除顽固水垢
第17个世界孤独症关注日 | 普特融合,如何从学校到社会?
佰师网:公务员面试,考生如何脱颖而出
争夺人才/AI科学家许主洪加盟阿里 出任副总裁
办公电脑选购指南:处理器、内存、存储,一篇文章全搞懂!
一文带你搞懂什么是生成式人工智能(GenAI)
秋天脾胃病用这个方子,散寒比附子理中丸好,祛湿比参苓白术散好
脚骨骨折多久正常走路?快来瞧一瞧
电动机启动特性详解:从原理到电动汽车应用
专家观点|文旅营销的10种方式
暖气片管道设计全攻略:从原理到实践的供热优化指南
投资自己,从脖子以上开始 —— 让智慧成为最值钱的资产
一块锂电池的逐“绿”之旅
FANUC机器人自动标定完整指南
王菲《世界赠予我的》引发争议:是意境悠远还是“口水话”?