• UE4_常见动画节点学习_Two Bone IK双骨骼IK


    学习资料,仅供参考!

    Two Bone IK 控制器将逆运动(IK)解算器应用于到如角色四肢等3关节链。

    变量( HandIKWeight )被用于在角色的 hand_l 和 hand_r 控制器上驱动 关节目标位置(Joint Target Location) 属性。通过对数值进行调整,可决定角色持有武器的方式,而无需根据不同角色手动设置不同姿势的动画。

    AnimGraph节点网络显示如下,可复制并粘贴到自己的动画蓝图中。

    Two Bone IK属性

    可在Two Bone IK节点的 细节 面板中找到以下属性:

    属性

    说明

    IK

    IK骨骼

    要应用IK解算器的骨骼命名。此应为骨链末端的骨骼,如脚踝或腕骨。

    拉伸限制

    X

    肢体最大长度的比率,用于决定缩放骨骼的时间。

    Y

    平移组件的最大缩放量。

    允许拉伸

    如为true,则可拉伸骨骼。

    末端执行器

    执行器空间骨骼命名

    执行器位置空间设为BCSBoneSpace时,用作执行器位置的骨骼命名。

    获取执行器空间的旋转

    启用时,执行器(组件、父或骨骼)的旋转将应用到IK骨骼。

    维持执行器Rel Rot

    启用"获取执行器空间的旋转"时,将覆盖此属性。

    执行器位置空间

    效果器位置的参考帧。

    数值

    效果

    平移

    XYZ组件在目标骨骼上的平移。

    旋转

    XYZ组件在目标骨骼上的旋转。

    缩放

    XYZ组件在目标骨骼上的缩放。

    关节目标

    关节目标位置空间

    关节目标位置的参考帧。

    数值

    效果

    平移

    XYZ组件在目标骨骼上的平移。

    旋转

    XYZ组件在目标骨骼上的旋转。

    缩放

    XYZ组件在目标骨骼上的缩放。

    关节目标空间骨骼名称

    关节目标位置空间设为BCSBoneSpace时,用作关节目标位置的骨骼命名。

    Two Bone IK节点上默认公开以下引脚:

    引脚

    说明

    输入引脚

    执行器位置

    在执行器位置空间中指定位置执行器的向量。

    关节目标位置

    在关节目标位置空间中指定位置关节目标的向量。

    大体计算过程:

    joint target location用于保证joint节点在root、effector location和joint target location所构成的平面上。

    root为ik骨骼的父节点的父节点,三个关节,两根骨骼。

    (root到effector location)的单位向量与(root到joint target location的向量)做点积,得到(effector location到joint target location的向量)。

    如果脚伸不直的话,我们需要求出三个关节中中间关节的位置joint,而(root到joint的骨骼长度)、(joint到ik骨骼(即effector location)的长度)和(root到effector location的向量长度)是已知的,知道了三边,我们可以用余弦定理求出(root到joint的骨骼长度)与(root到effector location的向量长度)之间的夹角r。

    root到joint的向量求出,那么就知道了joint的位置了。

    root到joint的向量正好为另外两个单位向量的和乘以模长,因为r角度已经求出,而r正对着的向量为(effector location到joint target location的向量)的单位向量。

    点积意义如下:

    余弦定理如下:

    源码解析参考:

    【UE5】深入理解动画模块7: 双骨骼IK算法与源码解析_哔哩哔哩_bilibili

  • 相关阅读:
    和数集团浅谈区块链技术如何赋能数字政务?
    【Oracle系列1】Oracle 的connect权限和create session的区别
    2022山东理工大学pta程序设计---实验六(二维数组)题解
    国产etl工具BeeDI 产品 之“数据联邦“ 经典功能组件
    Kotlin中布尔类型、字符类型、字符串类型和数组类型
    287_C++_TaskQueue管理任务队列和定时器(头文件.h)
    访问控制、RBAC和ABAC模型
    V4L2里的FourCC编码
    信道加密设备与网络加密设备差异性研究和运维保障管理
    JAVA春之梦理发店管理计算机毕业设计Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/Growthofnotes/article/details/137956997