Unity万向锁

2023-05-16

结论:

当第二轴旋转±90°时会产生万向锁,万向锁只发生在程序中,现实世界不会发生。
发生万向锁的底层原因是由于程序中会指定旋转顺序,且前后顺序为父子包含关系。

  1. 旋转顺序:因为同样一组数据,例如{X:10,Y:20,Z:30},不同的旋转顺序Z>X>Y \ X>Z>Y,最终得到的姿态是不一样的。
  2. 父子包含关系:以Z>X>Y为例,Z轴旋转会影响XY轴,X轴旋转会影响Y轴,Y轴不影响其他轴。现实世界中,其中一轴旋转会带动另外两轴旋转,故不会存在一轴旋转,会使另外两轴发生重叠,形成万向锁。

以Unity为例,Inspector面板Rotation:[X:90 Y:10 Z:10],Unity默认旋转顺序为Z>X>Y。

Z轴为10,旋转10°,影响XY轴,带动XY轴旋转10°。

X轴为90,旋转90°,影响Y轴,带动Y轴旋转90°,此时Y轴与Z轴发生重叠。

Y轴为10,旋转10°,不影响其它轴。

在Unity中,当X轴=±90°时(因为Unity中X轴是第二旋转轴),此时不管怎么旋转ZY轴,都饶同一轴旋转。

如下图所示,由于Unity以欧拉角旋转的顺序为Z->X->Y;所以只要|X|%180 == 90,改动Z和Y都只能在这个平面内旋转
在这里插入图片描述

原文地址

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity万向锁 的相关文章

  • 【Unity2d】带你制作一款类似于金山打字的小游戏

    博主大概08年开始接触电脑游戏 当时玩的是我哥的电脑 那时候家里没网 只可以玩电脑上自带的单机游戏 比如扫雷 蜘蛛纸牌等等 当然还有红色警戒 冰封王座 星际争霸 帝国崛起等等 这些大概是我哥当时在大学下载的 也是那个时候对游戏充满了兴趣 记
  • UnityLuaMvvM Lua 带通知的Mode类

    实现数据更新UI自动刷新的核心代码 欢迎关注https gitee com xiongks UnityMVVM mode function modeType local obj obj modeType modeType obj filds
  • 【Unity Shader】屏幕后处理1.0:调整亮度/饱和度/对比度

    1 Unity中实现屏幕特效的基本步骤 什么叫屏幕后处理 Screen post processing effects 渲染完整个场景得到屏幕图像后对图像进行一系列操作 实现各种屏幕特效 这一步我们可以添加很多例如景深 Depth of F
  • Unity 资源加载卸载过程

    什么时候才是UnusedAssets 看一个例子 Object obj Resources Load MyPrefab GameObject instance Instantiate obj as GameObject Destroy in
  • using UnityEditor引用注意事项

    本文转载自http blog csdn net czlilove article details 19979725 在运行时脚本中使用UnityEditor命名空间 假如该脚本被挂在场景中的物体上 那么 可以这样做 在Unity编辑器中运行
  • Unity中loading页加载的实现

    首先创建一个Global cs 使用单例用于存储场景的名字 便于后续脚本的调用 此脚本不必挂载在游戏物体上 using UnityEngine using System Collections public class Global Mon
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • Unity打开工程时卡住的问题

    自从Unity升级了一个版本后 Unity打开工程卡住的问题越来越严重了 具体表现为 选择工程后 Unity窗口消失 但进程还在 有时候等个几分钟能出来 有时候等10分钟都不见得能出来 直观感受上看 似乎是Unity加载工程的时候某一步卡了
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • Unity打包WebGL的优化常用操作?

    1 贴图部分优化 如果贴图格式时2048 在不影响画面效果的情况下 改成1024或者5 12 还可以缩小包体 2 压缩和解压缩问题 WebGL打包的时候分三种压缩情况 gzip 比Brotli文件打 但打包快 http和https都支持 B
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 游戏开发创建操作之玩家信息系统的建立

    游戏一般都需要玩家信息系统 那么我们应该如何搭建玩家信息系统 接下来我将展示一种简单的方法 完整代码如下 using System Collections using System Collections Generic using Uni
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste
  • 游戏开发常见操作梳理之小地图的制作

    游戏中一般存在小地图系统 实际上就是设置一个新的摄像机放置在玩家的正上方 然后在小地图上显示新摄像机看见的东西就可以了 在小地图上一般存在放大地图和缩小地图的按钮可以方便放大和缩小地图 这些操作是如何实现的呢 接下来直接上核心代码 usin
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void

随机推荐

  • LED驱动IC TM1616,TM1650,TM1651替代兼容型号(VK,AIP)

    产品型号 xff1a VK1650 产品品牌 xff1a VINKA 永嘉微电 永嘉微 封装形式 xff1a SOP16 概述 VK1650 是一种带键盘扫描电路接口的 LED 驱动控制专用电路 内部集成有 MCU 输入输出控制数字 接口
  • CJSON中有关于在对象中放数组,数组中放对象,以及其解析

    CJSON数据的打包 创立一个键值对 xff1a 键为 34 status element 34 值为数组 数组中有大量对象的Cjson 数据结构为 key1 xff1a value1 key2 xff1a value2 的键值对结构 ke
  • STM32F407使用USART2外设进行DMA1发送以及接收未知长度的数据

    1 STM32的串口接收数据有三种方式可以选择 xff1a 1 1 轮询接收 在主循环中一直判断串口接收完成标志位是否置位 xff0c 如果置位则读取收到的数据 该种模式一般不会使用 xff0c 其缺点很明显 xff0c 当主函数在做其他工
  • STM32 CAN通信的学习笔记总结

    转载地址 xff1a STM32 CAN通信的学习笔记总结 xff08 从小白开始 xff09 目录 1 总体概述 1 1 基本概念1 2 通讯方式1 3 为什么使用CAN 1 4 CAN的协议及组成 2 上帝视角看CAN的通讯过程 2 1
  • Python学习:numpy库 数据量太大出现Memory Error问题的解决方法汇总

    python处理大训练集过程中经常会遇到的Memory Error问题 这里看了几位博主的解决方案进行了整理 xff0c 感谢分享 xff01 http chenqx github io 2014 10 29 Python fastest
  • 学习C++有没有必要学习boost库?

    学习C 43 43 有没有必要学习boost库 xff1f https www zhihu com question 39817943 学习 C 43 43 Boost 之前 xff0c 是否需要对 STL 很熟悉 xff1f https
  • char型指针数组和数组指针(char *a[]和char (*a)[])赋值方法

    char型指针数组和数组指针赋值方法 指针数组赋值数组指针赋值 指针数组赋值 指针数组是指所定义数组的每个数组元素都是一个相应数据类型的指针 xff0c 开设空间的操作可以应用循环语句进行 xff0c 例如 xff1a char p 10
  • 基于stm32的自定义通信协议-模拟串行通讯

    目录 一 背景 二 方案设计 三 课程作业实施 四 测试结果 五 部分代码 xff08 完整代码可主页联系作者 xff09 一 背景 题目 xff1a 通过数字通道进行两个计算机系统的通讯目标 xff1a 设计 实现一个用于数字通道串行通讯
  • 视觉SLAM学习笔记——目录与参考

    写在前面 xff1a 从18年开始接触自主机器人定位建图 xff0c 8月打开高翔的 视觉SLAM十四讲 以及视频教程正式进行系统学习 xff0c 现在也基本能看懂那些State of the art的paper与算法 但感觉自己对于一些细
  • 【VINS论文翻译】VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator

    回到目录 写在前面 港科大的VINS Mono作为目前state of the art的开源VIO项目 xff0c 是研究视觉与IMU紧耦合的必读算法 xff0c 网上的论文解读与代码实现也非常丰富 xff08 感谢 xff01 xff09
  • linux--进程控制2

    在进程控制的章节我们讲解了我们的进程创建 xff0c 这章节对进程控制进行补充 xff0c 进程终止 在我们创建一个进程之后我们避免不了我们去终止我们的进程 终止场景 正常退出 xff0c 结果符合我们的预期正常退出 xff0c 结果不符合
  • VINS-Mono论文学习与代码解读——目录与参考

    前言 港科大的VINS Mono作为目前state of the art的开源VIO项目 xff0c 是研究视觉与IMU融合的必读算法 xff0c 网上的论文解读与代码实现也非常丰富 xff08 感谢 xff01 xff09 为更好地进行学
  • VINS-Mono代码解读——视觉跟踪 feature_trackers

    前言 本文主要介绍VINS的视觉处理前端的视觉跟踪模块 xff08 feature trackers xff09 论文第四章A节 xff08 IV MEASUREMENT PREPROCESSING A Vision Processing
  • 视觉SLAM中的数学——解方程AX=b与矩阵分解:奇异值分解(SVD分解) 特征值分解 QR分解 三角分解 LLT分解

    前言 本博客主要介绍在SLAM问题中常常出现的一些线性代数相关的知识 xff0c 重点是如何采用矩阵分解的方法 xff0c 求解线性方程组AX 61 B 主要参考了 计算机视觉 算法与应用 附录A以及Eigen库的方法 本博客可能不会对分解
  • pycharm 每次打开文件都要配置解释器的解决方案

    今天在打开pycharm的时候 xff0c 又发现那个解释器不能用了 xff0c 然后在网上找解决方案 xff0c 有的说是用defautsetting解决 xff0c 然是我没有找到那个default setting 在哪里 233333
  • PS多边形套锁工具在框选区的时候一按shift键PS

    微软输入法更新导致的BUG xff0c 把微软拼音输入法设置中兼容性里使用旧版就解决了 步骤 xff1a 右键输入法 xff0c 选择设置 xff0c 选择常规 xff0c 然后拖到最下面 xff0c 勾上兼容性就可以 xff0c 如下图
  • N卡怎么修改录屏文件保存位置

    N卡的视频录制非常好用 xff0c 但是有时候找不到保存位置在哪里 xff0c 这里转载下文章记录下 xff0c 方便后续查看 首先告诉你默认位置 我的电脑下的 34 视频 34 文件夹 xff08 有的电脑里叫video xff09 如果
  • 常见的设计模式

    目录 工厂模式单例模式观察者模式策略模式代理模式装饰模式 工厂模式 这个模式有三个对象 xff1a 工厂 用户 产品 xff1b 这么说可能还有点抽象 xff0c 说具体点 xff0c 就是当我们在代码中需要生成一个类实例时 xff0c 不
  • C# 的静态构造函数和BeforeFieldInit含义

    1 静态初始化函数 xff1a 静态初始化函数 xff0c C 语法可以保证在一个程序中只调用一次 xff0c 但是会去掉默认的beforefieldinit 标记 xff08 C 默认会加 xff09 xff0c 会导致加载时机的变化 x
  • Unity万向锁

    结论 xff1a 当第二轴旋转 90 时会产生万向锁 xff0c 万向锁只发生在程序中 xff0c 现实世界不会发生 发生万向锁的底层原因是由于程序中会指定旋转顺序 xff0c 且前后顺序为父子包含关系 旋转顺序 xff1a 因为同样一组数