CleanData是什么

CleanData以前没有特定的名字,(在easydown这个开源项目中,作为一个GameObjParser模块存在)。
在某三国项目中,我们使用GameObjParser将NGUI 的预设保存为自定义格式(替代了assetbundle方案),以实现不论任何平台都可以使用同一份资源。
在easydown的演示中GameObjParser也将一个简单的模型场景保存为自定义格式并加载。
so.CleanData是想去做AssetBundle的工作,但是格式是我们自定义的,细节更透明。这些信息,甚至可以用到别的引擎里。

假如有一天我们要离开U3D的话。

CleanData.Ani 是CleanData中针对骨骼动画的部分

以一个角色为例,CleanData.Ani有一些辑器脚本,导入CleanData之后。在Animator组件上就会出现一些工具
"Create FBAniclip" 会把Animator的 controller中配置的动画(.anim)存为(".fbani.asset")。
这已经是一种自定义的动画格式
它使用一个新的组件来控制动画播放,这个组件支持在editor模式中直接预览动画。

此处的这个".fbani.asset"还是属于unity的 asset格式,只能用于在unity编辑器中操作,和使用ab打包。
这里还没展现出我们自己写一套动画数据,自己写一个动画播放组件的意义所在。
不过你如果比较一下播放性能,你会发现,我们自己写的动画播放组件居然比原生的快。
(除了我们做的事情可能更少以外,这也说明unity原生动画性能还有很大的提升空间,坐等官方优化)。

 

然后关键的部分来了,unity的.anim 你没有办法运行时加载,所以你也不能运行时下载一个骨骼动画,给角色加上去。
但是fbani可以,注意那个"export bin",这会把当前动画保存为".fbani.bytes"文件,放在streamingassets目录下。

然后就可以实现运行时载入骨骼动画了

另外,还有个数字你可能也有兴趣关注一下

我们自定义格式存储动画的容量只有.anim文件的十分之一左右。

 

配合CleanData,已经可以实现整个角色模型和动画一起保存为自定义格式并还原,你是不是开始脑洞大开了呢?

ByTheWay,如果连Anim文件也不从Max里来,行不行呢,也是可能的。
Skele.UserEcho.com

提供了一个插件。可以在untiyeditor里直接修改角色动画,并保存.anim文件。

这个扭曲的动画是我用他的插件扭的,我也实在没有扭动作的天赋和耐心

我们可以使用他,或者对他进行改造,直接编辑.fbani 文件,跳过.anim都是可行的。
这将是一个愿景型的工作,FB引擎希望有一天可以做到MUGEN那个程度,角色,招数随便编辑。
到那一天,脱离MAX直接来修改动画,就会变得有用了。

 

Unity3D骨骼动画的分解(CleanData.Ani详解)的更多相关文章

  1. Unity3D 骨骼动画原理学习笔记

    最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭哧吭哧的~ 首先列出学习参考的前人的文章,本文较多的参考了其中的表述: 1. ...

  2. 浅谈Unity3D 骨骼动画

    转载请标明出处http://www.cnblogs.com/zblade/ 最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭 ...

  3. WPF 后台任务 等待动画 样例 && C# BackgroundWorker 详解

    运行效果: 前台代码: <Window x :Class="Waiting.Window1" xmlns="http://schemas.microsoft.com ...

  4. css3动画中的steps值详解

    css3的动画的animation-timing-function属性定义了动画的速度曲线,一般的速度曲线大家都知道,什么ease,linear,ease-in,ease-out,还有自定义贝塞尔曲线 ...

  5. 【译】css动画里的steps()用法详解

    原文地址:http://designmodo.com/steps-c... 原文作者:Joni Trythall 我想你在css 动画里使用steps()会和我一样有很多困惑.一开始我不清楚怎样使用它 ...

  6. CSS3动画效果——js调用css动画属性并回调处理详解

    http://www.jb51.net/css/258407.html 这篇文章主要详细介绍了CSS3动画效果回调处理,需要的朋友可以参考下 我们在做js动画的时候,很多时候都需要做回调处理,如在一个 ...

  7. [转]ANDROID L——Material Design详解(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...

  8. 超级强大的SVG SMIL animation动画详解

    本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究.本文地址:http://www.zhangxinxu.com/wordpress/?p=4333 //zxx: 本文的SVG在有 ...

  9. [转]超级强大的SVG SMIL animation动画详解

    超级强大的SVG SMIL animation动画详解 本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究.本文地址:http://www.zhangxinxu.com/wordp ...

随机推荐

  1. Spring.Scheduling.Quartz 作业的应用(定时任务和循环触发任务)

    .定时任务的实现,比如有个任务是要晚上2点10分的时候要去触发的,先定义这个任务类RskBookFilterInitDiningService.cs,这里其实有两种实现,一种是需要继承QuartzJo ...

  2. exe文件放在其他位置

    set PATH=%PATH%;%UGII_ROOT_DIR%call "E:\ZY\exe\uds_rename_parts_mohao.exe"E:\ZY\exe\uds_re ...

  3. Hibernate+jsp+struts+spring做增删该查,

    同样还是web项目,这里只做了一张表,做一个测试,例子.主要是建Hibernate 的时候要非常注意,有时间了整理一下建Hiberbnate 的时候需要注意的事项 这里我是建了5个包,其实只要四个就好 ...

  4. 排序算法 ----(转载::http://blog.csdn.net/hguisu/article/details/7776068)

    1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表.即:先将序列的第1个记录看成是一个有序 ...

  5. android download manager

    下载管理器,有个哥们写得很好了http://www.trinea.cn/android/android-downloadmanager/ 下载后台通知 下载管理器内容交互 最近对内部业务逻辑整理了一下 ...

  6. babel 配置探究及错误解析

    前面的文章说到了react 15的一些特性,众所周知react搭配es6或者叫es2015的开发模式更加的方便快捷.不过提到es2015这个毕竟没有被浏览器广泛支持的规范,要想能够快快乐乐的应用起来, ...

  7. enum类型学习笔记

    如:enum color {red,white,yellow,green} 枚举出一种类型中的多个变量 enum本质为int,可以作为int使用: enum默认值为0,1,2... 以上的定义中: e ...

  8. loadrunner监控linux服务器

    参考http://www.cnblogs.com/yangxia-test/archive/2012/11/27/2790771.html http://www.cnblogs.com/candle8 ...

  9. 解决Android SDK Manager更新、下载速度慢

    hosts文件里面原来的内容不做修改,只是添加内容 方法/步骤 先看看如何加快更新速度,再说如何更新. 首先更新host文件,如图,打开目录 C:\Windows\System32\drivers\e ...

  10. bdb log file 预设长度的性能优化

    看代码随手记:log_put.c, __log_write() /* * If we're writing the first block in a log file on a filesystem ...