根运动 Root Motion – 工作原理

本文详细介绍了Unity3D中Root Motion的工作原理,包括Body Transform与Root Transform的区别,Bake Into Pose的含义,以及Apply Root Motion的用法。通过实例分析了不同设置下模型在场景中的运动表现,探讨了动画片段检视器中的根变换旋转、位置设置,以及通用根运动和循环姿势的应用。
摘要由CSDN通过智能技术生成
               

1. 基本概念

    在Unity3D动画中,模型的位置、角度经常会发生变化,我们需要决定是否将模型在动画中发生的这些变换化用到实际模型(GameObject)中。

    在Untiy3D中将动画中的变换分成两类:

    1) Body Transform (pose:姿势)

    2) Root Transform (trajectory:轨迹)

    我们可以设置动画中的关于模型的一些变换(平移、旋转等)是属于Body Transform(pose)还是Root Transform(trajectory)的一部分。

    举例如下(ac001为角色跑步):


    在上图中:

    1) 如果【Apply Root Motion】未选中:则角色在原地跑步,且Transform中的值没有任何变化

    2) 如果【Apply Root Motion】已选中:则角色在场景中跑步,且Transform中的值跟随变化   


1.1 Body Transform (Pose:姿势)

    身体变换 (Body Transform) 是角色的质心(the mass center of the character)。它用于 Mecanim 重定位引擎,提供最稳定的位移模型。身体方向 (Body Orientation) 是下半身方向与上半身方向的平均,与 Avatar T 字姿势 (T-Pose) 相关。

     身体变换 (Body Transform) 和方向 (Orientation) 存储在动画片段 (Animation Clip) 中(使用 Avatar 中设置的肌肉定义)。它们是存储在动画片段 (Animation Clip) 中的唯一世界空间曲线。其他一切事项:肌肉曲线和 IK 目标(四肢 (Hands and Feet))相对身体变换存储。

1.2 Root Transform(trajectory:轨迹 实时计算)

    根变换 (Root Transform) 是身体变换 (Body Transform) 在 Y 平面上的投影,在运行时计算。在每一帧,根变换 (Root Transform) 中的变化都会计算出来。然后变换的变化会被应用到游戏对象 (Game Object) 上,使之移动。 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值