我正在为 Android 制作 Unity 的3D游戏。在游戏中有一个主角,同时可能在屏幕上有大约10个对手,都使用相同的模型(“对手”的预制件仅在一种材料中与其他颜色不同)。
该模型是使用 MakeHuman 和 Blender 设计的。
在PC上(因为渲染速度快得多)没有问题,但在Android设备上进行测试时,渲染时间将帧速率降低到大约25-30 FPS,当有3-4个或更多的主体时屏幕,创造一种真正“迟滞”的感觉(我期待帧速率约为60 FPS)。
在导入Blender模型之前,我使用了占位符球体,并且没有这样的行为。由于这是我第一次使用Blender和这样的3D模型,我不确定我的模型是否在移动游戏的预期尺寸范围内。我目前的模型包括: 5,956 Verts,10,456 Faces,10,819 Tris,文件大小约为6.5 MB (MakeHuman最初生成的更大,但我设法压缩它并显着优化它,但仍然没有重大影响。)
我尝试了不同的解决方案,包括将模型中的所有网格合并为一个,关闭阴影,使用尽可能少的材料等。所有尝试都没有或只有非常有限的改进。
欢迎任何想法。干杯!
答案 0 :(得分:1)
我目前的模特包括:5,956个Verts,10,456个面孔,10,819个Tris 文件大小约为6.5 MB
听起来对我来说太过分了。
另外,请记住,如果您正在进行任何此类碰撞计算,那么每个额外的复杂性都需要花费更多的时间
答案 1 :(得分:1)
对于手机游戏我建议你重新模仿该模型(尽管它不是一个不错的工作,但结果比例如decimate-modifyer要好得多)而不是从高分辨率模型中为它烘焙normalmap 。