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

Unity动画模块 之 2D IK(反向动力学)

本文仅作笔记学习和分享,不用做任何商业用途

本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​

1.什么是IK 

 反向动力学 IK(Inverse Kinematics)是一种方法,可以根据某些子关节的最终位置和角度来推算其他父节点的位置(反向动力学 - Unity 手册)

说白了,默认情况下(正向动力学)骨骼的父物体对象可以控制子对象,而IK(反向动力学)可以帮你用子骨骼影响父对象

在2D中你可以为绑定好骨骼的对象添加一个IK Manger组件

Q:Ik的应用?

A:IK 用于计算关节链中各个关节的位置和角度,以便达到目标位置或方向,在游戏和动画中,IK 可以用于更自然地控制角色的运动,例如行走、抓取物体、弯曲手肘等

机器人学:IK 也在机器人学中广泛应用,用于控制机械臂、腿部和其他关节的运动。虚拟现实和增强现实:在 VR 和 AR 应用中,IK 可以帮助用户更自然地与虚拟环境进行交互

Q:IK的工作原理

A:IK 算法根据末端效应器(例如手或脚)的位置来计算关节的角度,这通常涉及到数学求解,例如使用雅可比矩阵或迭代法

2.使用举例

2D Inverse Kinematics (IK) | Package Manager UI website (unity3d.com)

点击 IK Solvers 列表右下角的“+”号,以添加 IK 解算器。每个 IK 解算器也会作为额外的游戏对象出现在层次结构中,这会出现三种模式

以CCD模式为例,首先我需要控制大嘴花的五个啾啾,所以在其骨骼下分别添加了五个空物体

光看手册还需要机翻一下,所以我直接粘贴过来在本页看得了

Effector:定义骨骼或转换IK求解器解决
Target:变换用于指示效应器所需的位置
Constrain Rotation:这将约束效应器的旋转到目标的旋转
Restore Default Pose:在应用2D IK之前,使骨骼恢复到原始位置,禁用与效应器当前位置和旋转相关的2D IK应用
Weight:使用滑块来调整IK求解器的解决方案对原始变换位置的影响程度。当最小值为0时,IK解被忽略, 在最大值为1时,IK被完全应用
Chain Length:这个值进一步受到IK管理器的主权重设置的影响
IK解决方案应用到的链中的骨/变换(从效应器开始)的数量
Iterations:算法运行的次数
Tolerance:目标被认为到达目标位置的阈值,以及IK求解器停止迭代的时间

 把末端的空物体拖入解算器,设置一下受影响长度,创建目标获得解算对象

这样末端受击,怪物整体也会受到影响

http://www.lryc.cn/news/421709.html

相关文章:

  • 关于kickstart自动安装脚本以及dhcp的设置
  • AWS云服务器选择最佳区域
  • Unity Android端截图保存并获取展示
  • linux高级编程——文件IO
  • windows C++-在 C++/WinRT 中使用委托处理事件(下)
  • 【实用工具】Stirling-PDF: 优质开源的PDF处理工具/编辑工具-含入门安装教程
  • opencv 深度图视差图可视化案例
  • Golang | Leetcode Golang题解之第330题按要求补齐数组
  • 算法训练(leetcode)第五十二天 | Bellman_ford 队列优化算法(SPFA)、BF算法判断负回路、BF之单源有限最短路(有负回路)
  • SpringBoot中整合RabbitMQ(测试+部署上线 最完整)
  • 算法板子:线性DP——算出三角形中的最大路径值、求最长上升子序列、求最长公共子序列
  • 【C++】值传递
  • 工业三防平板助力MES系统打造工厂移动式生产管理
  • keepalived+nginx实现的简单高可用故障转移
  • openai api使用
  • 带你走进haproxy的世界
  • STM32--中断使用(超详细!)
  • 【深度学习实践】基于深度学习的图像去雾算法-ChaIR-实践
  • 《乳腺密度高的女性中,使用AI辅助的乳腺X线筛查与补充筛查超声的比较研究》| 文献速递-基于深度学习的乳房、前列腺疾病诊断系统
  • crm 销售管理系统有哪些?国内外排名前十盘点
  • package-lock.json 要提交到git吗?
  • 算法学习day32
  • 知识与智慧
  • 使用FFmpeg实现摄像头RTMP实时推流
  • 使用 LabVIEW 编程更改 IMAQ/IMAQdx 接口的相机文件
  • [后端代码审计] PHP 基础学习
  • 【OpenCV C++20 学习笔记】直方图计算-split, calcHist, normalize
  • js入门经典学习小结
  • nps内网穿透之——腾讯云服务器和linux虚拟机
  • 大数据知识点