当前位置: 首页 > article >正文

Unity学习笔记之【IK反向动力学操作】

反向动力学Inverse Kinematics

  • 反向动力学,简称IK。相较于正向动力学,反向动力学旨在子级对父级产生的影响。

  • 使用IK,可以实现根据目标位置或方向来计算并调整角色的关节(骨骼)链,以使角色的末端(如手臂、腿部等)达到预期的位置或取向。

  • 通过使用 Unity 的 IK 功能,你可以实现各种复杂的角色动画效果,如角色抓取、足部对齐、手臂跟随等。

前言:使用IK时需要到动画器图层设置勾选IK选项

在这里插入图片描述

一、实现角色头部持续看向某物体

1. 在玩家角色的脚本中添加所看向的目标物体

    public GameObject target;
    public Transform target_trans;

2. 将所视的目标物体拖拽绑定

在这里插入图片描述

3. 编写有关IK的方法 OnAnimatorIK

    private void OnAnimatorIK(int layerIndex)//参数layerIndex设置动画层数

    {
        animator.SetLookAtWeight(1);//设置头部权重
        animator.SetLookAtPosition(target_trans.position);//看向目标物体的位置
    }

4. 实现效果如下 :移动角色时注释立方体

在这里插入图片描述

二、实现手部IK动作

    private void OnAnimatorIK(int layerIndex)//参数layerIndex设置动画层数

    {
        //手IK位置权重
        animator.SetIKPositionWeight(AvatarIKGoal.RightHand,1);
        //手IK旋转权重
        animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1);
        //设置右手IK指向
        animator.SetIKPosition(AvatarIKGoal.RightHand, target_trans.position);
        //设置右手IK旋转
        animator.SetIKRotation(AvatarIKGoal.RightHand, target_trans.rotation);
        
    }

实现效果如下

在这里插入图片描述


http://www.kler.cn/a/233045.html

相关文章:

  • Zotero 6.0 安装包及安装教程
  • HTTP常见的请求头有哪些?都有什么作用?在 Web 应用中使用这些请求头?
  • 06.VSCODE:备战大项目,CMake专项配置
  • java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
  • @ComponentScan:Spring Boot中的自动装配大师
  • Unity学习笔记(4):人物和基本组件
  • 20240209-最大可整分子集
  • c#: 表达式树的简化
  • 科研绘图-半小提琴图-
  • List 差集
  • 【开源】JAVA+Vue+SpringBoot实现房屋出售出租系统
  • vue父子组件通讯的几种方式总结学习
  • 基于SpringBoot的记账系统项目
  • Vagrant 虚拟机工具基本操作指南
  • echarts 一条折线图上显示不同颜色
  • 【Android】GridLayout实现等比布局
  • DC-9靶机渗透详细流程
  • 每日五道java面试题之java基础篇(一)
  • 飞桨自然语言处理框架 paddlenlp的 trainer
  • openssl3.2 - exp - buffer to BIO
  • HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用
  • 【ETOJ P1046】斐波那契数列 题解(数学+动态规划)
  • Electron+Vue实现仿网易云音乐实战
  • python 基础知识点(蓝桥杯python科目个人复习计划35)
  • 【开源】JAVA+Vue+SpringBoot实现实验室耗材管理系统
  • 前端图片转base64 方法