Three.js将对象移动到指向某条线的位置。看着

时间:2014-02-06 04:19:00

标签: javascript three.js geometry linear-algebra

我有一个长方体(例如THREE.CubeGeometry 1x1x10)。这就是我想要完成的事情:

  1. 鉴于某些观点,我想将长方体放置在离原点有一定距离的地方,但沿着由原点和所说的点形成的线

  2. 旋转长方体使其面向原点

  3. enter image description here

    我尝试使用

    obj.lookAt(new THREE.Vector3(0, 0, 0));
    

    但是这样可以旋转对象,使其侧面朝向原点,而不是结束。

    至于第一步(沿该线找到距离原点N个单位的点),我甚至不知道从哪里开始。我所做的是用点来规范化vec,[我认为]实际上是一条长度为1的线,从(0,0,0)指向该点。要将该点移动到我想要的位置(距离原点N距离),我可以相应地缩放该向量。不确定这是否有意义......


    修改

    回答其中一条评论说obj.lookAt()应该如何工作,这就是我所得到的,以及我想要做的事情:

    在将位置设置为某个点之后如何绘制长方体,然后调用lookAt() enter image description here

    请注意,对象的一侧是看原点(不是我想要的) enter image description here

    我想做的是让对象从它的末端看那一点(我想我离它一个旋转,但那是一个旋转,我不知道如何计算) enter image description here

1 个答案:

答案 0 :(得分:2)

当您致电object.lookAt( 0, 0, 0 )时,对象的本地z轴将指向原点。

因此,如果你的长方体是1x1x10,长边平行于z轴,你应该得到你想要的结果。

three.js r.97