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

UE5 在旋转A的基础上执行旋转B

用径向slider实现模型旋转时,得到的结果与ue编辑器里面的结果有很大出入。

问题应该是

两个FRotator(0,10,0)和(10,20,30),

两个FRotator的加法结果为:(10,30,30)

和实际上我想执行的操作——在(10,20,30)的基础上执行(0,10,0)不一样。

更具体的数学问题应该去参考欧拉角、四元数的概念。gpt说,根本原因是:欧拉角(Pitch, Yaw, Roll)不是线性空间里的量,旋转本身是非线性的。四元数有很多好处,避免万向节死锁等。

解决办法(参考deepseek和官方论坛):

设置绝对的旋转为这个:

FRotator(B.Quaternion()*A.Quaternion())

A为原来的状态、B为在原来状态下的增量,B和A相乘的顺序好像也有讲究(四元数乘法问题)。当然slider可能也许要保存处理一下增量?(这个还没查怎么搞,目前是用一个变量去存上一次的状态的)。Ex:蓝图里有个合并Rotator的BP函数,但是cpp里面没找到,推荐用上面的四元数的方法实现)

相关文章:

  • UE5 NDisplay 单主机打包运行
  • Java8 后接口的用法总结
  • Kubernetes/KubeSphere 安装踩坑记:从 context deadline exceeded 到成功部署的完整排障笔记
  • 如何排查服务器中存在的后门程序
  • 纯净IP的优势:稳定性与安全性的结合
  • Spring框架的ObjectProvider用法-笔记
  • STM32F103_HAL库+寄存器学习笔记21 - CAN接收过滤器:CPU减负神器,提升系统效率的第一道防线
  • Java——封装(面向对象)
  • 迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】
  • 检查 NetCDF Fortran的版本
  • 【Java-Day 2】Java开发利器:IntelliJ IDEA入门教程(安装、配置、项目创建、调试)
  • 零基础 学习Linux shell编程语法
  • 机器学习 | 基于回归模型的交通需求预测案例分析及代码示例
  • 【工具】scMultiMap基于单细胞多模态数据实现增强子与靶基因的细胞类型特异性映射
  • 基于STM32、HAL库的TSC2046IPWR触摸屏控制器驱动程序设计
  • 【同局域网/内网环境 Windows 远程桌面连接】
  • 动手学深度学习11.10. Adam算法-笔记练习(PyTorch)
  • Pacman-Multi-Agent Search
  • 深度解析:具身AI机器人领域最全资源指南(含人形机器人,多足机器人,灵巧手等精选资源)
  • AiCube 试用 - ADC 水位监测系统
  • 报告显示2024年全球军费开支增幅达冷战后最大
  • 黄仁勋访华期间表示希望继续与中国合作,贸促会回应
  • 劳动最光荣!2426人受到表彰
  • 全过程人民民主研究基地揭牌,为推动我国民主政治建设贡献上海智慧
  • 伊朗南部港口火势蔓延,部分集装箱再次发生爆炸
  • 葛兰西:“生活就是抵抗”