Unity - 官方2D反向动力学 (2D IK) 文档

本文由 祝你万事顺利 出品,转载请注明出处。

官方英文文档

简介

2D Inverse Kinematics包可以让我们将2D IK应用到骨骼和角色的骨骼动画中。2D IK将自动计算移动到目标位置骨骼的移动和旋转。这样我们可以更加容易地摆出姿势和角色的四肢,或实时的操纵骨骼,不再需要关键帧。

工作流

笔者使用的是Unity2019.3 Beta,在此版本中2D IK 在Package Manager中属于Preview Package,直接打开Package Manager找不到2D IK。需要点击 Advanced>Preview Packages
在这里插入图片描述
以下工作流将继续2D Animation的工作流,并将2D IK应用到我们的角色骨骼中。
1.使用Sprite Editor创建骨骼
2.给游戏物体添加IK Manager 2D组件。通常这个组件添加在根节点
3.在IK Manager 2D中点击’+'号,添加IK Solvers,IK Solvers将添加一个额外的游戏物体。
4.选中IK Solver,选择Effector,将骨骼添加进去,点击下面的CreateTarget生成一个Target
5.调整Target位置,移动Target骨骼链将随之移动。

IK Solvers

IK Solvers将计算为了达到Target position,Effector的位置和角度和其连接的骨骼的位置和角度。每种IK Solver有自己的算法。

PropertyDescription
Effector默认的骨骼或IK Solver 的位置
Target指定Effector的目标位置
Constrain Rotation约束旋转的程度
Restore Default Pose启用此选项可将骨骼恢复到应用2D IK之前的原始位置。 禁用与效果器当前位置和旋转有关的2D IK。
Weight调整IK Solver对原始Transform的影响程度
Chain LengthIK影响骨骼链中的数量
Iterations算法的运行次数
Tolerance指定Effector的目标位置,,何时IK Solver 停止iterating
IK Manager 2D

IK Manager 2D组件控制IK Solvers。在根节点添加此组件。
1.在根节点添加Manager
在这里插入图片描述
2.添加IK Solver
在这里插入图片描述
3.根据不同的算法生成IK Solver
在这里插入图片描述
IK Solver在上面的顺序中降序遍历,此顺序一般根据骨骼在组织上的形式进行排序。
比如胳膊是躯干的一个子物体,那么IK顺序应该是 IK Solver在arm Solver之上。

Weight

IK Manager 2D中的Weight控制全部的Solvers对骨骼的影响程度

创建一个Target

再创建一个IK Solver后,通过Create Target创建于给Target。Target将反应Effector尝试去到达的位置。在Effector朝着Target Pos移动的时候,IK Solver将计算Effector的旋转和其连接的骨骼的旋转。

API

可以通过代码继承Solver2D类来实现自己的solver。拓展的类将作为一个新的solver显示在IKManager2D的组件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值