Unity 中 fbx 模型批量提取 animationClip 动画切片脚本(适用mixamo)
Unity中fbx批量提取animationClip动画脚本(适用mixamo)
·
Unity 中 fbx模型批量提取animationClip动画脚本(Unity|适用mixamo)
问题描述
- 在 Unity 中,如何批量提取 fbx 文件(mixamo 下载的 fbx 文件)中的 animationClip 动画切片?
解决方案
- 添加以下脚本(放在任何位置都可以)
根据原脚本进行了修改,现可正常使用
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class ExtractAnimations : MonoBehaviour
{
[MenuItem("Tools/ExtractAnimations")]
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 动画切片,并保存到同路径下
更多推荐




所有评论(0)