通过PS和Unity制作2D动画之二:IK的利用

[复制链接]
发表于 2025-12-10 10:29:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、IK的概念

IK:Inverse Kinematics,反向动力学。
(1)正向动力学

在骨骼动画中,构建骨骼的方法被称为正向动力学。它的表现情势是:子骨骼(关节)的位置根据父骨骼(关节)的旋转而改变。
举个例子,当我们抬起手臂时,是肩部关节动员整个手臂的活动,用父子骨骼明白就是父动员子。
(2)反向动力学

它和正向动力学恰恰相反,它的表现情势是:子骨骼(关节)末了的位置改变会动员自己以及自己的父骨骼(关节)旋转。
举个例子,当我们拿起一个杯子的时间是用手掌去拿。以杯子为参照物,我们移动杯子的位置,手臂会随着杯子一起移动。
用父子骨骼明白的话就是子动员了父。
(3)IK的用处


(4)总结

正向动力学:父动员子。
反向动力学:子动员父。
二、IK Manager 2D

想要让对象具备IK的本领,须要为父对象添加IK Manager 2D脚本。

(1)IK Solvers

IK解算器,在这里添加IK


  • Chain(CCD):可以自界说影响N个关节点,不能反向
  • Chain(FABRIK):可以自界说影响N个关节点,可以反向
  • Limb:只会影响3个关节点,一样寻常用于控制四肢
(2)Weight

权重,当有多个IK控制同一点时,权重会影响控制的百分比
(3)Limb Solver 2D

在IK Solvers的list中添加Limb,添加完成后会在bone_1下天生New LimbSolver2D。



  • Effector:默认的IK点位置,此处须要新创建空对象的信息
  • Target:根据IK点位置天生的IK对象,此处Solver会自动天生结果
  • Flip:旋转反向,用于控制IK的旋转方向
  • Constrain Rotation:束缚旋转程度
  • Solve from Default Pose:从默认姿势举行求解盘算
  • Weight:当前IK解算器的权重
示例:
1. 将New LimbSolver2D修改为Arm_Solver。
2. 找到最左端的骨骼,在这个骨骼下面创建一个空对象

3. 改变position的值移动GameObject的位置到左端的最外貌

4. 将该GameObject放到Effector选装中,可以看到有3个节点高亮,同时在Arm_Solver下天生了Arm_Solver_Target的对象。

5. 拖动第一个节点做动作

6. 在IK Solvers中再创建Limb,重定名为ArmR_Solver。用雷同的方法创建右臂的IK。



本文参考:IK的利用_哔哩哔哩_bilibili
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表