1

常にユーザーに面し、次のコードで直立したままのテキストが画面に表示されます(これは機能しています):

object.lookAt(カメラ.位置);
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 = ??

提案?ありがとう!

4

1 に答える 1

1

最も簡単な解決策は、THREE.OrbitControls代わりに使用することです。

次に、レンダリング ループで次のようにします。

object.quaternion.copy( camera.quaternion );

three.js r.69

于 2013-02-08T17:22:59.763 に答える