3D无尽跑酷关卡生成器:关卡段生成位置异常问题求助
3D无尽跑酷关卡段生成位置异常问题
问题场景与代码
关卡生成器代码

关卡生成方式及位置展示

问题描述
我正在为3D无尽跑酷游戏实例化作为关卡的segment(关卡段),目前关卡段可成功生成,但生成位置不符合预期,例如有时会生成在游戏区域上方,我希望它们能彼此相邻生成。
我创建了一个协程来生成存储在数组中的关卡段,每2秒实例化一次,不确定问题是否源于各关卡段尺寸不一致...
排查与解决思路
- 统一关卡段的生成基准点:如果各segment尺寸不一致,给每个segment的根节点添加一个空物体,标记为「下一段生成位置」,实例化下一段时直接将其位置设为这个标记点的世界坐标,确保段与段精准衔接。
- 基于上一段末端计算生成位置:不要用固定偏移量累加位置,而是记录上一个生成的segment实例,获取其实际末端的Transform坐标,以此作为下一段的生成起点。
- 替换固定时间生成逻辑:每2秒生成的逻辑容易和玩家移动速度不匹配导致错位,改成基于玩家与当前最后一段末端的距离触发生成,比如当玩家距离末端还有预设距离时就生成下一段。
- 校验生成轴向:确认跑酷的前进轴向(比如Z轴或X轴),避免错误使用Y轴计算偏移,导致关卡段生成到游戏区域上方。
内容的提问来源于stack exchange,提问作者1neWrld
相关产品推荐
相关产品推荐

