Unity中fbx批量提取animationClip动画脚本(适用mixamo)
Unity中fbx批量提取animationClip动画(Unity|适用mixamo)
问题描述
- 在 Unity 中,如何批量提取 fbx 文件(mixamo 下载的 fbx 文件)中的 animationClip 动画切片?
注意!转载自 reddit@VR_Raccoonteur 感谢~
解决方案
添加以下脚本(放在任何位置都可以)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class ExtractAnimations : MonoBehaviour
{
[ ]
static void ExtractAnims()
{
string s;
foreach (Object o in Selection.objects)
{
// s.Remove(s.Length - n);
s = AssetDatabase.GetAssetPath(o);
// Print the path of the created asset
Debug.Log("Reading " + s);
AnimationClip orgClip = (AnimationClip)AssetDatabase.LoadAssetAtPath(s, typeof(AnimationClip));
SerializedObject serializedClip = new SerializedObject(orgClip);
AnimationClipSettings clipSettings = new AnimationClipSettings(serializedClip.FindProperty("m_AnimationClipSettings"));
clipSettings.loopTime = true;
serializedClip.ApplyModifiedProperties();
//Save the clip
s = s.Remove(s.Length - 4) + ".anim";
Debug.Log("Writing " + s);
if(!Resources.Load(s)){
AnimationClip placeClip = new AnimationClip();
EditorUtility.CopySerialized(orgClip,placeClip);
AssetDatabase.CreateAsset(placeClip, s);
AssetDatabase.Refresh();
}
}
}
}在 Unity 中,选择需要提取动画的 fbx 文件
点击
Tools/ExtractAnimations
按钮(在Unity窗口最上方哦)脚本会自动提取 fbx 文件中的 animationClip 动画切片,并保存到同路径下
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lave's Cabin!
Comments
DisqusValine