下载 App

异星虫生——地图系统

2025/11/0653 浏览综合
介绍下我们游戏地图系统的开发,我们虽然用的是Unity引擎,但在做这套系统时其实参考了一些UE的概念。
我们的地图和星露谷物语类似,是由几个小的关卡拼成的一个大地图
玩家可以在关卡之内走动,当走到关卡与关卡之间的连接点时,就传送到下一个关卡。
为了实现这个需求,实现了一个简易的地图管理系统(p1~2):
最上层是MapManager,它负责管理地图的所有关卡,以及部分动态物件(npc,交互物,床等等),关卡之间的传送
中间层是关卡(Level),关卡需要管理下面动态物件的生成,灯光的切换等(p4)
关卡与关卡之间通过连接件(LevelConnector)连接,连接件主要由三部分构成:Owner(属于哪个关卡),NextLevelConnector(传送的目标连接器),Collider(决定了传送的范围)
最底层就是前面提到的,地图的各种物件,分为静态物件和动态物件,动态物件主要包括:
各种Npc,各类可交互组件,以及一些特殊的Actor,他们都继承自同一个基类ActorBase
p.s.
1.为什么不每个关卡用一个Scene?因为我们的关卡内容不多,都放到一个Scene里也不会内存爆炸,Scene不够轻量化,在关卡与关卡之间频繁切换时不会那么丝滑,且配置起来并不直观,所以这里借鉴了UE的地图设计,将Scene当成WorldMap,下面的关卡则是各个levelinstance,共同组成完整的游戏地图。
理论上来说,这个结构做大世界无缝切换也是可行的,只需要流式加载Level即可,这时Level就相当于UE世界分区里的Streaming Cell了,如果想要按网格分块加载,则需要将Level进一步拆分成一个一个格子
2.我们的地图本来更加复杂(p3),但是因为产能问题最终只留下了四个,有点遗憾但内容量也够了
3.玩家出生点也是一个LevelConnector,所以LevelDesigner可以很方便的调整玩家出生的位置,总之,所有跟传送相关的业务都可以通过这个组件完成
猜你想搜
异星虫生 地图系统
03:01
从夯到拉锐评异星虫生全体NPC截图
从夯到拉锐评异星虫生全体NPC
纯主观评价,友好讨论交流
8 赞
1 回复
01:25
寄生人类,伪装身份,学习语言‼️细思极恐‼️文字剧情+潜行收集截图
寄生人类,伪装身份,学习语言‼️细思极恐‼️文字剧情+潜行收集
飞船坠落,寄生人类皮囊,你能顺利找回零件重返太空吗? ——谨慎行事‼️探员盯着你呢… 共🈶6个结局。 游戏名称 #异星虫生 #聚光灯 #聚光灯gamejam #聚光灯gamejam全民试玩 #TapTap聚光灯 #TapTap聚光灯独立游戏 #聚光灯游戏创作挑战 #宝藏游戏安利 #游戏种草 #发现好游戏 #策略 #策略游戏 #国产游戏 #国产独立游戏 #剧情 #剧情游戏 #文字游戏 #收集 #探
8 赞
8 回复
开发者日志3-美术展示截图
开发者日志3-美术展示
大家好,这里是海豹团![表情_猫咪举手] 比赛时间已经过半了!程序框架基本完成,美术这里也有很大进展。[心动小镇_点赞] 这次主要展示一下游戏内美术部分,首先是角色的一些设定图。 左边第一位是女主,设定为从其他城镇搬到小镇上独居生活的学生,不慎遭遇意外被虫虫附体。 第二位是主角的好友,在游戏中有一定的戏份! 右边两位设定需要调整,待定中。 接下来是主角可爱的像素图分享!萌萌哒的蟑螂小妹! 下面是目
官方
13 赞
10 回复
开发者日志4-对话UI介绍截图
开发者日志4-对话UI介绍
好几天没有更新日志了。 一直忙于文案工作,好在文案工作已经完成90%了。 可以有点时间快速更新一波日志。 这一次展示一下游戏内非常重要的对话UI。 前倾提要: 剧情大致为主角是被外星虫虫控制了,玩家扮演外星虫虫隐瞒身份混入人类社会中不被发现。 所以在对话中设计了翻译等级和怀疑值 翻译等级 抽象的理解为虫虫对人类语言的理解程度,等级越高越能听懂人类的语言。 怀疑值 各个角色对主角的怀疑值,当主角说错
官方
5 赞
4 回复
开发者日志-结局提示截图
开发者日志-结局提示
为了让玩家打出更多结局,特此写一点结局条件提示,喜欢自己摸索的玩家可以关闭此贴。 结局1,2,4偏通常结局,3,5,6算特殊结局。 打出特殊结局的玩家也可在评论区多多晒出自己的结局哦~ 下面就是提示了: 结局1.未收集齐零件,通过最后探员的测试 结局2.任何时候暴露自己身份 结局3.收集齐零件,并通过最后探员的测试 结局4.攻击探员试试? 结局5.有没有在小镇中发现非人类?尝试升满其怀疑值... 结
投票官方
5 赞
1 回复