我在试图寻找人们的意见和经历。只是试图学习。

我最终会实现一个开放世界场景和室内场景,有时会有很多角色在屏幕上显示 - 可能最高估计是同时显示50个角色。

我已经尝试了各种方法,仍然无法决定。希望在继续前进之前先弄清楚。

目前而言,我不是使用SpriteRenderer,而是使用Graphics.DrawMesh来绘制每个角色、建筑物、道路段等的图像,每个角色还会有多个图层(头发、身体、头部等),每个建筑物、道路段等也会有多个图层。目前的方案还算可以,但我担心随着规模的扩大,它可能会变得很耗资源,或者在低端机器上可能会有性能问题。

我曾经计划将开放世界地图分成多个静态图像段,而不是在运行时构建它。由于我会添加碰撞检测,所以所有建筑物都将是不可穿透的,我只需在所有东西上添加建筑物顶部的另一层图像段。这样我只需要使用Graphics.DrawMesh绘制角色图像的各个层。

这样做意味着我只需要绘制角色图像的各个层,而不需要绘制整个场景。当然,这比直接绘制或批处理绘制整个场景要好,但是否还有其他解决方案呢?比如说,如何实现角色穿着的不同层次、身体类型、武器等?