【问题标题】:Three.js: cause an Object3D to travel parallel to my camera's X axisThree.js:使 Object3D 平行于我的相机的 X 轴行进
【发布时间】:2023-04-04 18:18:01
【问题描述】:

假设我有一个简单的三角形作为Object3D 类中唯一的元素/子元素。我有一个PerspectiveCamera 看着它,我想让Object3D 沿着相机的正X 轴移动,比如说,当我按下一个键时。

如何操作以使Object3D 沿相机的 X 轴平行移动?在查看PerspectiveCamera 的内部运作时,我看到了matrixWorldmatrixWorldInverse 之类的成员,但我不确定它们代表什么或如何最好地在这里使用它们。

我可以使用相机的matrixWorldInverse 矩阵将 Object3D 转换为相机坐标,然后沿相机的 x 轴移动对象(我不确定如何找到,因为我没有看到条目它在PerspectiveCamera,虽然我可能没有看到它)然后再次将 Object3D 乘以 'matrixWorld' 矩阵以将其移回世界坐标?

【问题讨论】:

    标签: three.js


    【解决方案1】:

    您是否尝试过让您的对象成为相机的子对象?然后相机的任何移动都会影响您的对象。如果您将相机放置在对象的 y-z 平面上,那么对象在其 x 轴上的任何移动也将显示在相机的 x 轴上。

    【讨论】:

    • 这是个好主意,不幸的是我只希望对象在某些时候平行于我的相机的 x 轴移动 - 大多数时候它不会是相机的“孩子” .
    • 好的,但是如果您将相机放在 y-z 平面上并让它看着 y-z 平面上的某个位置(即 x=0),那么您的对象在其 x 轴上的任何运动似乎也作为相机 x 轴上的运动。
    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 2012-11-19
    • 2017-04-22
    • 1970-01-01
    相关资源
    最近更新 更多