如何计算局部旋转以保持文本直立?

时间:2013-02-08 16:51:07

标签: rotation three.js

屏幕上的文字总是面向用户,并且使用以下代码保持直立(这是有效的):

object.lookAt(camera.position);
               object.rotation.x = camera.rotation.x;
               object.rotation.y = camera.rotation.y;
               object.rotation.z = camera.rotation.z;

现在,按钮将场景围绕y轴旋转了90度,

target = new THREE.Vector3(camera.position.z,camera.position.y,-camera.position.x);

object.lookAt(目标);

因此文本面向用户需要,但我无法弄清楚如何计算对象旋转以保持文本垂直,因为我使用轨迹球控件旋转场景:

object.rotation.x = ??
object.rotation.y = ??
object.rotation.z = ??

连连呢?谢谢!

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用THREE.OrbitControls代替。

然后,在你的渲染循环中:

object.quaternion.copy( camera.quaternion );

three.js r.69