在控制器上覆盖虚拟元素导致比例错误
Overlaying virtual element on the controller resulting in wrong scale
我们目前正在尝试创建一个虚拟对象(一个平面)并将其覆盖在 Magic Leap 设备的控制器上。但是,我们在这样做时遇到了一些困难。
当我将实体的宽度或任何尺寸设置为 1 米时。生成的虚像不是1米,实际上更小
此外,当我们四处移动图像时,它似乎确实相对于控制器保持在相同的位置。 magic leap 好像加了一个offset
<a-entity id="controller" magicleap-controls="hand: right">
<a-plane id="board" width="0.45" height="0.1" position="0 0 0.0" rotation="-45 0 0" color="#b3b3b3" material="side: double; transparent: true; opacity: 0.5">
</a-plane>
</a-entity>
这是我正在使用的代码。我实际上是在尝试创建一个虚拟板(它将映射到物理板——但尺寸不一致)
可能是什么问题??任何线索将不胜感激
我觉得可能是父节点的属性导致的。在 A-Frame 中,每个实体都从其父元素继承 位置、比例和旋转 。子元素继承它并在其 local space 中将其标记为 [0 0 0](或 [1 1 1] 用于缩放)并且可以是 世界space。任何子转换都将应用在其之上。
快速编辑 - 不仅直接父级会产生影响,而且包装最终元素的每个实体都会产生影响。
来源 - relative-positioning
看下面的例子
有 2 个相同的球体,但其中一个被包裹在另一个属性已更改的实体中。看看会发生什么 - 当转换应用于其 local space.
时,它会变形和移位
<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.0.0/aframe.min.js"></script>
<style>
</style>
</head>
<body>
<a-scene>
<a-entity position="-6 0 -5" scale="2 2 1">
<a-sphere scale="1 2 3" position="3 1 -5" color="blue"> </a-sphere>
</a-entity>
<a-sphere scale="1 2 3" position="3 1 -5" color="red"> </a-sphere>
</a-scene>
</body>
</html>
我们目前正在尝试创建一个虚拟对象(一个平面)并将其覆盖在 Magic Leap 设备的控制器上。但是,我们在这样做时遇到了一些困难。 当我将实体的宽度或任何尺寸设置为 1 米时。生成的虚像不是1米,实际上更小
此外,当我们四处移动图像时,它似乎确实相对于控制器保持在相同的位置。 magic leap 好像加了一个offset
<a-entity id="controller" magicleap-controls="hand: right">
<a-plane id="board" width="0.45" height="0.1" position="0 0 0.0" rotation="-45 0 0" color="#b3b3b3" material="side: double; transparent: true; opacity: 0.5">
</a-plane>
</a-entity>
这是我正在使用的代码。我实际上是在尝试创建一个虚拟板(它将映射到物理板——但尺寸不一致)
可能是什么问题??任何线索将不胜感激
我觉得可能是父节点的属性导致的。在 A-Frame 中,每个实体都从其父元素继承 位置、比例和旋转 。子元素继承它并在其 local space 中将其标记为 [0 0 0](或 [1 1 1] 用于缩放)并且可以是 世界space。任何子转换都将应用在其之上。
快速编辑 - 不仅直接父级会产生影响,而且包装最终元素的每个实体都会产生影响。
来源 - relative-positioning
看下面的例子
有 2 个相同的球体,但其中一个被包裹在另一个属性已更改的实体中。看看会发生什么 - 当转换应用于其 local space.
时,它会变形和移位<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.0.0/aframe.min.js"></script>
<style>
</style>
</head>
<body>
<a-scene>
<a-entity position="-6 0 -5" scale="2 2 1">
<a-sphere scale="1 2 3" position="3 1 -5" color="blue"> </a-sphere>
</a-entity>
<a-sphere scale="1 2 3" position="3 1 -5" color="red"> </a-sphere>
</a-scene>
</body>
</html>