欢迎来到天天文库
浏览记录
ID:39467889
大小:427.00 KB
页数:7页
时间:2019-07-04
《ROOT MOTION原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、根运动原理1.基本概念 在Unity3D动画中,模型的位置、角度经常会发生变化,我们需要决定是否将模型在动画中发生的这些变换化用到实际模型(GameObject)中。 在Untiy3D中将动画中的变换分成两类: 1)BodyTransform(pose:姿势) 2)RootTransform(trajectory:轨迹) 我们可以设置动画中的关于模型的一些变换(平移、旋转等)是属于BodyTransform(pose)还是RootTransform(trajectory)的一部分。 举例如下(ac001为角色跑步): 在上图中: 1)
2、如果【ApplyRootMotion】未选中:则角色在原地跑步,且Transform中的值没有任何变化 2) 如果【ApplyRootMotion】已选中:则角色在场景中跑步,且Transform中的值跟随变化 1.1BodyTransform(Pose:姿势) 身体变换(BodyTransform)是角色的质心(themasscenterofthecharacter)。它用于Mecanim重定位引擎,提供最稳定的位移模型。身体方向(BodyOrientation)是下半身方向与上半身方向的平均,与AvatarT字姿势(T-Pose)相关。
3、身体变换(BodyTransform)和方向(Orientation)存储在动画片段(AnimationClip)中(使用Avatar中设置的肌肉定义)。它们是存储在动画片段(AnimationClip)中的唯一世界空间曲线。其他一切事项:肌肉曲线和IK目标(四肢(HandsandFeet))相对身体变换存储。1.2RootTransform(trajectory:轨迹 实时计算) 根变换(RootTransform)是身体变换(BodyTransform)在Y平面上的投影,在运行时计算。在每一帧,根变换(RootTransform)中的变化都会计
4、算出来。然后变换的变化会被应用到游戏对象(GameObject)上,使之移动。 角色下面的圆表示根变换(RootTransform)1.3BakeIntoPose(烘焙为姿势) BakeIntoPose:也就是将变换设置为BodyTransform(pose)的一部分。 如果把变换设置成BodyTransform(pose)的一部分,就相当这些变换是属于动画本身的一部分,即无论是否设置ApplyRootMotion,在场景中,我们都会看到模型位置或角度的变化。因为BodyTransform不影响模型(GameObject)实际的位置和角度
5、,所以这里只是纯粹的动画效果,模型(GameObject)的位置和角度参数值不变 如果设置成RootTransform,RootTransform将影响模型(GameObject)的实际位置和角度(前提是要设置“ApplyRootMotion”,如果不设置ApplyRootMotion的话,也就是说变换将不应用,场景中的模型(GameObject)位置或角度是不会有变化的,就像一个行走动画,可能一直在原地行走)。1.4ApplyRootMotion ApplyRootMotion作用如下: 1)决定是否应用
6、RootTransform: 如果勾选【ApplyRootMotion】,则应用RootTransform在播放动画的同时,模型(GameObject)的位置和角度会同时跟着变化。如果不勾选【ApplyRootMotion】,则不应用RootTransform,所有的RootTransform都将不起任何作用。即相当于所有没有BakeintoPose的变换都不起作用了。 2)在动画结束后,将BodyTransform中的变化应用到模型: 这里是结束的时候才应用,也就是说动画的时候,模型的(GameObject)position、r
7、orate等参数是不变的,当动画结束之后,开始新的动画之前才会改变,注意这里跟前面提到的RootTransform的区别2.实例说明 下面以一个人物行走的动画为例,分析以下几种情况(这里以“Roottransformposition(XZ)为例) 1)勾选【BakeintoPose】,不勾选【ApplyRootMotion】 勾选”BakeintoPose"后,变换属于BodyTransform,所以即使这里未勾选”ApplyRootMotion“,但是动画依然会在场景中体现,人物会按照动画的路径行走(但是如果我们观察Inspector中模型
8、的Transform,其值一直不变)。这是因为没有勾选ApplyRootMotion,所以动画
此文档下载收益归作者所有