【发布时间】:2018-11-24 09:52:21
【问题描述】:
我有一个包含多个对象的threejs 场景。当我选择一个并在屏幕上移动时,它会起作用,如果我选择 > 1,则所有对象都放在与对象 1 相同的位置。但是,它们确实需要保持在原位。这是一些代码:
translateObjectTo(absX, absY, absZ) {
this.selectedObjects.forEach((selection) => {
if (absX !== null) {
selection.translateX(absX - selection.position.x);
}
...
});
}
如果我写 selection.translateX(absX);它可以工作,但当然值错误
【问题讨论】:
-
只是想澄清一下:您有 X 个对象分散在您的场景中。您选择所有这些。您在 +x 方向上拖动一个 5 个单位,因此您希望所有其他人从当前位置沿 +x 方向平移 5 个单位。这是一个适当的总结吗?
-
是的,它是多物体场景。我想选择超过 1 个,然后相对于它们的原始位置沿轴移动它们(一个可以工作,两个它已经不起作用),例如对象 1 的位置是 (0,0,0),对象 2 的位置是 (1,0,0),因此将它们沿 x 轴移动 5 个单位应得到 (5,0,0) 和 (6,0) ,0)。
标签: typescript three.js