unity实战之关卡模块

简介: unity怎么制作关卡寻路?

最近在做关卡模块,看到一个要求:根据当前关卡位置,点击任意已开放的关卡,主角自动寻路至该处。
关卡配置表如下:
map = {
[1] = { coordinate = { 1, 1, }, link = { 2, 3, }, },
[2] = { coordinate = { 2, 1, }, link = { 1, 3, }, },
[3] = { coordinate = { 3, 2, }, link = { 4, 3, }, },
[4] = { coordinate = { 8, 2, }, link = { 2, 3, }, },
[5] = { coordinate = { 3, 3, }, link = { 2, 3, }, },
[6] = { coordinate = { 5, 3, }, link = { 2, 3, }, },
[7] = { coordinate = { 9, 3, }, link = { 2, 3, }, },
[8] = { coordinate = { 2, 4, }, link = { 2, 3, }, },
}
map的key值代表第几关,coordinate代表对应关卡的坐标位置,{2,1}代表坐标位置为x=2,y=1,link表代表相连的关卡,{2,3}代表与关卡2和关卡3相连。
第一反应就是AStar算法。毕竟自动寻路嘛,那肯定得是A了。上次使用A还是在上次...enen,
还是上学时候,当时也只是学习了该算法的思路伪代码。要说那用到实践里,那就是一个鸡蛋了。
加上这么长时间过去了,只问其名,却已忘记其身,不得不借助www:度娘,我来了~。
首先找一篇通俗易懂的文章,看看算法的思路吧,代码的事后面再说~
先说下我的理解:A*算法主要用于求最短路径。算法的主要思想是
详情可见:推荐一篇大佬的A*算法文章:https://blog.csdn.net/xinzhilinger/article/details/119643810

搞懂了算法的思想后,我们其实是不需要自己写代码的,因为网上已经有很多成功的案例了,我们只需要站在

巨人的肩膀上操作,去使用它。找到一个A*算法的脚本,如下:
怎么去使用它呢?
由于A*算法是在网格上寻路的,因此我们需要先创建地图网格,使用Star.New(),看Astar算法发现,需要的参数是String

该网格是由网格的长宽,以及每个位置的信息(是否能通过,1代表可通过0代表不可通过)构成的,类似于这样:
image.png

image.png

image.png
image.png
image.png

image.png

image.png

相关文章
|
图形学
unity实战之弹幕功能
使用unity也可以实现追剧弹幕效果
|
5月前
|
C# 图形学
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
【Unity 3D】元宇宙案例之虚拟地球信息射线实战(附源码、演示视频和步骤 超详细)
56 0
|
5月前
|
vr&ar C# 图形学
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机拆装后零件说明功能案例实战(附源码和演示视频 超详细)
41 0
|
5月前
|
vr&ar 图形学
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
61 0
|
5月前
|
图形学
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
187 0
|
5月前
|
C# 图形学
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
192 1
|
5月前
|
数据可视化 C# 图形学
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
【Unity 3D】图形界面GUI的讲解及在C#中实现用户登录界面的实战(附源码)
76 0
|
9月前
|
图形学
【Unity实战系列】如何把你的二次元老婆/老公导入Unity进行二创并且进行二次元渲染?(附模型网站分享)
【Unity实战系列】如何把你的二次元老婆/老公导入Unity进行二创并且进行二次元渲染?(附模型网站分享)
369 0
|
9月前
|
持续交付 图形学 开发者
【Unity实战系列】Unity的下载安装以及汉化教程
【Unity实战系列】Unity的下载安装以及汉化教程
216 0
|
9月前
|
数据采集 算法 数据可视化
Unity实现camera数据注入RMP推送或轻量级RTSP服务模块
Unity实现camera数据注入RMP推送或轻量级RTSP服务模块