旋转时固体物体的持续角度

2023-12-06

我是新来的Unity and Oculus。我有一堆图像(它们的路径和其他信息是加载自JSON file)我正在尝试在 VR 房间中渲染它。并希望为用户提供一种体验,他可以使用以下命令在该房间内移动这些图像Oculus Touch.

我放置了一个Empty Object它有一个迭代 JSON 的脚本和creates a prefab object(其中有Rigid body,Box Collider and OVRGrabbable-这样就可以在 VR 中抓取它,组件)。而且这个prefab object has a script它负责将图像加载到Sprite.

什么在起作用?

图像正在渲染并且可以抓取和移动。

什么没有按预期工作?

我跟着这个tutorial,如图所示,立方体的角度保持得很好。但是,当抓取并旋转图像时,它不会保留其侧角。如下图所示:

enter image description here

Question

有什么办法可以修复它吗?我试图在网上寻找它,但因为我是新手Unity我不太确定我到底缺少什么。

任何线索将不胜感激。


我认为问题出在你的等级制度上。你的Images游戏对象(你的父对象DisplayImage)的规模为(1.88,1,1)。在 Unity 中尝试旋转其父对象具有不均匀比例的子对象会产生奇怪的结果。尝试重置您的比例Images反对(1,1,1)看看是否有帮助。


发生此行为是由于“父/子”关系的性质。孩子的坐标系是相对于其父母的。我们可以将其视为父母为我们的孩子定义一个坐标系。这就是我们所说的局部空间。因此,当我们对父级执行任何线性变换时,就像我们在子级用来定义其方向的整个父级坐标系上执行它们一样。因此,平移父级将移动其所有子级,因为我们的整个局部坐标空间已随父级移动。请注意,我们的孩子仍然会拥有相同的localPosition,但他们的全球position将会改变。

相同的逻辑适用于缩放和旋转。旋转父级本质上是围绕父级的中心点(这将是点)旋转我们的子级正在使用的整个坐标空间(0,0,0)在局部空间)。因此,所有子对象都将被旋转,就好像它们是父对象的扩展一样。

在我们的情况下,我们缩放了父对象,从而缩放了我们用来定义子对象的整个坐标系。这意味着使用父级坐标空间的任何内容也将被缩放根据家长的规模。在我们的情况下,父级的缩放比例为(1.88,1,1)。所以附加到父级的所有内容也随之缩放父级的 X 轴 1.88,导致屏幕截图中出现奇怪的效果。尽管旋转我们的子对象,它仍然沿着父对象的 X 轴缩放。

(Link有关于此的官方文档。)

解决方案是在层次结构中尽可能深入地应用线性变换。在这里,不是缩放父级,而是缩放子级。如果父对象需要缩放,或者其比例动态变化,另一种解决方案是从父/子层次结构中删除子对象,并根据脚本中旧父对象的变换来操作其变换。在这种情况下,您可以将未链接的子级的位置和旋转设置为父级的位置和旋转,但忽略比例。

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

旋转时固体物体的持续角度 的相关文章

随机推荐

  • 如何使用 JQuery 重定向,加载另一个页面但在请求中发送一些 POST 参数?

    如何使用 JQuery DOJO 或纯 JavaScript 进行重定向 加载另一个页面但在请求中发送一些 POST 参数 这应该有效 但我还没有测试过 function postData url data var form
  • 什么是C本地函数声明机制?

    gcc 中似乎允许本地函数声明 我发现了对此的讨论 局部函数声明有什么用处吗 但是 我的问题是 ISO C 标准允许吗 如果是的话 如何解释以下令人费解的现象 int main void int f void f void g void g
  • Hashtable 中最大值的键

    嗨我有以下对象 Hashtable
  • Java应用程序使用系统中的最大可用内存

    有 Xmx 和 max heap size jnlp 选项来设置 java 应用程序可以使用的最大内存 如果未指定这些选项 则仅允许应用程序使用系统中少量的可用物理内存 这就是人们使用 Xmx 来允许应用程序使用更多内存的原因 但这对我来说
  • 如何在 Windows 批处理文件中回显 >>someText

    我想将确切的文本 gt gt someText 打印到控制台 I try echo abb gt gt cdd eee 但这不会打印任何内容并创建文件cdd里面有 abb 文本 我应该使用什么语法echo为了那个原因 你必须 转义 特殊字符
  • ELB 使用带有自签名证书的 HTTPS 到后端服务器

    我希望设置一个使用 HTTPS 与后端服务器通信的 ELB 我正在尝试使用单个后端服务器设置概念验证 但似乎无法让 ELB 与服务器通信 我几乎可以肯定这是一个证书问题 因为任何没有 SSL 的设置都可以完美运行 我该如何设置 我尝试了多个
  • 如何计算大型数据帧的欧几里德距离(并仅保存摘要)

    我编写了一个简短的 for 循环来查找数据帧中每一行与所有其他行之间的最小欧几里德距离 并记录哪一行最接近 理论上 这可以避免与尝试计算非常大的矩阵的距离度量相关的错误 然而 虽然内存中保存的内容不多 但对于大型矩阵来说速度非常慢 我的约
  • 如何命名 r 中的“行名称”列

    我正在使用 r 中的数据框 其中我的行名称是有意义的 因此 我想给行名称列一个名称 我该怎么做呢 听起来您想将行名转换为 data frame 的正确列 例如 add the rownames as a proper column myDF
  • 如何将 Ajax 与 Django 应用程序集成?

    我对 Django 很陌生 对 Ajax 也很陌生 我正在开展一个项目 需要将两者整合起来 我相信我了解它们背 后的原理 但还没有找到将两者结合在一起的很好的解释 有人能给我快速解释一下代码库必须如何随着两者集成在一起而改变吗 例如 我还可
  • 带有三元运算符的 NullPointerException [重复]

    这个问题在这里已经有答案了 为什么这有效 String a null String b a null a equals Nan Nan a System out println b 但这会产生 NPE Double value null D
  • 从Python中的列表列表的内部列表中获取第n个元素[重复]

    这个问题在这里已经有答案了 可能的重复 内部列表中的第一项尽可能高效 可以说我有 a 1 2 2 9 3 7 我想检索每个内部列表的第一个元素 b 1 2 3 无需这样做 我当前的黑客 for inner in a b append inn
  • 交叉编译内核模块:模块格式无效

    我正在尝试交叉编译 helloworld 内核模块 其规范如下 主机 intel x86 32位 linux 3 0 0 目标 ARM机器 Parrot AR Drone linux 2 6 27 47 我正在使用 makefile PWD
  • 如何在D3中添加强制拖动事件并使节点保持在我离开的位置?

    我有一个 D3 api 它显示节点之间的某种关系 我想在这里应用 force drag 事件 我将把节点拖动到某个位置并离开节点 它将留在那里 我这里有一个工作小提琴 它显示了节点之间的关系 任何人都可以帮助我从这里在这个 api 中执行此
  • Sizeof 与 Strlen

    include
  • 如何用VBA读取IE表格文本?

    我正在尝试编写 vba 代码来遵循此过程 自动填写并提交网络表单 打开一个新网页 其中包含答案http ec europa eu taxation customs vies locale en 找到新网页的地址 因为我需要阅读此内容 读取h
  • WTForms 日期验证

    我目前正在尝试使用 Flask 构建一个简单的 Web 应用程序 我也使用 WTForms 但是我在从表单获取日期信息并对其进行验证时遇到问题 这是形式 from flask wtf import FlaskForm from wtform
  • 递归文件搜索

    我试图弄清楚如何解决这个问题 出于某种原因 它在某个点结束 我不太擅长递归 我确信问题出在某个地方 另外 即使我检查了 cFileName 它仍然显示在最后 不知道为什么 但 不再出现了 void find files wstring wr
  • Swing Ui 倍增面板重影

    最近我的 swing ui 遇到了问题 一切正常 直到我从 JButton 触发工具提示 之后将鼠标移到用户界面的其余部分上会导致奇怪的伪像和故障 Bugged 我无法显示整个代码 因为它太多了 但我在这里初始化按钮 GridBagCons
  • 如何将表单数据提交到 Fancybox 中的 iframe?

    我有一个包含常规链接作为提交按钮的表单 单击此链接后 我希望将表单提交数据传输到 iframe 的 fancybox 我花了几个小时对该主题进行反复试验和研究 但毫无结果 我还在 StackOverflow 上读过这个帖子 其中详细说明了我
  • 旋转时固体物体的持续角度

    我是新来的Unity and Oculus 我有一堆图像 它们的路径和其他信息是加载自JSON file 我正在尝试在 VR 房间中渲染它 并希望为用户提供一种体验 他可以使用以下命令在该房间内移动这些图像Oculus Touch 我放置了