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. tomcat 内存问题 xms xmx permsize maxPermsize

    转自:http://www.cnblogs.com/koik/p/4452029.html tomcat -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做ja ...

  2. Windows结构化异常

    不错的总结: http://hi.baidu.com/wangxvfeng101/item/518f6efdab4e5616ff35820e http://www.vckbase.com/index. ...

  3. hashcode深入理解

    带着问题去理解: 1. Object类HashCode方法是如何实现的,和String类有什么区别? 2.HashCode和Equals之间的关系? 一.hashCode作用 hashCode方法返回 ...

  4. second class

    nothing no very good. 1.look at shuruo.html,after display:inline-block; li's width as the content; S ...

  5. 收缩数据库 DBCC SHRINKFILE

    /* from: http://www.cnblogs.com/blackcore/archive/2010/12/27/1917911.html */ 数据库中的每个文件都可以通过删除未使用的页的方 ...

  6. LInux配置jdk(mac和windows)

    我的linux使用的是VMware搭建的虚拟环境,用的是CENTOS6.5 一.准备工作: 1.确定系统安装的是成功的. 2.系统没有其他的问题 3.确定没有安装过其他版本的jdk,两个jdk会反冲 ...

  7. android.util.TypedValue.applyDimension

    先看一个例子: int size = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 3, context.getResourc ...

  8. Cobbler学习之二--Cobbler的Web管理和维护

    Cobbler的Web管理模块和命令行模块是可以分开工作的,没有依赖关系. 1 WebUI的功能 查看所有的对象和配置文件 添加或者删除system,distro, profile 执行“cobble ...

  9. .net之微信企业号开发(一) 所使用的环境与工具以及准备工作

    前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立 ...

  10. 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Profil ...