首页 > 其他分享 > (五)Unity性能优化-Animation导入设置检查与优化

(五)Unity性能优化-Animation导入设置检查与优化

时间:2023-09-22 20:13:25浏览次数:32  
标签:动画 Generic 曲线 导入 Unity Animation 动画文件 优化

原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_Optimization

Rig标签页

Animation Type

None 无动画
Legacy 旧版动画,不要用
Generic 通用骨骼框架
Humanoid 人形骨骼框架
选择原则:

无动画选择None
非人形动画选择Generic
人形动画
人形动画需要Kinematices或Animation Retargeting功能,或者没有有自定义骨骼对象时选择Humanoid Rig
其他都选择Generic Rig,在骨骼数差不多的情况下,Generic Rig会比Humanoid Rig省30%甚至更多的CPU的时间。
Skin Weights

​ 默认4根骨头,但对于一些不重要的动画对象可以减少到1根,节省计算量

Optimize Bones

​ 建议开启,在导入时自动剔除没有蒙皮顶点的骨骼

Optimize Game Objects

​ 在Avatar和Animatior组件中删除导入游戏角色对象的变换层级结构,而使用Unity动画内部结构骨骼,消减骨骼transform带来的性能开销。可以提高角色动画性能, 但有些情况下会造成角色动画错误,这个选项可以尝试开启但要看表现效果而定。注意如果你的角色是可以换装的,在导入时不要开启此选项,但在换装后在运行时在代码中通过调用AnimatorUtility.OptimizeTransformHierarchy接口仍然可以达到此选项效果。

Animation标签页

Resmple Curves

​ 将动画曲线重新采样为四元数数值,并为动画每帧生成一个新的四元数关键帧,仅当导入动画文件包含尤拉曲线时才会显示此选项

Anim.Compression

Off 不压缩,质量最高,内存消耗最大
Keyframe Reduction 减少冗余关键帧,减小动画文件大小和内存大小。
Keyframe Reduction and Compression 减小关键帧的同时对关键帧存储数据进行压缩,只影响文件大小。
Optimal,仅适用于Generic与Humanoide动画类型,Unity决定如何进行压缩。
Animation Custom Properties

​ 导入用户自定义属性,一般对应DCC工具中的extraUserProperties字段中定义的数据

动画曲线数据信息

Curves Pos: 位置曲线
Quaternion: 四元数曲线 Resample Curves开启会有
Euler: 尤拉曲线
Scale: 缩放曲线
Muscles: 肌肉曲线,Humanoid类型下会有
Generic: 一般属性动画曲线,如颜色,材质等
**PPtr:**精灵动画曲线,一般2D系统下会有
**Curves Total: **曲线总数
Constant: 优化为常数的曲线
Dense: 使用了密集数据(线性插值后的离散值)存储
Stream: 使用了流式数据(插值的时间和切线数据)存储
动画文件导入设置优化后信息查看原则
1.一看效果差异(与原始制作动画差异是否明显)
2.二看曲线数量(总曲线数量与各种曲线数显,常量曲线比重大更好)
3.三看动画文件大小(以移动平台为例,动画文件在小几百k或更少为合理,查过1M以上的动画文件考虑是否进行了合理优化)

标签:动画,Generic,曲线,导入,Unity,Animation,动画文件,优化
From: https://www.cnblogs.com/zerobeyond/p/17723247.html

相关文章

  • openGauss学习笔记-77 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT特性及
    openGauss学习笔记-77openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT特性及价值本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的特性及价值。77MOT特性及价值MOT在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)以及高资源利用率(某些程度上节约成本)方面......
  • 什么是Rider?Unity搭配Rider
    用Rider编写C#代码让我十分愉悦。我还从未见过这么有用的代码重构工具-从不令人失望。当你依靠它的时候,它真的非常令人惊喜。——JoachimAnte(Unity首席技术官兼创始人)参考1:https://www.jetbrains.com.cn/lp/dotnet-unity/参考2:https://blog.csdn.net/themagickeyjianan/......
  • (五)Unity性能优化-Texture导入设置检查与优化
    TextureShape-2D最常用的2D纹理,默认选项-Cube一般用于天空和与反射探针,默认支持Default、Normal、SingleChannel几种类型纹理,可以通过Assets>Create>Legacy>Cubemap生成,也可以通过C#代码Camera.RenderToCubemap在脚本中生成-2DArray2D纹理数组,可以极大提高大......
  • 支付宝小程序排名优化策略,产品经理们看过来
    随着移动支付的普及,支付宝小程序已成为连接用户与商户的重要平台。如何进行支付宝小程序排名优化,使更多用户可以搜索到小程序,对商家来说是非常关键的。下面本文将全面解析支付宝小程序排名优化的重要性、算法原理、以及具体的操作策略。更多支付宝小程序排名优化需求,可某薇找我......
  • 前端性能优化必杀技:骨架屏让你快人一步
    在现代前端开发中,用户体验和性能优化一直是小伙伴们追求的目标之一。骨架屏(SkeletonScreen)作为一种优化用户界面加载速度的方法,应用在各种(App/小程序/h5)应用里面。本文将深入探讨骨架屏的最佳实践,结合代码案例,介绍如何实现和优化骨架屏。什么是骨架屏?骨架屏是一种在页面加......
  • openGauss学习笔记-76 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT简介
    openGauss学习笔记-76openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT简介本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的简介。76MOT简介openGauss引入了MOT存储引擎,它是一种事务性行存储,针对多核和大内存服务器进行了优化。MOT是openGauss数据库最先进......
  • 如何优化和开源定制知识付费系统源码
    众所周知,要成功运营一个知识付费平台,需要不断优化和定制系统源码,以满足用户需求并提供出色的用户体验。本文将介绍如何优化和开源定制知识付费系统源码,以便更好地适应市场和用户需求。 第一步:选择合适的知识付费系统源码选择合适的知识付费系统源码是成功的第一步。第二步:定制化用......
  • [Unity] 基于 ParadoxNotion FlowCanvas 插件实现技能
    游戏中的技能总是有各种各样的逻辑比如持续性范围技能,魔兽争霸的暴雪风链式技能,博德之门的闪电链持续技能,博德之门的昼明术等等,这些技能都有各自特殊的逻辑,如何让这些技能有一个通用的配置方法像是RPGBuilder会有一个技能编辑器,里面提供了尽可能多的选择来配置技能编辑器......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(6) -- 窗口控
    在我们窗口新增、编辑状态下的时候,我们往往会根据是否修改过的痕迹-也就是脏数据状态进行跟踪,如果用户发生了数据修改,我们在用户退出窗口的时候,提供用户是否丢弃修改还是继续编辑,这样在一些重要录入时的时候,可以避免用户不小心关掉窗口,导致窗口的数据要重新录入的尴尬场景。本篇随......
  • 工作流程优化 - 总结笔记
    一、一个忙碌的上午(现实中的工作流问题)小张已经忙了一个早上了,她觉得自己还是很有条理的,这种有条理的忙碌感让他觉得内心充实。她会把每件工作按照紧急程序进行一个大致的排序,一件件处理,但是判断依据呢?只是自己的一个感觉而已。(问题:没有对瓶颈环节设计紧急的分流方案)老王的......