UE5学习笔记18-使用FABRIK确定骨骼的左手位置

news2024/11/16 17:49:39

一、在武器的骨骼资产中创建一个新的插槽

 

二、在动画类中添加代码

        xxx.h

UPROPERTY(BlueprintReadOnly, Category = Character, meta = (AllowPrivateAccess = "true"))/** 蓝图只读 类型是Character 允许私有访问 */
FTransform LeftHandTransform;//拿武器时知道左手在什么位置 当前是右手拿武器

         xxx.cpp 在NativeUpdateAnimation函数中添加

	if (bWeaponEquipped && EquippedWeapon && EquippedWeapon->GetWeaponMesh() && BlasterCharacter->GetMesh())
	{
		/* 获得在世界空间中的骨骼的插槽 */
		LeftHandTransform = EquippedWeapon->GetWeaponMesh()->GetSocketTransform(FName("LeftHandSocket"),ERelativeTransformSpace::RTS_World);
		/* 转换成骨骼空间,	第一个参数是相对与哪个hand_r是右手骨骼的名字,
							第二个参数是新插槽的位置,LeftHandSocket是新添加的插槽
							第三个参数是旋转的度数,FRotator::ZeroRotator零旋转
							第四个参数输入变换的位置
							第五个参数输出变换的旋转
		*/
		FVector OutPosition;
		FRotator OutRotation;
		BlasterCharacter->GetMesh()->TransformToBoneSpace(FName("hand_r"), LeftHandTransform.GetLocation(), FRotator::ZeroRotator, OutPosition, OutRotation);
		LeftHandTransform.SetLocation(OutPosition);
		LeftHandTransform.SetRotation(FQuat(OutRotation));
	}

三、在动画蓝图中创建新的状态机,在将当前动画放在缓存中

 

 四、在三中的新的状态机中添加一个状态

五、在FABRIK状态中

注:在当前动画中直接将Use cached pose Aim offsets 和FABRIK直接连接后 中间的Local To Component 节点会自动出来 另一边的节点一样,直接连接就行 

六、运行调试如果对当前另一只手的位置不满意可以改变在添加的骨骼网格体中的插槽的位置

可以点击结束旁边的按钮移动武器的插槽查看是否满意当前位置 

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

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

相关文章

STL经典案例(三)——俺是歌手挑战赛管理系统(涉及的STL内容较多,篇幅有点长,耐心看完,相信我,一定会有收获的!)

一、需求:俺是歌手挑战赛比赛规则如下 目前共计12名选手报名参赛,选手编号为1-12号比赛分为A和B两组,每组6人,选手随机抽签进行分组比赛共两轮赛事,第一轮为淘汰赛,第二轮为决赛,淘汰赛中每组前…

Git —— 2、创建本地版本库

版本库 版本库又名仓库,英文名repository,这个仓库里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原“。   创建本地版本库…

day31-测试之性能测试工具JMeter的功能概要、元件作用域和执行顺序

目录 一、JMeter的功能概要 1.1.文件目录介绍 1).bin目录 2).docs目录 3).printable_docs目录 4).lib目录 1.2.基本配置 1).汉化 2).主题修改 1.3.基本使用流程 二、JMeter元件作用域和执行顺序 2.1.名称解释 2.2.基本元件 2.3.元件作用域 1).核心 2).提示 3).作用域的原则 2.…

【AI绘画】Midjourney前置/imagine与单图指令详解

文章目录 💯Midjourney前置指令/imagine什么是前置指令?/imaginepromptUpscale(放大)Variations(变化)🔄(重新生成一组图片) 💯单张图片指令Upscale (细节优化)Vary(变体…

计算机二级真题--程序填空大题 章节

每类题有一些规律,这里来总结一下个人做题遇到的一些规律,大家可以自行掌握 1.在while循环里常常会将将最后一行空着作为考点,例如下面第的10题,因为需要联系整个循环所以经常分析不出来,实际上for训话中也有过这种考…

无需标注数据:引领视频编辑模型达到新高度

人工智能咨询培训老师叶梓 转载标明出处 由于标注视频编辑数据的稀缺,开发精确且多样化的视频编辑模型一直是个挑战。目前研究者们大多聚焦于无需训练的方法,但这些方法在性能和编辑能力范围上都有所限制。为此Meta AI的研究团队提出了一种新的方法&…

Code Llama: Open Foundation Models for Code论文阅读

整体介绍 Code Llama 发布了3款模型,包括基础模型、Python 专有模型和指令跟随模型,参数量分别为 7B、13B、34B 和 70B。这些模型在长达 16k tokens 的序列上训练。都是基于 Llama 2。 作者针对infilling (FIM) 、长上下文、指令专门做了微调 long-con…

CSS Sprite(精灵图)

CSS Sprite也叫CSS精灵图、CSS雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去 优点: 减少图片的字节减少网页的http请求,从而大大的提高页面的性能 原理: 通过background-i…

《黑神话悟空》幽魂怎么打?大头怪幽魂打法攻略

黑神话悟空第一章中许多玩家都容易被大头怪幽魂给难住,这算是渡劫中的第一难,所以不少玩家想了解黑神话悟空大头怪怎么打?其实大头怪打起来并不难,只是很多的玩家们没有了解他的弱点以及特性。小编今天就为大家整理了大头怪幽魂的…

吴艳妮牵手创维,奥运后的首个代言为什么是她?

​近日,吴艳妮参加奥运会的表彰大会,晒出了与孙颖莎、王楚钦等运动员的合照,并写道:“最幸福的一天”在网络上引发讨论,让人不禁想起在巴黎奥运会刚结束的时候,家电巨头创维官宣她作为其品牌大使的消息也是…

在不训练模型的情况下强化语言模型

文章目录 一些神奇咒语提供额外资讯拆解任务使用工具让模型彼此合作 一些神奇咒语 让模型一步一步的思考 让模型解释一下自己的答案 对模型进行情绪勒索,比如对模型说:这件事对我真的很重要! 跟模型说”请“是没有用的;跟模型说“…

IO--标准函数使用方法

在学习这个知识点时,要清楚我们使用IO其实就是如何使用函数; 注意点 函数名函数参数之间的关系应用的场景,返回值缓冲区的概念 1、IO的分类 文件IO标准IO 重点 1、标准IO函数 fopen / fclosefprintf / fscanffputc / …

如何使用Kdrill检测Windows内核中潜在的rootkit

关于Kdrill Kdrill是一款用于分析 Windows 64b 系统内核空间安全的工具,该工具基于纯Python 3开发,旨在帮助广大研究人员评估Windows内核是否受到了rootkit攻击。 需要注意的是,该项目与Python2/3兼容,无其他依赖组件&#xff0c…

女明星玩乙游,为何会推动国乙玩家“世纪大和解”?

“震惊!叠姐和光姐竟然世纪大和解了。” 这件在国乙圈匪夷所思、想都不敢想的事,竟然在一位女明星的推动下发生了,也因此诞生了国乙圈的“8.22事件”。 事情的起因是女艺人乃万在社交平台上发布了乙游相关言论,引起了乙游玩家不…

SAP 有趣的‘bug‘ 选择屏幕输入框没了

如下代码将会输出一个P_U的字段 PARAMETERS p_u TYPE string VISIBLE LENGTH 12 MEMORY ID m1.AT SELECTION-SCREEN OUTPUT.LOOP AT SCREEN.IF screen-name P_U.screen-invisible 1.MODIFY SCREEN.ENDIF.ENDLOOP. 如果我们给这个字段设置一个默认值,参考如下代码…

8.26-docker创建容器+打包镜像+docker文件的学习

一、回顾 创建容器:docker run -it --name a1 centos:latest /bin/bash 查看容器:docker ps(查看正在up的容器) docker ps -a(查看所有的容器) 切回宿主机:ctrl p q 启动容器:d…

Furion+SqlSugar环境配置与项目创建

一、速通一图流 二、安装 .NET 8 1. 下载与安装 .NET 8 SDK 访问 .NET 下载页面 并下载最新版本的 .NET 8 SDK。根据操作系统选择适合的安装包(如 Windows、macOS 或 Linux),并按照提示完成安装。 2. 验证安装 打开终端或命令提示符&…

SpringMVC - 第一个 SpringMVC 程序

MVC: 模块 视图 控制器 的简写,表示层 属于 C V,业务层和逻辑层属于 M SpringMVC 是对 web 使用的一套框架,可以更加快捷高效的管理 web应用 所有的请求都会经过 DispatcherServlet 这一个 Servlet 支持 IoC 和 AOP 统一处理请求 可以解析多…

找工作——行秋24届求职面试经验汇总

前言 求职记录:本人bg双9(末流),共投岗位200,收到5个offer,求职方向偏向于国企,求职城市青睐新一线城市。个人求职记录 (qq.com)https://docs.qq.com/sheet/DSlBBVWRKZVZ5TWlD?tabBB08J2&…

C 06 编译4阶段

c语言编译的4个阶段:预处理、 编译、 汇编、 链接 预处理阶段会在源代码中查找预编译指令,其中主要是头文件展开(include),宏定义(defind),选择性编译(ifdef)三种指令 预…