Unity | Finak IK基础组件功能使用
Thepoly原创 15265 0
实名

通过了实名认证的内容创造者

发布于 2023-4-26 17:45:08

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

x

81206981b603f57a91c07389ac43df78.jpg


Hello . 大家好
今天给大家带来UnityFinalIK基础功能演示我是几维
a8e7f8990925571c6f19c9a600dbce26.png


Final IK是一个强大的高速轻量级全身IK求解器,用于实时程序动画修改和各种复杂的动画效果。本文将简单描述一种常用FinalIK组件的基本使用方法。

1Ground IK



首先向场景中放置一个角色。



给它添加四个组件,分别是:Rigidbody,Capsule Collider,Full Body Biped IK,Grounder Full Body Biped。



将Capsule Collider调整到一个相对匹配角色的大小。



创建一个Animator Controller打开它,并将一个行走的Animation Clip拖入Animator Controller的动画状态机面板中。



然后把Animator Controller拖入Animator组件下的Controller上。



将Grounder Full Body Biped下Solver里面的Layers改成Everything。



如果你的Animation Clip是向前移动的,则要去选Apply Root Motion。如果本身就是原地的则保持默认勾选状态。



点击运行时按钮后,脚就就会自动识别box的高度并在向前移动时抬脚踩到box上。


2RagDoll



首先向场景中放置一个角色。



给它添加两个组件,分别是:Full Body Biped IK,Ragdoll Untility(Script)。



将Full Body Biped IK拖拽到Ragdoll Utility里的IK上。



在3D Object栏里面创建Ragdoll。



根据Full Body Biped IK里面的骨骼参考一对一地将它们匹配到Ragdoll骨骼上。并点击Create。



创建完后,每个关节都会生成一个碰撞体。



在运行时模式下,当你试着去不启用Full Body Biped IK时,会产生RagDoll死亡的效果。(也可以通过写脚本控制)



3Aim IK



首先向场景中放置一个角色。



给它添加两个组件,分别是:Terrain Offset Aim IK(Script),Aim IK。



在Bip002 Neck层级下创建一个GameObject(确保此空的GameOBject的Transform里面的数值都是默认值,只有Z轴需要和世界坐标匹配),并命名为AimTransform。然后将它拖拽到Aim IK组件下的Aim Transform里面。



展开Aim IK组件,在Bones下创建四个空的Bones,并将Spine1,2,3和Neck拖入其中。(此处设想控制上半身跟着目标运动)



此时,进入运行时模式下,移动AimTransform已经成功可以控制整个上半身骨骼,但为了方便演示,以及更好的结果,还需要创建一个目标点。在场景中创建一个Sphere,命名为Target。


展开 Terrain Offset Aim IK(Script)组件,并将Aim IK组件拖拽到Aim IK上,将Sphere(Target)拖拽到Target上。



再次点击运行时模式后,移动Sphere(Target),上半身就会跟着目标球体旋转朝向。



4Interaction System



首先向场景中放置一个角色。



给它添加三个组件,分别是:Interaction System Test GUI(Script),Interaction System,Full Body Biped IK。


创建一个Sphere,添加一个Interaction Object组件。


在Weight Curves输入1,添加一段曲线(如图),它来控制角色触碰到目标球体的时间以及节奏。



展开Interaction System Test GUI(Script),将Sphere(Target)拖拽到Interaction Object上。



添加一个影响器,选择任意部位(与球体目标体交互)。这里选择Left Hand。



在运行时模式下,点击Start Inteaction With Target,实现左手触碰到球体并收回的动画(自动生成的动画)。



5Grounder Quadruped



首先向场景中放置一个四足生物。



给它添加两个组件,分别是:Rigidbody,Capsule Collider。并将Capsule Collider展开调整到合适的参数匹配模型。



分别在此游戏对象(Wolf)下创建四个空的GameObject,分别命名为GrounderQuadruped,IK_Foreleg_L,IK_Foreleg_R,IK_Leg_L,IK_Leg_R。


在GrounderQuadruped游戏对象下,添加一个Grounder Quadruped组件。



分别给子级四个GameObject添加Limb IK组件。



IK_Foreleg_L/R添加相对应的骨架。同时Avatar IK Goal改成Left Hand/Right Hand。



IK_Leg_L/R也添加相对应的骨架。同时Avatar IK Goal改成Left Foot/Right Foot。



此时将Grounder Quadruped组件展开,把对应的骨架和对应的空游戏对象(IK_Leg_L/R和IK_Foreleg_L/R)拖拽上去。



将Grounder Quadruped组件下Layers换成Default,其他的参数根据实际情况适当的调整。



给一个Animator Controller上去。让此四足生物具备动画。



创建一个Cube,点击运行时。四肢将有IK的效果。




- End -



   

0904067b499a54a84931b7633f6bc4be.png
0904067b499a54a84931b7633f6bc4be.png
0904067b499a54a84931b7633f6bc4be.png
还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表