0
아래 이미지에서 알 수 있듯이 간단한 큐브가있는 THREE.Scene
입니다. 큐브에 부착 된 것은 물리학을위한 CANNON.Body
입니다 (녹색 와이어 프레임으로 표시됨). THREE.js 3D 원에서 회전 위치를 계산하는 방법은 무엇입니까?
CANNON.Body
내가 큐브를 회전
, 나는CANNON.Body
가
각도 및
반경에 따라 큐브 중심으로 회전하고 싶다. 이미지의 오른쪽에 나는 큐브를
각도과 45도 회전 시켰습니다 (또한 라디안을 사용할 수 있습니다). 그러나,
CANNON.Body
는 오직 자신의 중심을, 주위
에게 큐브를 회전하지 않습니다. 주위에 모든 축에 대한 큐브 x, y 및 z을 회전해야합니다. THREE.js
의 내장 함수가 아니면 나는이에 대한 내 자신의 수학 방정식을 사용해야합니까? 그렇다면 무엇이겠습니까?
감사합니다!
P.S. 순수한 솔루션을 보았습니다 THREE.js
피벗 포인트를 조작하기 위해 지오메트리가 변환되는 장면입니다. 내 CANNON.Body
에 지오메트리가 없기 때문에이 작업을 수행 할 수 없습니다.
한 가지 방법은 현장에 (그렇지 않으면 빈)'Object3D'을 추가 할 수 있지만 회전의 중심에 위치를 떠날 수 있습니다. 'CANNON.Body'를 장면이 아닌'Object3D'에 추가하십시오. 앞에서했던 것처럼'CANNON.Body'를 이동 시켜서'Object3D'를 회전 시키십시오. – Leeft
@Leeft 제안 해 주셔서 감사합니다. 그러나 불필요한 객체를 장면에 추가하지 않으려 고 노력하고 싶습니다. 나는 이것이 수학적으로 풀릴 수 있다는 것을 안다, 나는 단지 그것을 나의 상황에 적용하는 법과 사용할 방정식을 모른다. 다른 제안 사항이 있으면 알려 주시기 바랍니다. 내가 생각할 수있는 – Nicky
다른 가능한 옵션 : THREE.Math' 일부를 가지고'피벗 포인트를 이동하거나 (http://stackoverflow.com/a/839931/3755747) (어떤 내장 함수가 없습니다 [수학 스스로 할,하지만 'radToDeg'와'degToRad' 헬퍼). scene의 것들을 그룹화하거나 상쇄하기 위해 (그렇지 않으면 비어있는)'Object3D'를 생성하는 것에는 아무런 문제가 없습니다. 사실 scene 자체는 본질적으로 그것의 자식으로 여러 개의 Object3D를 가진'Object3D'입니다 (예 : 개체 등). – Leeft