你好!我正在 Unity 中规划一个 RTS 游戏,并试图找到最优化的建筑流程。游戏中会有很多建筑,但它们主要是视觉效果,玩家不能进入它们。从我了解的来看,绘制调用受 mesh/material 结合影响,所以一个物体中有太多材料并不是理想的。目前我在考虑两个方法:
- 使用 Unity 中的模块化零件(墙、门、窗等)来建造结构,并从中创建预设。这样一个建筑预设可能包含 20 个 mesh,每个 mesh 使用 1-2 个材料。
- 使用同样的模块化零件在 Blender 中组合成一个单独的 mesh,然后导出为一个物体。组合后的 mesh 大概会使用 5 个材料。
我经常看到有人在引擎中模块化环境,但我认为这主要适用于 FPS/TPS 游戏,因为它提供了灵活性、迭代速度和环境尺度。然而,在我的情况下,因为这是一个 RTS 游戏,建筑通常占据相对较小的屏幕空间,所以纹理分辨率和近距离细节并不重要。
我的问题是:第一个方法会导致与第二个方法(约 5 次绘制调用)相比显著更多的绘制调用(20-40+),而这会在实践中对 RTS 游戏产生影响吗?我认为有更多重要的因素需要考虑(剔除、批处理、实例化、内存使用等),所以我很想知道这种类型的游戏中一般使用的方法是什么。
评论 (0)