角色已經人形化(Humanoid)了,那它的動畫可以用在其它的模型上了也就是可以共用一套模型動畫了,但是你有沒有發現那動畫是和fbx模型綁在一起的,沒關系你可以選中這幾個動畫文件按Contrl+D就可以提取出來了,然后你可以把整個fbx模型都刪掉了,新生成的動畫已經不再基於fbx了,這樣可以大大減小資源大小。
如果是一個程序員的話你可能會想那這個實現代碼是怎樣的呢
using UnityEngine; using UnityEditor; using System.Collections; using System.IO; public class AnimationClipTool { [MenuItem("AnimationClip/GetFilteredtoAnim &1", true)] static bool NotGetFiltered() { return Selection.activeObject; } [MenuItem("AnimationClip/GetFilteredtoAnim &1")] static void GetFiltered() { string targetPath = Application.dataPath + "/AnimationClip"; if (!Directory.Exists(targetPath)) { Directory.CreateDirectory(targetPath); } Object[] SelectionAsset = Selection.GetFiltered(typeof(Object), SelectionMode.Unfiltered); Debug.Log(SelectionAsset.Length); foreach (Object Asset in SelectionAsset) { AnimationClip newClip = new AnimationClip(); EditorUtility.CopySerialized(Asset, newClip); AssetDatabase.CreateAsset(newClip, "Assets/AnimationClip/" + Asset.name + ".anim"); } AssetDatabase.Refresh(); } }
選中動畫剪輯,點擊菜單欄上AnimationClip/GetFilteredtoAnim選項(快捷鍵ALT+1),代碼生成的動畫剪輯會出現在Assets/AnimationClip文件夾下
(如果選擇的不是動畫剪輯而是其他資源文件,會出現 Source and Destination Types do not match 錯誤)