如何在 A-FRAME 中创建一个函数来仅更改 Z 位置,保持对象的 Y 和 Z 原始值?



如何单击按钮并变换/放置所有对象/与相机保持相同的距离" z",保持它们的相对位置" x"和" y">

我想点击一个按钮,独立于Z显示东西,从到相机的距离独立地显示它们,保持它们的原始和不同的值X和Y的原始位置。

我打算使用javascript将物体缩放到与相机近距离的位置,并可视化所有物体,允许相同的读取,即使是更远的物体。

A-FRAME中的javascript解决方案是什么,有人可以用一个有效的解决方案来举例说明吗?

提前致谢

米格尔·努内斯

在世界空间中获取所需的 z pos:

var distance = 5;
var absCameraPos = new THREE.Vector3(0, 0, -distance);
cameraEl.getObject3D('camera').getWorldPosition(absCameraPos);

将对象放置在该世界 Z. 类似:

var tempVec3 = new THREE.Vector3().copy(absCameraPos);
someObjectEl.worldToLocal(tempVec3);
someObjectEl.position.z = tempVec3.z;

最新更新