FinalIK和Ragdoll(1):准备工作

前言

教程视频
本文仅供个人学习和知识点记录用。
Unity版本:2021.2.15f1c1
Final IK版本:2.1(工作室群文件里有)
Low Poly模型素材包:Heist
状态机来源:Unity Standard Assets


1.1 一些问题的解决方案

1.1.1 导入Final IK如果报错:


解决方案:双击error进入问题所在脚本,在最上面写“using UnityEngine,UI”,然后把“GUIText”改为“Text”

1.1.2 挂了ThirdPersonAnimatorController但按WASD角色没反应

解决方案Project Settings->Player->Other Settings->Configuration->Active Input Handing->Both

1.2 简要了解Final IK

1.2.1 什么是IK

  • 正向动力学(Forward Kinematics):每一个子关节的位置、方向由父关节支配(父关节动,子关节跟着动,子关节动,父关节未必动)的动力学模型,比如走路。使用FK做这类动作比较简单(你自己走几下就知道如何设计游戏人物的走路动作)计算速度快,但工作效率低(因为几乎所有的父关节都要人工调整)。
  • 反向动力学(Inverse Kinematics):依据某些子关节的最终位置、角度反求出整个骨架形态的动力学模型,比如在战斗中挥剑抵挡攻击,让剑去抵挡,也就是依据剑或者持剑的手的状态来调整手的父节点(手腕、肘部、上臂、肩膀和脊柱等)的位置的时候,使用IK能够让格挡动作易于实现,不必人工调整父节点,交由计算机计算减少了工作量,但是这么做会占用计算机资源,使用IK的关节越多,这种负面效果越明显。
  • 一般的做法:
    • FPS游戏(骨骼动画+IK):在跑动、走路、跳跃、匍匐这类姿势比较单一的动作中使用骨骼动画,而在角色和环境互动的部分(主要是手、脚)使用IK,使得人在上坡时脚面贴着斜坡,可以跨过不同高度的障碍物,拿取不同高度的物品等,充分利用IK的灵活性IK受物理环境影响的特性。
    • 需要夸大肢体动作,夸大物理效果的动作类游戏(比如人类一败涂地):借助IK依据子关节调整父关节的特性,做出一些搞笑的效果。
    • VR:由于VR世界中可以供玩家输入的设备只有头戴显示器和手柄,对应虚拟世界中的头和手,如果我们需要通过手柄和头的动作让虚拟形象其他部位的动作贴近真实,我们可以借助IK技术。

1.2.2 为什么是Final IK

  • 易于上手,便于学习(在Inspector内就可以做出大部分调整,不用一遍遍回到脚本里改)
  • 可视界面,较为友好(早期甚至不用接触代码)
  • 可以调整的部位比Unity IK多

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022 Daniel Qi
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信