• URP渲染管线场景优化实战 2.2静态资源导入及优化——Model


    2.2 Model导入设置及优化

    2.2.1 Model导入流程

    在这里插入图片描述

    2.2.2 DCC中Model导出设置

    1. 统一单位;
    2. 导出网格为多边形拓扑,不能是贝塞尔曲线、样条曲线、细分曲面等;
    3. 在导出前确保所有的Deformers都烘焙到网格模型上;
    4. 不建议模型使用的纹理随模型导出(导致资源目录难以管理,并且降低导入效率);
    5. 如果需要导入Blend shape normals时,必须指定光滑组Smooth groups;
    6. 导出时不应当携带摄像机、灯光、材质等信息;

    原始模型影响性能点

    • 最小化面数(不应当通过增加面数而表现细节),不需要微三角形面,三角形面尽量分布均匀;
    • 合理的拓扑结构和平滑组,尽可能是闭包;(避免烘焙错误和额外三角形面和顶点的产生)
    • 尽量少的材质个数
    • 尽量少的蒙皮网格
    • 尽可能少的骨骼数量(CPU和GPU双性能瓶颈)
    • 原始模型中的FK与IK节点分离,导出(Unity不支持导入的IK骨骼,做好分离方便导出时删除IK骨骼节点)

    2.2.3 Unity导入设置

    Scene属性中

    一般而言,图中的所有属性都不需要勾选:
    在这里插入图片描述

    Mesh属性中

    • 尽可能的将网格合并到一起(Mesh Compression)
      • 一般制作规范的模型出错的概率更小
      • 一般闭包的模型出错的概率更小
    • 禁用读写选项(Read/Write)。启用后会在内存中额外复制一份此网格,一个副本会保存在内存中,另外一个保存在GPU显存中,只有在运行时需要动态修改网格数据时需要开启此选项,另外SkinMesh也需要开启此选项。
    • 尽量不要使用网格碰撞体。即:保持Optimize Mesh 和 Generate Colliders关闭。

    Geometry属性中

    • Index Format选项,如果顶点数不超过65535,可以使用16位索引;
    • 如果不使用法线或切线信息,可以尝试直接关闭另外的所有选项;
    • 如果不需要光照烘焙,可以关掉第二套光照UV生成;
    • 使用合理的LOD级别;
    • 合理压缩网格;
    • 不需要rigs和BlendSHapes尽量关闭;
    • 如果可能,禁用法线或切线;

    2.2.4 资源检查报告——FBX部分问题解读

    • 检测标准中的500个顶点数过于严苛,可以忽略;
    • 两项建议与模型动画有关,而测试项目中所有模型资源都不涉及动画,
      • 可以将Rig标签下的Animation Type设置为None;
      • 并关闭Animation标签下的Import Animations选项,
      • 设置Materials标签中的Material Creation Mode为None。
    • 开启Project Settings =》Player=》Optimization下的
      • Vertex Compression(对每个通道的顶点压缩,可为模型除位置,光照贴图UV所有内容进行压缩)
      • Optimize Mesh Data选项(可根据网格使用的材质对没有用到的数据进行删除,如材质中没有使用到的切线,法线,颜色,UV等)

    2.2.5 优化成果

    在这里插入图片描述
    将所有的模型转变为上述导入设置后,包体大小减少77MB:
    在这里插入图片描述

    • 运行时模型内存中加载量减小,优化的空间在于运行时CombinedMesh开销的节省。后期运行时模型资源优化才是重点。

    在这里插入图片描述

    在这里插入图片描述
    在上述设置下,内存总体占用减小大约100M,主要优化应该来源于Mesh Compression。
    场景中的模型资源较少大约在50MB左右,但是在内存中占用在300MB左右,因此,运行时模型内存的占用优化才是我们重点考虑的问题。

    链接

  • 相关阅读:
    WSO2 ESB 5.0.0 一些组件的使用教程
    Google Earth Engine —— 隐形错误get获取元素后结果无法筛选(字符串转数字函数)
    2022高压电工操作证考试题库及模拟考试
    Linux--信号量
    Word控件Spire.Doc 【图像形状】教程(6): 如何在 C#、VB.NET 的 Word 文档中插入形状和形状组
    jenkins实践篇(1)——基于分支的自动发布
    【BOOST C++ 19 应用库】(1)Boost.log
    leetcode3. 无重复字符的最长子串 [滑动窗口]
    _001_Zotero入门
    HTTPS安全通信和SSL Pinning
  • 原文地址:https://blog.csdn.net/weixin_42221907/article/details/126898233