【Unity反向动力学IK】让人物的四肢听你安排!利用IK实现各种动画效果

这篇具有很好参考价值的文章主要介绍了【Unity反向动力学IK】让人物的四肢听你安排!利用IK实现各种动画效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果:

 

一 :了解IK

1.反向动力学IK(Inverse kinematics)可以依据某些子关节的最终位置、角度来反推节点链上其他节点的合理位置,Unity中设置了Avatar的人形角色都支持IK功能。

2.使用IK功能需要在Animator视窗对应的层里勾选IK Pass,勾选后每帧会调用脚本中的OnAnimationIK()。有五个节点进行设置:左手、右手、左脚、右脚、头部

unity 手部ik,动画,unity,游戏引擎,游戏,动画 

 注意:

人物骨架Rig中Animation Type的设置:Humanoid

unity 手部ik,动画,unity,游戏引擎,游戏,动画

3.本文涉及API

设置Positon及其Weight(权重)

Animator.SetLookAtWeigh(float weight);

Animator.SetLookAtPosition(Vector3 lookAtPosition);

Animator.SetIKPosition(AvatarIKGoal goal, Vector3 goalPosition);

Animator.SetIKPositionWeight(AvatarIKGoal goal, float value);

二 :具体实现

unity 手部ik,动画,unity,游戏引擎,游戏,动画

 

1:人物需要Animator Controller,勾选 IK Pass

unity 手部ik,动画,unity,游戏引擎,游戏,动画

2:脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerControl : MonoBehaviour
{
    public Animator anim;      //动画
    public Transform head;     //头部
    public Transform lefthand;  //左手
    public Transform righthand; //右手
    public Transform leftfoot;  //左脚
    public Transform rightfoot; //右脚

   

    private void OnAnimatorIK(int layerIndex)
    {
        anim.SetLookAtWeight(1);
        anim.SetLookAtPosition(head.position); //头部看向
        anim.SetIKPositionWeight(AvatarIKGoal.LeftHand, 1); 
        anim.SetIKPosition(AvatarIKGoal.LeftHand,lefthand.position); //左手位置
        anim.SetIKPositionWeight(AvatarIKGoal.RightHand, 1); 
        anim.SetIKPosition(AvatarIKGoal.RightHand,righthand.position); //右手位置
        anim.SetIKPositionWeight(AvatarIKGoal.LeftFoot,1); 
        anim.SetIKPosition(AvatarIKGoal.LeftFoot, leftfoot.position); //左脚位置
        anim.SetIKPositionWeight(AvatarIKGoal.RightFoot, 1); 
        anim.SetIKPosition(AvatarIKGoal.RightFoot, rightfoot.position); //右脚位置


    }
    void Update()
    {
        
    }
}

 注意:这些代表身体部位的transform,就是我们自己在场景里添加的几个sphere

unity 手部ik,动画,unity,游戏引擎,游戏,动画

anim指的是自己身上的动画组件

 3:运行实现效果文章来源地址https://www.toymoban.com/news/detail-652550.html

到了这里,关于【Unity反向动力学IK】让人物的四肢听你安排!利用IK实现各种动画效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 二维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_9】

    二维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_9】

    摘 要: 混沌(Chaos)是指发生在确定系统中的貌似随机的不规则运动,本文将基于经典的二维系统,然后根据动力学方程研究其混沌产生过程以及相对应的MATLAB仿真,再讨论Lyapunov指数以及正平衡点。 上一篇中介绍了一维系统,这次我们将维数提升到二。 /*仅当作学习笔记,

    2024年02月05日
    浏览(11)
  • 自动驾驶——车辆动力学模型

    自动驾驶——车辆动力学模型

    A矩阵离散化 B矩阵离散化 反馈计算 前馈计算: 超前滞后反馈:steer_angle_feedback_augment 参考【运动控制】Apollo6.0的leadlag_controller解析 控制误差计算 横向距离误差计算 横向误差变化率计算 航向角误差计算 航向角误差变化率计算 参考:Apollo代码学习(三)—车辆动力学模型

    2024年02月12日
    浏览(17)
  • 盐构造发育的动力学机制

    盐构造发育的动力学机制

    盐构造可以由以下6 种机制触发引起(图 2)[18] :①浮力作用;②差异负载作用;③重力扩张作 用;④热对流作用;⑤挤压作用;⑥伸展作用。盐体 的塑性流动和非常规变形是盐构造的主要特点,岩 盐有时在几百m 深处就可以流动,这主要与盐的纯度、地温梯度和盐的干湿度等因

    2024年02月20日
    浏览(12)
  • 自动驾驶控制算法——车辆动力学模型

    自动驾驶控制算法——车辆动力学模型

    考虑车辆 y 方向和绕 z 轴的旋转,可以得到车辆2自由度模型,如下图: m a y = F y f + F y r (2.1) ma_y = F_{yf} + F_{yr} tag{2.1} m a y ​ = F y f ​ + F yr ​ ( 2.1 ) I z ψ ¨ = l f F y f − l r F y r (2.2) I_zddotpsi = l_fF_{yf} - l_rF_{yr} tag{2.2} I z ​ ψ ¨ ​ = l f ​ F y f ​ − l r ​ F yr ​ ( 2.2 ) 经验公

    2024年01月18日
    浏览(15)
  • 观点动力学模型:主要理论与模型综述

    观点动力学模型:主要理论与模型综述

    意见动态建模 1 n 1_n 1 n ​ :表示n维全为1的列向量 0 n 0_n 0 n ​ :表示n维全为0的列向量 I n I_n I n ​ :表示 n × n ntimes n n × n 的单位阵 e i e_i e i ​ :表示基单位向量,向量中除了第i个位置上为1外其余都为0 矩阵A为非负矩阵,意味着着其中所有的元素 a i j ≥ 0 a_{ij}≥0 a i

    2024年02月09日
    浏览(10)
  • 旋翼无人机建模动力学公式整理

    旋翼无人机建模动力学公式整理

    C_T为升力系数,C_M为扭力系数,w为螺旋桨的转速 如果是‘十’字型的飞机 x,y,z轴的力矩为: d是机体中心到每个螺旋桨的距离,b是一个系数; f=Ct*W^2,Ct——升力系数,W——螺旋桨的转速 惯量矩阵为: 四个电机产生的力f1,f2,f3,f4,如果我们假设z轴向上为正,可以得到:

    2024年04月29日
    浏览(46)
  • 车辆运动学和动力学模型概述

    车辆运动学和动力学模型概述

    对车辆建立数字化模型,分为车辆运动学和动力学模型。 车辆运动学模型(Kinematic Model )把车辆完全视为刚体,主要考虑车辆的位姿(位置坐标、航向角)、速度、前轮转角等的关系,不考虑任何力的影响。 1.前提假设: 不考虑Z轴方向运动,默认车在二维平面上的运动 假设

    2024年02月13日
    浏览(9)
  • 血流动力学与血压(一)--平均动脉压

    血流动力学与血压(一)--平均动脉压

      上图表示了心脏泵血循环和一个简单的电路的相似程度,图(a)表示了一个简单的电路,V1-V2是在电阻两点的电势差,I是流经电阻的电流,R是电阻的阻值。类比于图(a),图(b)中的 SVR(systemic vascular resistance) 表示的的是全身血管阻抗,P1-P2表示的是体循环两个端点之间的血压

    2024年02月10日
    浏览(14)
  • 【机械臂算法】机械臂动力学参数辨识仿真

    【机械臂算法】机械臂动力学参数辨识仿真

    本文以puma560m机械臂为例子进行动力学参数辨识的讲解,puma560m可以在robotic toolbox中找到,这里以它真实机械臂对他的动力学参数进行辨识。 此外这里还有要说的是,机械臂参数辨识其实是一个系统工程,其中和机械、电子、嵌入式都有着很深的联系,并不是仿真这么简单的

    2024年02月15日
    浏览(43)
  • 【自动驾驶】二自由度车辆动力学模型

    【自动驾驶】二自由度车辆动力学模型

    车辆数学模型 车辆模型-动力学模型(Dynamics Model) 我们作如下假设: 车辆所受的空气的力只会对车身坐标系x轴方向上的运动有影响,y轴方向和沿着z轴的旋转不会受到空气力的影响; 车辆运行在二维平面中,也就是z轴无速度。 车辆轮胎力运行在线性区间。 在运动学模型中,

    2023年04月12日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包