修改动画FBX代码工具
来源:互联网 发布:java main 编辑:程序博客网 时间:2024/04/29 05:06
参考:http://www.xiaobao1993.com/1046.html
之前用的代码的是,发现没有效果:
#region 无效的修改 //ModelImporter model = AssetImporter.GetAtPath(path) as ModelImporter; //if (model != null) //{ // ModelImporterClipAnimation[] clips = model.clipAnimations; // if (clips != null) // { // for (int j = 0; j < clips.Length; j++) // { // clips[j].mirror = true; // clips[j].lockRootRotation = true; // clips[j].keepOriginalOrientation = true; // clips[j].keepOriginalPositionY = true; // clips[j].lockRootHeightY = true; // clips[j].lockRootPositionXZ = true; // clips[j].keepOriginalPositionXZ = true; // clips[j].loopTime = true; // } // } // model.SaveAndReimport(); // AssetDatabase.ImportAsset(path); // AssetDatabase.Refresh(); //} #endregion
后来参考网上的通过修改Meta文件修改格式:
[MenuItem("Assets/设置动画格式不带位移")] public static void SetFBXAnimationMode() { Object[] objs = Selection.objects; for (int i = 0; i < objs.Length; i++) { string path = GetObjMetaName(objs[i]); DoChangeFbxSetting(path); } } static string GetObjMetaName(Object obj) { string relatepath = AssetDatabase.GetAssetPath(obj); string dirpath = Application.dataPath.Replace("Assets", "") + relatepath + ".meta"; ; return dirpath; } /// <summary> /// 修改FBX的meta来修改它的格式 /// </summary> /// <param name="path"></param> static void DoChangeFbxSetting(string path) { path = path.Replace("\\", "/"); StreamReader fs = new StreamReader(path); List<string> ret = new List<string>(); string line; while ((line = fs.ReadLine()) != null) { line = line.Replace("\n", ""); if (line.IndexOf("importMaterials:") != -1) { line = " importMaterials: 1"; } if (line.IndexOf("keepOriginalOrientation") != -1) { line = " keepOriginalOrientation: 1"; } if (line.IndexOf("keepOriginalPositionY") != -1) { line = " keepOriginalPositionY: 1"; } if (line.IndexOf("keepOriginalPositionXZ") != -1) { line = " keepOriginalPositionXZ: 1"; } if (line.IndexOf("loopBlendOrientation") != -1) { line = " loopBlendOrientation: 1"; } if (line.IndexOf("loopBlendPositionY") != -1) { line = " loopBlendPositionY: 1"; } if (line.IndexOf("loopBlendPositionXZ") != -1) { line = " loopBlendPositionXZ: 1"; } if (line.IndexOf("rootMotionBoneName:") != -1) { line = " rootMotionBoneName: Bip001"; } string lowerpath = path.ToLower(); if (lowerpath.Contains("@ready.fbx") || lowerpath.Contains("@run.fbx")) { if (line.IndexOf("loopTime:") != -1) { line = " loopTime: 1"; } } ret.Add(line); } fs.Close(); File.Delete(path); StreamWriter writer = new StreamWriter(path + ".tmp"); foreach (var each in ret) { writer.WriteLine(each); } writer.Close(); File.Copy(path + ".tmp", path); File.Delete(path + ".tmp"); }1 0
- 修改动画FBX代码工具
- Unity 修改FBX模型动画
- Unity3D修改FBX文件动画名
- Unity3d修改FBX文件的动画名方法
- 在Unity中修改Fbx中的动画文件
- OSG播放fbx动画
- OSG播放fbx动画
- libgdx g3dj转化工具fbx-conv分割多个骨骼动画
- u3d fbx动画模型生成Animator Controller和Prefab工具脚本
- Unity3d:读取FBX中的动画
- fbx模型动画提取教程附带一个用代码提取的方法
- 导入fbx人物动画read-only解决方案
- Unity导入FBX自动进行动画切分
- Unity导入FBX自动进行动画切分
- Unity3D如何使用fbx动画文件
- 代码修改统计工具(python)
- 3dsMAX导出.FBX骨骼动画模型到XNA
- FBX、DAE模型的格式、导入与骨骼动画
- 3D游戏开发之在UE4中创建非玩家角色(NPC)
- opencv3异常 库找不到 no such file
- 万能头文件#include<bits/stdc++.h>
- ARC内存管理,防止内存泄漏,带retain、assign、strong、weak、nonatomic参数property和synthesize应用总结
- iOS设备发展史
- 修改动画FBX代码工具
- Opencv学习笔记(mat数组操作)
- Activity与Activity利用接口进行数据通信
- git clone的时候指定用户名
- 限制log打印速率
- 2017-1-22
- PAT---B1031. 查验身份证(15)
- ThinkPHP 实现Mysql数据库备份
- 远程实习第三周总结