微信公众账号登录官网,自己有网站怎么优化,网站推广技巧有哪些?,网站开发软件技术开发公司UE5 双手握剑的实现 IK
前言
什么是IK#xff1f;
UE官方给我们提供了很多对于IK处理的节点#xff0c;比如ABRIK、Two Bone IK、Full Body IK 、CCD IK等#xff0c;但是看到这#xff0c;很多人就好奇了#xff0c;什么是IK#xff1f; 首先我们来看看虚幻小白人的骨…UE5 双手握剑的实现 IK
前言
什么是IK
UE官方给我们提供了很多对于IK处理的节点比如ABRIK、Two Bone IK、Full Body IK 、CCD IK等但是看到这很多人就好奇了什么是IK 首先我们来看看虚幻小白人的骨骼
前向知识
它其实是由多个骨骼构成的具体的原理就是我们有一个最基础的Root点它存储了自身的Transform信息后面再添加它的子节点里面存储的是相对于它父类的Transform变化意味着我们只需要用父类的Transform乘以子类的Transform就可以得到子类真正的位置意味着我们每个骨骼只需要存储一个Transform信息就可以完成对每个骨骼位置信息的计算。
FK
正向运动学Forward kinematics, FKForward Kinematics是一种计算骨骼动画的方法。具体来说它通过直接设置和调整每个骨骼关节的位置和旋转来确定骨架的姿态和动画。每个关节的位置和旋转会影响到其子关节的位置和姿态形成一个链式反应。例如如果你调整角色手臂的上臂位置前臂和手的姿态也会随之改变。
IK
逆向运动学Inverse kinematics, IKInverse Kinematics是一种计算骨骼动画的方法与Forward KinematicsFK前向运动学相对。IK的工作原理是通过设定一个目标位置然后反向计算各个关节的角度和位置以使骨骼末端通常是手或脚达到这个目标位置。例如当你设定角色的手触碰某个位置时IK会自动计算手臂和手的各个关节如何调整来实现这一动作。 我们通常用它来处理双手握剑有一个手握不住剑的问题或者是拿枪时候手部位置不对比如下图红色部分手掌就没有抓主剑柄的位置这时候我们可通过IK来处理这个问题。
双骨骼IK(Two Bone IK)
Two Bone IK是一种用于控制和计算骨骼动画的逆向运动学IK解算器专门用于处理两段骨骼链的情况例如上臂和前臂手臂或者大腿和小腿腿部。 IKBone就是大家选定的骨骼需要绑定到某个位置比如我们双手握剑时候右手是正常抓握剑的但是左手不是这时候我们需要在左手找一个骨骼节点作为我们需要绑定到目标点的位置。
Effector Location也就是我们目标位置手掌企图抓住的位置。 Joint Target Location设置中间关节如肘部的目标位置用于控制关节的弯曲方向。 Alpha:就是用于和原始动画做lerp的值1的时候就完全是经过双骨骼IK变换之后的动画为0则是原始动画。当然你也可以把它修改成bool类型用开关的形式但是如果是这样的话原始动画和IK计算后的动画差距很大的话它可能会闪现到新的位置。 如果Effector Location与Joint Target Location是固定值那么你选中这个节点可以在动画蓝图里面去拖拽这个俩个变量的位置。
FABRIK
它其实与双骨骼IK相似但是它不用传中间点它会帮你计算自己处理的中间位置骨骼可能不太理想就可以考虑采用FABRIK Effector Transform和双骨骼IK一样只不过它变成了目标位置的Transform。 Effector Target比如此处我们想要左手握住剑那么这时候把左手的骨骼选中就行。 Tip Bone:骨骼链尖端的骨骼比如我们整个手臂的骨骼链手位置就是这个骨骼链的尖端比如下图是Hand_l。 Root Bone:根骨骼比如下图是spine_01。
如果Effector Transform是固定值那么你选中这个节点可以在动画蓝图里面去拖拽这个变量的位置。
其他IK就不讲了需要的去查一下文档就行。