UE4_常见动画节点学习_Two Bone IK双骨骼IK

news2024/12/26 21:30:40

学习资料,仅供参考!

Two Bone IK 控制器将逆运动(IK)解算器应用于到如角色四肢等3关节链。

变量( HandIKWeight )被用于在角色的 hand_l 和 hand_r 控制器上驱动 关节目标位置(Joint Target Location) 属性。通过对数值进行调整,可决定角色持有武器的方式,而无需根据不同角色手动设置不同姿势的动画。

AnimGraph节点网络显示如下,可复制并粘贴到自己的动画蓝图中。

Two Bone IK属性

可在Two Bone IK节点的 细节 面板中找到以下属性:

属性

说明

IK

IK骨骼

要应用IK解算器的骨骼命名。此应为骨链末端的骨骼,如脚踝或腕骨。

拉伸限制

X

肢体最大长度的比率,用于决定缩放骨骼的时间。

Y

平移组件的最大缩放量。

允许拉伸

如为true,则可拉伸骨骼。

末端执行器

执行器空间骨骼命名

执行器位置空间设为BCSBoneSpace时,用作执行器位置的骨骼命名。

获取执行器空间的旋转

启用时,执行器(组件、父或骨骼)的旋转将应用到IK骨骼。

维持执行器Rel Rot

启用"获取执行器空间的旋转"时,将覆盖此属性。

执行器位置空间

效果器位置的参考帧。

数值

效果

平移

XYZ组件在目标骨骼上的平移。

旋转

XYZ组件在目标骨骼上的旋转。

缩放

XYZ组件在目标骨骼上的缩放。

关节目标

关节目标位置空间

关节目标位置的参考帧。

数值

效果

平移

XYZ组件在目标骨骼上的平移。

旋转

XYZ组件在目标骨骼上的旋转。

缩放

XYZ组件在目标骨骼上的缩放。

关节目标空间骨骼名称

关节目标位置空间设为BCSBoneSpace时,用作关节目标位置的骨骼命名。

Two Bone IK节点上默认公开以下引脚:

引脚

说明

输入引脚

执行器位置

在执行器位置空间中指定位置执行器的向量。

关节目标位置

在关节目标位置空间中指定位置关节目标的向量。

大体计算过程:

joint target location用于保证joint节点在root、effector location和joint target location所构成的平面上。

root为ik骨骼的父节点的父节点,三个关节,两根骨骼。

(root到effector location)的单位向量与(root到joint target location的向量)做点积,得到(effector location到joint target location的向量)。

如果脚伸不直的话,我们需要求出三个关节中中间关节的位置joint,而(root到joint的骨骼长度)、(joint到ik骨骼(即effector location)的长度)和(root到effector location的向量长度)是已知的,知道了三边,我们可以用余弦定理求出(root到joint的骨骼长度)与(root到effector location的向量长度)之间的夹角r。

root到joint的向量求出,那么就知道了joint的位置了。

root到joint的向量正好为另外两个单位向量的和乘以模长,因为r角度已经求出,而r正对着的向量为(effector location到joint target location的向量)的单位向量。

点积意义如下:

余弦定理如下:

源码解析参考:

【UE5】深入理解动画模块7: 双骨骼IK算法与源码解析_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1617211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无锡日报:用超算系统设计国产民航飞机!“神威”,再显神威!

用国产超算系统 设计国产民用飞机 ✈ 我国推进高水平科技自立自强 又迈出坚实一步 4月19日,来自国内航空领域和计算机领域的专家相聚国家超级计算无锡中心,启动“面向新一代国产超算系统的民用飞机多学科联合设计优化技术与软件”项目,并…

线上剧本杀小程序开发,未来行业的发展趋势?

当下,剧本杀成为了大众最喜欢的娱乐方式之一,作为以沉浸式为主的剧本杀正成为新时代下的发展潮流。 数据显示,剧本杀行业已达到了百亿元。面对发展迅猛的剧本杀市场,越来越多的资本进入到了市场中,剧本杀的产业链也逐…

OpenHarmony实战开发-如何实现tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。

介绍 本示例实现了tabContent内容可以在tabBar上显示并且tabBar可以响应滑动事件的功能。 效果图预览 使用说明 1.点击播放按钮进行视频播放,按住进度条按钮和进度条下方区域可以拖动进度条,更改视频播放进度。 实现思路 原生的Tabs组件&#xff0c…

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 设置访问Redis密码

微服架构基础设施环境平台搭建 -(六)Kubesphere 部署Redis服务 & 设置访问Redis密码 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基础设施环境平台搭建 -(二…

记账本React案例(Redux管理状态)

文章目录 整体架构流程 环境搭建 创建项目 技术细节 一、别名路径配置 1.路径解析配置(webpack) ,将/解析为src/ 2.路径联想配置(vsCode),使用vscode编辑器时,自动联想出来src文件夹下的…

Day13.一刷数据结构算法(C语言版) 102二叉树的层序遍历;226翻转二叉树;101对称二叉树

一.102二叉树的层序遍历 二叉树的层序遍历力扣题目 1.思路分析 这道题我没有什么好的思路,而且力扣给的函数形式看得有点懵,所以我找到一个相对好理解的题解,具体可以参考下方链接。 力扣题解 说明: 返回值:可…

《从零开始的Java世界》10File类与IO流

《从零开始的Java世界》系列主要讲解Javase部分,从最简单的程序设计到面向对象编程,再到异常处理、常用API的使用,最后到注解、反射,涵盖Java基础所需的所有知识点。学习者应该从学会如何使用,到知道其实现原理全方位式…

【养生】个人参考:五脏运动

如有侵权可以下架,仅应用于个人查阅

BM25检索算法 python

1.简介 BM25(Best Matching 25)是一种经典的信息检索算法,是基于 TF-IDF算法的改进版本,旨在解决、TF-IDF算法的一些不足之处。其被广泛应用于信息检索领域的排名函数,用于估计文档D与用户查询Q之间的相关性。它是一种…

查看项目go代码cpu利用率

1.代码添加: "net/http"_ "net/http/pprof"第二步,在代码开始运行的地方加上go func() {log.Println(http.ListenAndServe(":6060", nil))}() 2.服务器上防火墙把6060打开 3.电脑安装:Download | Graphviz …

机器学习基础-PR\ROC\F1

1 1 、ROC曲线2 、PC曲线3、F14 、正负样本不均衡时怎么选择 1 、ROC曲线 就是TPR 与FPR 曲线 如图,就是根据阈值不同,我们看我们的二分类器的结果,根据结果算出TPR(真阳性)与FPR(假阳性),最好的情况就是如图,我们的…

学习springcloud中Nacos笔记

一、springcloud版本对应 版本信息可以参考:版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 这里说2022.x 分支对应springboot的版本信息: Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version 2022.0.0.0* Spring Cloud 202…

【C++】一篇文章带你深入了解list

目录 一、list的介绍二、 标准库中的list类2.1 list的常见接口说明2.1.1 list对象的常见构造2.1.1.1 [无参构造函数](https://legacy.cplusplus.com/reference/list/list/list/)2.1.1.2 [有参构造函数(构造并初始化n个val)](https://legacy.cplusplus.com/reference/list/list/…

Win10下VS2015无法添加任何文件,提示未能加载文件或程序集“Microsoft.VisualStudio.JSLS...

错误:未能加载文件或程序集“Microsoft.VisualStudio.JSLS, Version14.0.0.0, Cultureneutral, PublicKeyTokenb03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 解决: 1. 管理员身份打开cmd 2. cd C:\Program Files (x86)\Microsoft Vis…

Matplotlib官网查阅资料

Matplotlib官网详细的地址: 英文文档:https://matplotlib.org/stable/contents.html中文文档:https://www.matplotlib.org.cn/ Matplotlib英文官网: 查找属性: 1.进入官网。 2.查找参数属性。 Matplotlib中文官网: 查找属性:…

SVN小乌龟汉化问题

1.首先确认中文语言包和SVN版本需要一致(点击右键 选择最后一个选项即可查看) 官网链接 点击这个官网链接可以下载对应版本的中文包 2.下载好之后直接无脑下一步安装即可 3.如果还是没有中文,找到这个文件夹,把里面的内容全部删…

【黑马头条】-day12项目部署和发布-jenkins

文章目录 1 持续集成2 软件开发模式2.1 瀑布模式2.2 敏捷开发2.2.1 迭代开发2.2.2 增量开发 3 Jenkins3.1 Jenkins安装3.1.1 导入镜像3.1.2 配置3.1.3 初始化设置 3.2 插件安装3.3 服务器环境准备3.3.1 Docker安装配置3.3.2 Git安装配置3.3.3 Maven安装配置 3.4 Jenkins工具配置…

接口测试和Mock学习路线(上)

一、接口测试和Mock学习路线-第一阶段: 掌握接口测试的知识体系与学习路线掌握面试常见知识点之 HTTP 协议掌握常用接口测试工具 Postman掌握常用抓包工具 Charles 与 Fiddler结合知名产品实现 mock 测试与接口测试实战练习 1.接口协议: 需要先了解 O…

截断堆积柱状图绘制教程

本教程原文链接:截断堆积柱状图绘制教程 欢迎大家转载!!!! 本期教程 写在前面 堆积柱状图是柱状图的常见类型之一,也是平时使用概率较高的图形之一。我们前期发布了很多个柱状图的绘制教程,若你…

Vue3、 Vue2 Diff算法比较

Vue2 Diff算法 源码位置:src/core/vdom/patch.ts 源码所在函数:updateChildren() 源码讲解: 有新旧两个节点数组:oldCh和newCh; 有下面几个变量: oldStartIdx 初始值=0 oldStartVnode 初始值=oldCh[0] oldEndIdx 初始值=oldCh.length - 1 oldEndVnode 初始值=oldCh[ol…