相关疑难解决方法(0)

Three.js - 如何旋转对象以查看一个点并朝向另一个点

我对three.js和3d编程很新,所以这似乎是一个非常简单的问题.理想情况下,我希望答案可以帮助我理解基本原则.

我有一个对象需要在另一个点(原点,在这种情况下为了简单起见)"指向",这可以通过该Object3D.lookAt(point)功能轻松完成.这很好地指向了物体的Z轴.

我还想looker围绕其Z轴旋转我的对象,称为其X轴通常指向另一个对象,refObj.我知道X轴不能直接指向,refObj除非该物体与原点形成直角.我想的X轴looker为位于由形成的平面origin,refObj并且looker,可图示如下:

问题图

进行旋转的最简单方法似乎是修改looker.rotation.z,但我不知道如何计算值应该是什么.

一般来说,我想要一个lookAt函数的扩展版本,它采用X轴定向的第二个坐标.像这样的东西:

function lookAtAndOrient(objectToAdjust, pointToLookAt, pointToOrientXTowards)
{
  // First we look at the pointToLookAt
  objectToAdjust.lookAt(pointToLookAt);

  // Then we rotate the object
  objectToAdjust.rotation.z = ??;
}
Run Code Online (Sandbox Code Playgroud)

用上面的例子创建了一个jsFiddle

javascript 3d three.js

10
推荐指数
1
解决办法
9339
查看次数

标签 统计

3d ×1

javascript ×1

three.js ×1