我试图让飞机始终面对相机或其他移动物体,但我希望飞机只能在1轴上旋转。如何使用lookAt功能使其仅侧向旋转而不倾斜向上或向下移动物体?
答案 0 :(得分:1)
if(planex){
var yaw_control = controls.getYawObject();
pos = new THREE.Vector3( yaw_control.position.x, planex.position.y, yaw_control.position.z );
planex.lookAt(pos);
}
答案 1 :(得分:0)
http://www.lighthouse3d.com/opengl/billboarding/index.php?billCyl
也许这篇文章对你有所帮助。你正在寻找那些圆柱形广告牌我想但是从第一页读到;)你可以自己修改特定的网格矩阵,虽然我不确定这是否是最有效的方法。我也曾经做过一次。
让相机看起来像:
three.js set and read camera look vector
然后将摄像机向上移动,然后根据上面的文章获得那些= rightVec的交叉产品。
使用这些向量,您可以填写新的Three.Matrix4(),如文章中所述,然后用新创建的矩阵替换网格矩阵。正如我所说的那样,我不太喜欢three.js中的矩阵内容,但这可行,但可能效率不高。
为此,您必须使用
取消网格自动矩阵更新mesh.matrixAutoUpdate = false;