(引自:http://tieba.baidu.com/p/4323644080)

然后详细看了下这个文档:http://docs.unity3d.com/Manual/RootMotion.html

现在基本上明白了,下面记几个要点:

1,在3dmax里建模的时候必须包含一个根骨骼,所有的位移动画必须做在根骨骼上。

2,unity中进入fbx的Import Setting,选Animations属性页,创建Clips。

3,进入fbx的Import Settings,选里面的Rig属性页,为其中Root node选择根骨骼。

3,此时再重新进入Animations属性页,就可以看到每个clip的面板里都出现了Root Transform Rotation,Root Transform Position(Y),Root Transform (XZ)这些选项了。

4,接下来把fbx拖到场景里,在其Animator组件中把Apply Root Motion选上。

5,当然,还有为Animator组件的Controller添加Animation Controller及创建状态机节点之类的一些琐事,这里就不提了。

这样,动画在切换时就可以累积位移(而非复位)了。

关于Root Transform的说明:

1,Root Transform是物体质心在一个水平平面上的投影,至于此水平平面是哪个平面,取决于Based Upon的设置。

Root Transform可以直观地在clip面板下方的预览窗口中看到:

那个圆圈就是Root Transform的位置。

预览窗口中默认放的不是我们自己的fbx模型,而是这个小人儿,我们需要把自己的fbx模型拖到预览窗口中。

2,Bake Into Pose的理解:

可以理解为Root Transform是模型的根节点,而Pose是Root Transform的子节点。

如果我们不勾选Bake Into Pose,则Root Transform运动带动子节点Pose运动。

如果我们勾选了Bake Into Pose,则Root Transform中的动画将被转移到Pose中去,这样Root Transform就静止不动了,而只有Pose运动。

两者看上去动画效果一样,区别就在于Root Transform动与不动。

什么情况下需要Bake Into Pose,什么情况下不需要Bake Into Pose呢?

由于我们勾选了Apply Root Motion,所以Root Transform进入累积模式,切动画时下一个动画会在上一个动画结尾时Root Transform的位置开始播放(而不复位)。

但有时候我们会有这样的需求:希望切动画时,在XZ平面上位移累积,但在Y方向上位移不累积(复位)。

如果所有的Bake Into Pose都不勾选,则我们现在的效果是: 切动画时,XZ平面上和Y方向上位移都累积。

现在,只要将Root Transform Position(Y)的Bake Into Pose勾选,就能取消Y方向上的累积了。

原理很明显,因为Y方向上Root Transform不动了,所以定不会在Y方向上产生累积位移。

unity, Root Motion的更多相关文章

  1. Unity3D规则之Unity Root Motion / Bake into Pose 的问题

    参考: http://ru.unity3d-docs.com/Documentation/Manual/Animator.html http://ru.unity3d-docs.com/Documen ...

  2. Root Motion深度解析[Unity]

    http://blog.csdn.net/cubesky/article/details/39478207 在很多动画当中,模型的位置.角度往往会发生变化,我们需要决定是否将模型再动画中发生的这些变换 ...

  3. Unity学习疑问记录之Apply Root Motion

    Should we control the character's position from the animation itself or from script. 如果我们勾选了Animator ...

  4. Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系

    2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator ...

  5. Apply Root Motion

    Apply Root Motion 应用根动作: Should we control the character's position from the animation itself or fro ...

  6. Root Motion的脚本处理

    一.Apply RootMotion的作用 Apply RootMotion:控制角色在场景中动画的运动.角色动画驱动角色运动,类似于在游戏中直接使用动画,提高了动画的使用效率. Root Motio ...

  7. 根运动 (Root Motion) – 工作原理

    http://blog.csdn.net/myarrow/article/details/45505085 1. 基本概念 在Unity3D动画中,模型的位置.角度经常会发生变化,我们需要决定是否将模 ...

  8. 【Unity笔记】根骨骼动画/运动(Root Motion)

    根骨骼动画:当动画中角色发生位移后,动作坐标原点跟随角色移动.例如一个向前跳跃的动画,如果在场景中重复该动画,能够看到角色一路往前跳跃,位置一直在前进.适用于有位移的放技能动作等. 非根骨骼动画:当动 ...

  9. UNITY更新到5后设置的动画无法播放了怎么办

    点击对应的animator,将 apply root motion  这个选项的勾去掉就可以了,纠结了很久最后在UNITY官方论坛找到的答案

随机推荐

  1. WPF ClickOnce应用程序IIS部署发布攻略

    WPF程序非常适合公司内网使用,唯一缺点就是客户端要安装.net框架4.0.优势也很明显,在客户端运行的是一个WinForm程序,自动下载,可以充分利用客户机的性能,而且是以当前的Windows用户权 ...

  2. mysql concat函数进行模糊查询

    concat() 函数,是用来连接字符串. 精确查询: select * from user where name=”zhangsan” 模糊查询: select * from user where ...

  3. Python学习(四)数据结构 —— bool

    Python 布尔类型 bool python 中布尔值使用常量True 和 False来表示:注意大小写 比较运算符< > == 等返回的类型就是bool类型:布尔类型通常在 if 和 ...

  4. docker学习总结--安装、卸载

    参考:http://blog.csdn.net/u012562943/article/details/50463400 https://docs.docker.com/engine/getstarte ...

  5. 线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理

    本文为线程本地存储TLS系列之分类和原理. 一.TLS简述和分类 我们知道在一个进程中,所有线程是共享同一个地址空间的.所以,如果一个变量是全局的或者是静态的,那么所有线程访问的是同一份,如果某一个线 ...

  6. IOS中WebView的使用

    UIWebView是iOS sdk中一个最常用的控件.是内置的浏览器控件,我们可以用它来浏览网页.打开文档等等,UIWebView能够加载html/htm.pdf.docx.txt等格式的文件  系统 ...

  7. powerdesigner 16.5 破解步骤

    假设你的PowerDesigner已经安装完成.(PowerDesigner下载地址:http://pan.baidu.com/s/1mgqjmpa) 1. 从网上下载PowerDesigner165 ...

  8. 【Scala】Scala技术栈

    快速了解Scala技术栈 我无可救药地成为了Scala的超级粉丝.在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为一个巨大的黑洞,吸引力使我不得不飞向它,以至于开始背离Java.固然Java ...

  9. 【pyhon】怨灵侍全本漫画批量下载爬虫1.00

    代码: # 怨灵侍全本漫画批量下载爬虫1.00 # 拜CARTOON.fydupiwu.com整理有序所赐,寻找图片只要观察出规律即可,不用费劲下一页的找了 import time import ur ...

  10. (剑指Offer)面试题56:链表中环的入口结点

    题目: 一个链表中包含环,请找出该链表的环的入口结点. 思路: 1.哈希表 遍历整个链表,并将链表结点存入哈希表中(这里我们使用容器set),如果遍历到某个链表结点已经在set中,那么该点即为环的入口 ...