为什么坐标没有将它们相对放置?

Why coordinates are not placing them relative to each other?

他们为什么粘在一起?并且仍然在 x 轴位置上显示 -20?

    <html>
  <head>
    <script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-box  scale="0 1 1" color="#ca96fd" position="0 0 0 ">
        <a-box color="#FF0000" scale="0 1 1" position="-20 0 0" >
        </a-box>
       </a-box>
    </a-scene>
  </body>
</html>
<html>
  <head>
    <script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
        <a-box  scale="1 1 1" color="#ca96fd" position="1 0 0 ">
        <a-box color="#FF0000" scale="1 1 1" position="-2 0 0" >
        </a-box>
        </a-box>
    </a-scene>
  </body>
</html>

当我为框“1 1 1”和框 1 的位置“1 0 0”和框 2 的位置“-2 0 0”设置比例时。然后它还显示相对于 box1 的 box2 的 -2。不应该是-1吗?因为 x 轴上的 box1 距离原点 1。而 box2 在 x 轴上相对于 box1,所以 1-2 = -1。 Box2 应该在原点的 -21 上。

要查看位置请看右上角

当您设置 scale = "0 1 1" 时,您会将此对象及其所有子项的整个 X 轴压缩为零。

这就解释了为什么 x 偏移量 20 对子项没有影响。

如果您想缩放一个框而不缩放另一个框,请将它们设为兄弟姐妹,而不是亲子关系。

<a-scene>
  <a-box  scale="0 1 1" color="#ca96fd" position="0 0 0 ">
  </a-box>
  <a-box color="#FF0000" scale="0 1 1" position="-20 0 0" >
  </a-box>      
</a-scene>

或者,您可以使用 a 平面而不是 a 盒。 a 平面已经是平坦的,因此您不需要将 x 维度缩放为零。您可能需要旋转它以使其达到您想要的位置,在这种情况下请记住,任何子项的位置坐标也将被旋转。

关于你的最后一点,A-Frame inspector 中显示的位置是相对于父级的位置,而不是世界中的位置 space。

因此 A-Frame 检查器报告位置为 -2,但实际绘制对象的 world-space 位置将为 -1(1 来自父项,-2 来自子项) .