私はCannonJS(物理ライブラリ)をどのように回転させることができるのか誰にも分かりますかCANNON.RigidBody
?私はオブジェクトをカメラで回転させようとしているので、両方とも同じ方向を向いています。私は四元を変更する必要があります知っているが、これは正しく動作しません:CannonJS RigidBodyを回転するには?
mPlayer.objectBody.quaternion.set(0, mPlayer.yawObject.rotation.y, 0, 1);
また、オブジェクトだけでなく、回転のY位置を変更します。
Here's a demo(WASDが赤い四角を移動するには - 私は回転したいものです)
Here's the main script
物理学に基づいて、それが自動的に回転させる瞬間。助けてくれてありがとう!
編集:
私はそれを今働いています。しかし、それは完全に回転しません(360度全体)、回転する角度は正しくありません。誰かが見て、何が間違っているかを見ることができたら、私は本当にそれを感謝します! :)
Same link as before矩形/ボディは現在カメラの下にあるので、正しく回転しているかどうかを確認できます。
は、私はそれを回転させるために、このコードを追加:
mPlayer.objectBody.quaternion.y = mPlayer.yawObject.rotation.y;
mPlayer.objectBody.quaternion.w = 1;
mPlayer.objectBody.quaternion.normalize();
あなたは、mPlayer.yawObject.rotation.y
がMouseMoveイベントに設定されているコードを探して保存するには:
var onMouseMove = function (event) {
var movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0;
var movementY = event.movementY || event.mozMovementY || event.webkitMovementY || 0;
mPlayer.yawObject.rotation.y -= movementX * 0.002;
mPlayer.pitchObject.rotation.x -= movementY * 0.002;
mPlayer.pitchObject.rotation.x = Math.max(- PI_2, Math.min(PI_2, mPlayer.pitchObject.rotation.x));
};
おかげで再び!