
一、模型Rig標(biāo)簽

-
Animation Type
- None 無動畫
- Legacy 舊版動畫,不要用
- Generic 通用骨骼框架
- Humanoid 人形骨骼框架
-
Animation Type選擇原則
- 無動畫選擇None
- 非人形動畫選擇Generic
- 人形動畫
人形動畫需要Kinematices或Animation Retargeting功能,或者沒有有自定義骨骼對象時選擇Humanoid Rig
其他都選擇Generic Rig,在骨骼數(shù)差不多的情況下,Generic Rig會比Humanoid Rig省30%甚至更多的CPU的時間。
Skin Weights
默認(rèn)4根骨頭,但對于一些不重要的動畫對象可以減少到1根,節(jié)省計算量Optimize Bones
建議開啟,在導(dǎo)入時自動剔除沒有蒙皮頂點的骨骼Optimize Game Objects
在Avatar和Animatior組件中刪除導(dǎo)入游戲角色對象的變換層級結(jié)構(gòu),而使用Unity動畫內(nèi)部結(jié)構(gòu)骨骼,消減骨骼transform帶來的性能開銷??梢蕴岣呓巧珓赢嬓阅? 但有些情況下會造成角色動畫錯誤,這個選項可以嘗試開啟但要看表現(xiàn)效果而定。注意如果你的角色是可以換裝的,在導(dǎo)入時不要開啟此選項,但在換裝后在運行時在代碼中通過調(diào)用AnimatorUtility.OptimizeTransformHierarchy接口仍然可以達到此選項效果
模型Animation標(biāo)簽

Resmple Curves
將動畫曲線重新采樣為四元數(shù)數(shù)值,并為動畫每幀生成一個新的四元數(shù)關(guān)鍵幀,僅當(dāng)導(dǎo)入動畫文件包含尤拉曲線時才會顯示此選項Anim.Compression
Off:不壓縮,質(zhì)量最高,內(nèi)存消耗最大
Keyframe Reduction:減少冗余關(guān)鍵幀,減小動畫文件大小和內(nèi)存大小
Keyframe Reduction and Compression:減小關(guān)鍵幀的同時對關(guān)鍵幀存儲數(shù)據(jù)進行壓縮,只影響文件大小
Optimal:僅適用于Generic與Humanoide動畫類型,Unity決定如何進行壓縮Animation Custom Properties
導(dǎo)入用戶自定義屬性,一般對應(yīng)DCC工具中的extraUserProperties字段中定義的數(shù)據(jù)
動畫曲線數(shù)據(jù)信息

- Curves Pos:位置曲線
- Quaternion:四元數(shù)曲線 Resample Curves開啟會有
- Euler:尤拉曲線
- Scale:縮放曲線
- Muscles:肌肉曲線,Humanoid類型下會有
- Generic:一般屬性動畫曲線,如顏色,材質(zhì)等
- PPtr:精靈動畫曲線,一般2D系統(tǒng)下會有
- Curves Total:曲線總數(shù)(數(shù)值越大性能越差)
- Constant:優(yōu)化為常數(shù)的曲線
- Dense:使用了密集數(shù)據(jù)(線性插值后的離散值)存儲
- Stream:使用了流式數(shù)據(jù)(插值的時間和切線數(shù)據(jù))存儲
優(yōu)化建議
看效果差異(與原始制作動畫差異是否明顯)
看曲線數(shù)量(總曲線數(shù)量與各種曲線數(shù)顯,常量曲線比重大更好)
看動畫文件大小(以移動平臺為例,動畫文件在小幾百k或更少為合理,查過1M以上的動畫文件考慮是否進行了合理優(yōu)化)
UPR優(yōu)化建議
- 檢查動畫曲線精度:動畫曲線精度過高會增加動畫占用內(nèi)存; 此規(guī)則僅面向以文本格式序列化的*.anim文件中的浮點精度
Custom Parameters: precision : 5
用文本編輯器打開.anim動畫文件,修改m_EditorCurves::curve::m_Curve下的float值的精度。建議用腳本直接將此文件中所有float精度都調(diào)小。


動畫曲線精度優(yōu)化工具
介紹:通過上文看到一個個的去修改動畫文件里的值不太現(xiàn)實,所以提供了一個動畫曲線精度優(yōu)化工具給大家使用
GitHub地址:動畫曲線精度優(yōu)化工具
使用方式:配置好 Config.json 后雙擊 Run.bat 即可
使用后效果:
