2016-08-12 9 views

答えて

0

THREE.PointerLockControls(次回:モジュール)はこのように動作します:

  • モジュールは建設yawObjectます - > pitchObject - >カメラpitchObjectyawObjectの子でありますカメラは、ピッチオブジェクトの子になります。
  • yawObjectモジュールからyourControls.getObject()ファンクション)を追加して(変換を更新したままにする) yourControls.enabled !== false場合は、マウスを動かすと
  • モジュール'のMouseMove'イベントリスナーと更新yawObject.rotation.ypitchObject.rotation.xを追加します。
  • 次に実際にカーソルをロックすることに興味がある場合は、exampleのようにクライアントコードで実行できます。
  • カメラ位置を更新するには、yawObjectのポジション(yourControls.getObject().position)を操作できます。

だから、セットアップモジュールこの方法をマウスなしのコントロールを操作することができ:そして

camera.position.set(0, 0, 0); 
camera.rotation.set(0, 0, 0); // THREE.PointerLockControls does this too 

var myControls = new THREE.PointerLockControls(camera); 

var controlsObject = myControls.getObject(); 

controlsObject.position.set(myEntryX, myEntryY, myEntryZ); // set starting point 
controlsObject.rotation.y = myEntryYaw; // rotate yaw obj 
controlsObject.children[0].rotation.x = myEntryPitch; // rotate pitch obj 

scene.add(controlsObject); 

controlsObject.positioncontrolsObject.rotation.ycontrolsObject.children[0].rotation.xを操作myControls.enabled = falseを維持します。

+0

ありがとう@mlkn。 –

関連する問題