나는 간단한 fps를 만들기 위해 Physijs와 협력 중이다. Physijs가 없으면 Player 객체를 만들고 아래 코드를 사용하여 THREE.Mesh
클래스를 확장합니다.Physijs.Mesh 확장하기
function Player() {
THREE.Mesh.apply(this, arguments);
...
}
Player.prototype = Object.create(THREE.Mesh.prototype);
그럼 Player를 인스턴스화하고 카메라를 추가하여 1 인칭 시력을 얻습니다. 그러나 플레이어를위한 모든 충돌 감지를 프로그래밍해야하므로 바닥을 통과하지 않습니다. 바닥에 new Physijs.BoxMesh
을 사용할 수는 있지만 플레이어는 어떻습니까? Physijs를 사용하여 피직스가 적용된 '플레이어'클래스를 어떻게 만듭니 까? 나는 ... Physijs.Mesh.apply(...)
... 및 Object.create(Physijs.Mesh.prototype)
과 같은 것을 시도했지만 작동하지 않습니다.
의견을 보내 주셔서 감사합니다.
응답 해 주셔서 감사합니다. Bob! 그것은 약간의 혼란을 해결합니다. 당신이 후속 질문을하는 걸 꺼려한다면 ... 어떻게 Player 객체에 카메라를 추가할까요? 메쉬에 추가할까요? Player.js 'function Player() { this.bodyMesh = new Physijs.BoxMesh (...); ... } Player.prototype.constructor = Player; ' 그럼 main.js에서 플레이어를 인스턴스화합니다 ... 'player = new Player(); player.bodyMesh.add (camera); scene.add (player.bodyMesh); ' – snowcap420
이것은 별도의 질문으로 게시해야합니다. 그리고 나는 그것을 완전히 이해하지 못합니다. 왜 카메라를 장면이 아닌 플레이어에 추가하겠습니까? 카메라가 플레이어를 따라 오길 원합니까? 그렇게하는 방법에 대한 몇 가지 게시물이 있습니다. –