누구나 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));
};
감사를 다시!