【问题标题】:how can i transform Object3D Coordinates with values based on world position Coordinates?如何使用基于世界位置坐标的值转换 Object3D 坐标?
【发布时间】:2020-03-16 23:40:23
【问题描述】:

你好,我有一个包含一堆子对象的旋转父对象。这些子对象被编程为根据光标继续移动。但是 x 和 y 坐标完全相对于旋转的父对象。所以每当我想让孩子向左移动-“-x相对于世界坐标”时,它会移动“-x相对于它的父母坐标” image of what i have and want

在我的情况下,我不相信将孩子从父母身边分离出来...... 我认为最好的方法是是否可以从对象局部坐标计算我想要的方向,但我真的不知道因此我问

picture of actual object / "chieldren"

【问题讨论】:

  • 看起来超级酷 :o 我们有机会看到它直播吗?你可以使用 child.translateX() 吗?我发现该函数适用于对象的世界位置。

标签: javascript html three.js


【解决方案1】:

我建议您执行以下操作:

  • 使用scene.attach( child ); 将子代与其父代分离
  • 在世界空间中执行转换
  • 通过parent.attach( child ); 将对象附加回其父对象

这里重要的是Object3D.attach()的用法。

three.js R114

【讨论】:

  • 嗯,谢谢你的回答......它确实有效,问题是所有的孩子都应该回到他们的确切起始位置,弄乱数组会毁了这个......
  • “搞乱数组”是什么意思?是否有机会通过可编辑的实时示例演示您所做的工作?
  • 你好,我为不能早点回答而感到难过。不过,我真的很感谢您的帮助……由于作业时间限制,我不得不放弃此功能,并且我不会再浪费您的时间了。简而言之,虽然孩子们的起始位置被保存在一个数组中,但是当他们分离和重新连接它们时,他们的 hierarki 不再匹配数组索引。无论如何,我想这可以通过数组排序来解决。很抱歉耽误您的时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多