跳舞的线场景/地图 如何切割用于动态加载

如题,如果要实现一个像跳舞的线这样的游戏,它的每个关卡/游戏场景,都是一个比较大的地图。

如果整个地图放在场景中加载,性能是不是吃不消?
如果我们要切割场景,动态加载,那么它是怎么切割的,用creator3d应该如何实现。

PS:因为我在用creator2d做的一个三消游戏,想实现一个3d关卡布局,关卡可能会有上千关。场景肯定要做切割,动态加载,但是我一直用的2d,对3d不熟,在这里请教大神。

跳舞的线TapTap链接。
https://www.taptap.com/app/31429

@panda @jare

关卡数量多的话,建议自己实现一个简单的地图编辑器,不用场景或者prefab,数据量会小一点,这样你可以根据移动位置来自由加载和回收 场景里的对象。

我的想法也基本是这样,不过可以基于 prefab,创建一些典型地形的 prefab,动态组合,根据玩家位置初始化相邻的地形块,地形块用对象池循环使用

谢谢,我同意panda说的,预制件就可以了,自己做地图编辑器感觉压力山大。编辑器的场景和prefab,其实就是一个配置文件,相对于纹理来说,所占内存还是可以忽略的,我觉得主要是避免加载看不见的模型。

谢谢大佬

如果不想加载和初始化被拖慢,其实还是需要自己有一个配置文件来保存场景中的地块信息的,或者通过随机生成算法生成关卡。如果编辑在场景中,那么加载的时候就会去加载所有的依赖。而 @whitesheep 说的就是这样一个关卡编辑器,可以通过类似 Tiledmap 之类的工具来模拟,也可以尝试通过 PSD 之类的方式导出,核心就是方便策划能够生产这个关卡地块信息。

还有一个问题,3d模型是连续的,比如一座山脉,一条河流,分成不同地块加载的话,如何做切割?是建模工具实现的吗?

嗯,这个明白,就是我们切割成不同的prefab之后,如何组装起来,这个是可以借用tilemap来做。

连续的无法切割,但是可以分层,分成地块层和景物层,景物是独立完整的模型,同样通过位置信息就可以动态加载和摆放。这样地块层的复用也可以更充分

多谢指点,大体方向明白了,实践后再来分享成果:grin:

1赞

我记下了,一定要分享哦

:ok_hand:

也不是非得开发一个编辑器,一般我是先做个prefab,然后根据prefab的数据 提取关键配置信息,最后再游戏里还原,实际游戏里不会用到这个prefab。

这样做主要是回收起来方便。不过制作关卡的时候多一步转换的过程。
关卡数量少可以用写个editor脚本 (用ccclass的executeInEditMode装饰), 可以把整个prefab需要的关键信息打印出来。多一点就写插件拓展,或者写外部脚本去读取prefab内的数据了。

1赞

panda大佬,我的初步版本出来了,不过不是来分享,是又碰到麻烦了,又来请教了!请点进上面的链接

我目前做的场景切割相对简单,就是所有关卡都做成z长度为2000的prefab,然后动态拼接,摄像头固定在原点,当屏幕y方向有滑动时,关卡节点在z方向上移动,这里动态资源释放和加载还没做。