【问题标题】:Unity3D frame rate dropped after importing Blender model导入 Blender 模型后 Unity3D 帧率下降
【发布时间】:2016-02-04 05:10:23
【问题描述】:

我正在为 Android 使用 Unity 制作 3D 游戏。在游戏中,屏幕上可能同时出现一个主角和最多大约 10 个对手,所有对手都使用相同的模型(“对手”的预制件仅在一种材料上与其他颜色不同)。

该模型是使用 MakeHumanBlender 设计的。

在 PC 上(因为渲染要快得多)没有问题,但在 Android 设备上测试时,当有 3-4 个或更多物体时,渲染时间会将帧速率降低到 25-30 FPS 左右屏幕,创造一种真正“滞后”的感觉(我预计帧速率约为 60 FPS)。

在导入 Blender 模型之前,我使用了占位符球体并且没有这样的行为。由于这是我第一次使用 Blender 和这样的 3D 模型,我不确定我的模型是否在手机游戏的预期尺寸范围内。我当前的模型包括:5,956 Verts, 10,456 Faces, 10,819 Tris,文件大小约为 6.5 MB(最初由 MakeHuman 生成的更大,但我设法对其进行了压缩和优化,但仍然没有重大影响)。

我尝试了不同的解决方案,包括将模型中的所有网格合并为一个、关闭阴影、使用尽可能少的材料等。所有尝试都没有或非常有限的改进。

欢迎任何想法。干杯!

【问题讨论】:

  • 您模型的分辨率(5,956 Verts,10,456 Faces,10,819 Tris,文件大小约为 6.5 MB)对于 PC 来说似乎还可以,但对于移动平台,您应该瞄准十分之一这个数量(每个角色模型大约 500-600)。如果您的目标是在屏幕上显示更多内容而不仅仅是几个,那么您需要降低(这没关系,因为您的相机也会更远)。
  • 根据您的世界有多大,LOD 可能会有很大帮助。
  • 我的世界比较小,有时候应该会很拥挤。将模型减少到大约 900 个顶点通常可以解决问题(尽管如建议的那样,在屏幕上显示 7-8 个实例会导致一些延迟)。

标签: android unity3d blender makehuman


【解决方案1】:

我当前的模型包括:5,956 个 Verts、10,456 个 Faces、10,819 个 Tris 文件大小约为 6.5 MB

对我来说听起来太过分了。

另外,请记住,如果您正在执行任何此类碰撞计算,则每增加一个复杂度都会花费成倍增加的时间

【讨论】:

    【解决方案2】:

    对于手机游戏,我建议您重新网格化模型(尽管它不是一个很好的工作,但结果比抽取修改器要好得多),而不是从高分辨率模型中为它​​烘焙法线贴图.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      相关资源
      最近更新 更多