性能优化(2)静态资源优化——模型

  1. 1. 模型的导入
    1. 1.0.1.  以上主要是DDC模型导出需要注意的,美术人员需要注意的设置
    2. 1.0.2.  下面为导入unity后的设置

模型的导入

  • 尽可能使用fbx格式导入

  • 优化原始导入模型文件。删除不需要的数据
    · 统一单位
    · 导出的网格必须是多边形拓扑,不能是贝塞尔曲线、样条曲线、细分曲面等,Unity不支持
    · 在导出之前确保所有Deformers都烘焙到网格模型上
    · 不建议模型使用的纹理随模型导出
    · 如果需要导入Blend shape normals时,必须指定光滑组Smooth groups
    · 建议导出时不携带如摄像机、灯光、材质等场景信息

  • 原始模型对性能的影响点
    · 最小化面数,不需要微三角形面,三角面尽量分布均匀
    · 合理的拓扑结构与平滑组,尽可能是闭包
    · 尽量少的材质个数
    · 尽可能少的蒙皮网格
    · 尽可能少的骨骼数量
    · FK与IK节点分离,导出时删除IK骨骼节点

 以上主要是DDC模型导出需要注意的,美术人员需要注意的设置

 下面为导入unity后的设置

  • 在导入模型的Model选项卡下,Scene中,这些选项在没有特殊要求时可以不开启:Import BlendShaps、Import Visibility、Import Cameras、Import Lights
  • Mesh Compression选项:
    · 默认为不开启
    · 在保证网格准确的情况下可以采用更激进的压缩方式
    · 可以时网格占用的磁盘空间更小,但运行时占用的内存不会变小
    · 开启后需要真正看一看模型有无问题,一般闭包的模型比开放式模型出现问题的概率更小
  • Read/Write选项
    · 禁用与开启读写选项
    · 启用后会在内存中额外复制一份此网格,一个副本保存在内存中,另外一个会保存在GPU显存中
    · 只有在运行时需要修改网格数据时才开启此选项
    · SkinMesh需要开启此选项来做动画
    · 剩下绝大多数情况需要确保此选项关闭以节省内存
  • Optimize Mesh和Generate Colliders选项
    · 一般保持默认设置,除非需要禁止优化,或者确切得需要做网格体碰撞
    · 启用 Generate Colliders 后,Unity会在您将网格添加到场景中时自动添加一个网格碰撞体,以便物理系统将其视为实体
    · 如果游戏对象正在移动(例如汽车),则无法使用网格碰撞体。必须改用原始碰撞体。此情况下应禁用 Generate Colliders 设置
  • 几何体信息设置(Geometry):
  • Index Format选项
    · 如果确认网格顶点数不超过65535可以使用16位索引
  • 如果确认不使用法线或切线,可以尝试关闭
  • 如果不需要光照烘焙,可以关闭光照贴图的第二套UV生成

  • 另外,在Project Settings —— Player下,Optimization下:
  • Vertex Compression选项:设置每个通道的顶点压缩,可为模型除位置、光照、贴图、UV之外所有内容启动压缩
  • Optimize Mesh Data选项:开启后可根据网格使用的材质删除不需要的数据,如材质中没有使用到的切线、法线、颜色、UV等

  • 无动画的模型需要在导入设置中的Animation标签下的Import Animation选项设置为关闭,并将Materials标签下的Meterial Creation Mode设置为None