Unity模型资源导入设置与优化指南
创作时间:
作者:
@小白创作中心
Unity模型资源导入设置与优化指南
引用
CSDN
1.
https://blog.csdn.net/qq_34800671/article/details/143935759
在Unity引擎中,模型资源的导入和优化是游戏开发中的重要环节。本文将详细介绍模型导入的设置和优化方法,帮助开发者提升游戏性能和资源管理效率。
优化的目标
在开始之前,让我们重申模型优化的主要目标:
- 文件体积尽可能小
- 内存占用尽可能小
- 画质够用
DCC中模型要求
在DCC工具中创建模型时,需要注意以下几点:
- 文件格式:Unity支持多种标准和专有模型文件格式(DCC)。建议使用.fbx文件格式,避免使用专有文件格式。
- 模型数据:优化原始导入模型文件,删除不必要的数据,如:
- 统一单位
- 导出的网格必须是多边形拓扑网格,不能是贝塞尔曲线、样条曲线、NURBS、NURMS、细分曲面等
- 烘培Deformers,在导出之前,确保变形体被烘培到网格模型上,如骨骼形变烘培到蒙皮权重上
- 不建议模型使用到的纹理随模型导出
- 如果需要导入blend shape normals,必须指定光滑组smooth groups
- DCC导出面板设置,不建议携带场景信息导出,如摄像机、灯光、材质等信息
Unity模型导入流程
原始模型文件对性能的影响点
- 最小化面数:不要使用微三角形,一定要使用LOD对原始模型进行调整
- 网络拓扑和平滑组:尽量保持闭包
- 材质个数:尽量少使用,避免shader和贴图暴涨
- 蒙皮网格:尽可能少使用
- 骨骼数量:过多的骨骼数量可能导致CPU和GPU瓶颈
- FK与IK节点:IK节点在Unity中不支持导入,导出时应删除
Unity模型的设置面板
Scene面板
- Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子。
- Scale Factor:缩放因子,用于调整模型导入后的大小。
- Convert Units:单位转换,默认为米。
- Import BlendShapes:是否导入BlendShape表情。
- Import Visibility:可见性是否导入。
- Import Cameras:摄像机是否导入。
- Import Lights:灯光信息是否导入。
- Preserve Hierarchy:保留层次结构。
Mesh面板
- Mesh Compression:设置压缩率级别以减小网格的文件大小。
- Read/Write Enabled:启用后,Unity会将Mesh数据保留在CPU可寻址的内存中。
- Optimize Mesh:确定网格中三角形的排列顺序,以提高GPU性能。
- Generate Colliders:启用自动生成网格碰撞器。
Generate面板
- Keep Quads:阻止Unity将具有四个顶点的多边形转换为三角形。
- Weld Vertices:合并在空间上具有相同位置的顶点。
- Index Format:定义网格索引缓冲区的大小。
- Normals:定义是否以及如何计算法线。
- Normals Mode:定义Unity如何计算法线。
- Smoothing Angle:控制是否为硬边分割顶点。
- Tangents:定义应如何导入或计算顶点切线。
- Swap UVs:交换网格中的UV通道。
- Generate Lightmap UVs:为光照贴图创建第二个UV通道。
Rig面板
- Animation Type:有None、Legacy、Generic、Humanoid四个选项。
- None:没有骨骼(静态物件)。
- Legacy:使用旧版动画系统。
- Generic:适用于非类人动物的装备。
- Humanoid:适用于类人动物的装备。
Materials面板
- Material Creation Mode:有None、Standard、Import via MaterialDescription三个选项。
- Location:有Use External Materials和Use Embedded Materials两个选项。
- Extract Textures和Extract Materials:用于导出材质和贴图。
优化思路
- 尽可能合并网格
- 使用共享材质
- 避免使用网格碰撞体
- 合理设置LOD级别
- 控制Skin Weights
- 合理压缩网格
- 关闭不必要的功能
- 禁用法线或切线
- 使用多套模型
进一步优化建议
在处理导入Unity的网格时,应注意以下四点:
- Read/Write Enabled:如果不需要在运行时访问网格,应禁用此选项。
- Vertex Compression:将网格顶点信息的精度从float改为half,以减少内存使用和文件大小。
- Mesh Compression:提供四种压缩设置:Off、Low、Medium、High。
- Optimize Mesh Data:自动删除不必要的顶点数据,但可能会影响动画效果。
此外,还可以通过以下方式进一步优化:
- 如果模型未使用法线、切线、光照等,可以设置为None或取消勾选。
- 勾选Rig中的Optimize Game Objects。
- 对于没有动画的模型,取消勾选Animation中的Import Animation。
- 通过Anim.Compression选择合适的动画压缩策略。
热门推荐
如何分拆团队
读博士如何确定自己的研究方向/课题
独生子女的优势和劣势:一个时代的社会实验
Steam无法登录/无响应/闪屏/蓝屏?五种实用解决方案帮你轻松应对
只要血压没超过这个值,不要频繁吃药,别自己吓自己
日本移民遣返政策
如何利用免费资源进行创业投资
如何提高充电宝的充电功率?(解决充电速度慢的问题,让充电宝充电更高效)
黄金突发跳水!两大利空成重要导火索
C语言中如何使用ASCII码
什么是电动加速模块
黑色丝袜的百变搭档:各类外套的时尚搭配
新手必看:低成本实现全屋智能家居的完整指南
如何关闭手机卡上网功能?三大运营商取消教程
18种常见眼科疾病及症状有哪些
如何正确认识股和债的风险与收益?
如何评估市场价值
全球Deepfake挑战赛:如何提升AI安全与防范风险
真正喜欢你的人,关心的是你的健康和情绪
网签买卖合同操作规范标准
如何使用项目工作表格提高团队协作效率?
中国复合机器人技术发展与应用概述
研究发现年轻人加速衰老,意味患早发癌症风险增加
甲流“特效药”不管用?直击流感中的N个问号
知识丨名字带玉却不是“玉”,为你揭开10种“假宝玉”!
轻丝之韵,探寻古典诗词中的轻盈与细腻
扰民的法律规定及投诉途径
武汉纺织大学成果分享论坛:聚焦特种装备特种防控、功能纺织品等前沿研究
尾盘跳水!海外多方干扰对A股影响有多大?
亚冬会项目知多少|花样滑冰