美文网首页Unity3D
【Unity3D】IK动画

【Unity3D】IK动画

作者: LittleFatSheep | 来源:发表于2023-03-02 09:06 被阅读0次

1 IK简介

2D动画人体模型及动画人物跟随鼠标位置中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识及人体动画的应用,本文将进一步介绍 IK 动画。

反向运动学(Inverse kinematics,IK)反映的是一种由手部带到肩部的运动形式,在这个运动中,运动以手部这个自由端为起始,当手部进行运动时会自然的带动固定端肩部的运动。

通常情况下(如:用手端起一个杯子),由肩部带到手部运动,而 IK 是由手部带到肩部运动,所以这种运动学称为反向运动学。IK 的例子有:手触电、被别人牵着走、开枪时手的抖动。

IK 的作用主体是人体,受力来自外部,Unity3D 提供的 IK 端点有首部和足部。

2 IK动画

本节以“瞄准敌人并开枪射击敌人”为例,讲解 IK 动画的使用。瞄准敌人并开枪射击敌人,是一个手部和臂部的动画,使用 Transform 组件可以很容易实现角色朝向敌人,但是较难控制枪口对准敌人,如果直接使用 Transform 组件对枪口位置进行调整,虽然能够对准敌人,但是破坏了动画。使用 IK 动画,能够做到在不破坏动画的前提下使枪口对准敌人。

1)开启 IK Pass

2)脚本组件

using UnityEngine;

public class IKController : MonoBehaviour {
    public Transform target;
    private Animator animator;

    private void Awake() {
        animator = GetComponent<Animator>();
    }

    private void OnAnimatorIK(int layerIndex) {
        // 设置IK权重
        animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1);
        // 设置IK位置
        animator.SetIKPosition(AvatarIKGoal.RightHand, target.position);
        // 设置眼睛的IK权重
        animator.SetLookAtWeight(1);
        // 设置眼睛的IK位置
        animator.SetLookAtPosition(target.position);
    }
}

说明:脚本组件挂在人物对象上。

声明:本文转自【Unity3D】IK动画

相关文章

  • Unity3D之Mecanim动画系统学习

    Unity3D之Mecanim动画系统学习笔记(七):IK(反向动力学)动画Unity3D之Mecanim动画系统...

  • 5.9IK动画和动画曲线

    IK动画 usingUnityEngine; usingSystem.Collections; publiccla...

  • Biped学习记录18(多轴心变换)-Key Info

    在Biped的动画中,经常会遇到反向动力学IK,动画中不可避免的遇到一些旋转的动画,当某个关节处于IK时,需要进行...

  • 动画 IK & FK

    在UE动画中,经常出现 IK 与 FK 的一些相关蓝图节点,例如 Apply FK 、Two Bone IK .....

  • Duik (简介)

    对于MG的角色动画来说,这个脚本肯定是最为实用的。 一、绑定界面 IK(肢体部分绑定) IK目标约束 (不熟,不过...

  • Unity基础(23)-动画系统

    Unity3D动画系统 分为旧版动画系统和新版动画(Mecanim)系统即Animation 与 Animator...

  • Mecanim动画系统

    Unity3D动画系统分为旧版动画系统和新版动画(Mecanim)系统即Animation 与 Animator ...

  • Animator动画融合、IK

    动画融合:在特殊情况下需要播放俩个动画的内容,且不增加动画数量,可以应用动画融合处理,比如移动攻击等 1.首先创建...

  • Unity3d DoTween动画插件视频教程

    Unity3D动画插件里面(DOTween,HOTween,LeanTween,iTween)DOTween...

  • 跟诸子学游戏 动画

    在unity3d中,有6种动画可以使用 animation animator TimeLine 自定义动画(如:定...

网友评论

    本文标题:【Unity3D】IK动画

    本文链接:https://www.haomeiwen.com/subject/eipohdtx.html