unity fbx 导出动画

public class ActionConvetTool
{
    [MenuItem("ActionTools/动作处理")]
    public static void ActionConvert()
    {
        UnityEngine.Object[] arr = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Unfiltered);
        for (int index = 0; index < arr.Length; index++)
        {
            string strFilePath = AssetDatabase.GetAssetPath(arr[index]);
            Debug.Log("filePath=" + strFilePath);

            ActionScriptable action = ScriptableObject.CreateInstance<ActionScriptable>();

            UnityEngine.Object[] objects = AssetDatabase.LoadAllAssetsAtPath(strFilePath);
            if (objects == null || objects.Length == 0)
            {
                return;
            }

            for (int i = 0; i < objects.Length; i++)
            {
                if (objects[i] is AnimationClip)
                {
                    action.aClip = objects[i] as AnimationClip;
                    string strSerializeFile = "Assets/Resources/Action/";
                    string strDir = Application.dataPath + "/Resources/Action";
                    if (!Directory.Exists(strDir))
                    {
                        Directory.CreateDirectory(strDir);
                    }
                    string strFileName = objects[i].name + ".asset";
                    string strFile = Application.dataPath + "/Resources/Action/" +strFileName;
                    if (File.Exists(strFile))
                    {
                        File.Delete(strFile);
                    }

                    AssetDatabase.CreateAsset(action, strSerializeFile+strFileName);

                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();

                    break;
                }
            }
        }
    }
}

注意事项:需要先选中fbx模型然后导出

原文地址:https://www.cnblogs.com/ylwn817/p/10249721.html

时间: 2025-01-16 21:44:15

unity fbx 导出动画的相关文章

[Unity菜鸟] FBX模型动画提取

角色已经人形化(Humanoid)了,那它的动画可以用在其它的模型上了也就是可以共用一套模型动画了,但是你有没有发现那动画是和fbx模型绑在一起的,没关系你可以选中这几个动画文件按Contrl+D就可以提取出来了,然后你可以把整个fbx模型都删掉了,新生成的动画已经不再基于fbx了,这样可以大大减小资源大小. 如果是一个程序员的话你可能会想那这个实现代码是怎样的呢 using UnityEngine; using UnityEditor; using System.Collections; us

Unity3D技术之FBX 导出指南

 FBX 导出指南 Unity 支持 FBX 文件,这种文件可以在许多流行三维应用软件中生成.遵循以下指南有助于获得最佳结果. 选择 (Select) > 准备 (Prepare) > 检查设置 (Prepare) > 导出 (Prepare) > 验证 (Prepare) > 导入 (Import) 您想导出什么内容?了解导出范围,如网格.相机.灯光.动画绑定等 - 应用程序通常可供导出选定对象 (selected objects) 或整个场景 (whole scene

unity 对Animator动画系统的研究

unity的新动画系统叫Mecanim,使用Animator来取代旧系统Animation,按Unity文档的惯例:知识点主要分2部分:unity manual和unity script,读者可以边看文章边查阅文档,最好能动手测试. 文章的开始之前,先讲几个基本的知识的: 1.创建动画的一个基本步骤是设置一个unity3d可理解的简化后的骨骼到骨架中实际骨骼的映射:在Mecanim的术语中,这个映射称为Avatar,即avatar是骨骼到骨架的映射. (图片来自网) Avatar主要用于类人骨骼

Unity MegaFiers 顶点动画

使用 MegaFiers 插件,可以使得Unity支持顶点动画的播放. 官方视频教程如下: 在这里简单测试使用下,环境如下: Blender 2.72 Unity 4.5.4 MegaFiers 2.74 创建物体和动画 首先打开Blender,默认会含有一个立方体,下面对这个立方体制作一个简单动画,让其在1~100帧做旋转,101~250帧做缩放,制作方法可参考教程[牛刀小试简单动画]. 确认立方体处于桔黄色外框包围的"被选中"状态: 用鼠标把绿色的当前帧指示线拖到第1帧: 在&qu

unity shader序列帧动画代码,顺便吐槽一下unity shader系统

http://www.cnblogs.com/hellohuan/archive/2014/01/10/3512784.html 一.看到UNITY论坛里有些人求unity shader序列帧动画,写shader我擅长啊,就顺势写了个CG的shader.代码很简单,就是变换UV采样序列帧贴图,美术配置行数列数以及变换速度. Shader "HELLOHUAN/Hello_Sequence" { Properties { _Color ("Main Color", C

关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪些事情,为了解决这个问题,unity允许每个动画单元来绑定一个脚本代码,这个脚本代码必须继承于StateMachineBehaviour;2: 可以在动画状态的Add Behaviour上添加挂载一个脚本到动画状态;3: StateMachineBehaviour主要接口: (1)OnStateEn

在Unity中实现动画的正反播放代码

using UnityEngine; using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 动画进行正反播放 /// </summary> /// <param name=&q

unity的animation动画资源压缩

最近更新了一批骨骼动画资源,不看不知道,一看吓一跳,之前优化掉的内容还需要重新处理一遍,因此..现在就先把之前的东西拿出来做个记录. 所幸之前对动画有做动态加载,现在只需要重新将多余的信息清除掉即可(FBX使用的导入设置是Legacy|Store in Root(New)的方式,然后动画信息单独copy出来使用的方式),主要针对以下两点: 1)骨骼动画的scale信息基本是无用的 2)各个骨骼点信息的float存储精度基本上不需要很高的精度(部分动画除外,视表现效果而定) 最开始有手动删除测试效

Unity 切割导出精灵

Unity中经常使用到精灵,尤其是2D游戏中制作动画等!今天我们就学习下精灵的切割和导出吧! 废话不多说,先建议空的工程. 1,打开Unity建工程. 2 导入素材进行资源分类,工程不在于大小,这是我们对待它的态度! 3.开始分割精灵,三步走! 编辑精灵. 开始分割精灵 Apply一下,看下分割的精灵,0-9共9个. 贴精灵导出代码: using UnityEngine; using UnityEditor; public class SpriteTailed:MonoBehaviour { [