내가 아는 한 var point = object.geometry.vertices[i];
은 x
, y
및 z
에 대한 상대 위치와 함께 개체의 지오 메트릭 안에 반환됩니다.three.js에서 정점의 절대 위치를 얻는 방법은 무엇입니까?
개체를 이동, 회전 또는 크기 조정 한 경우 절대 위치를 얻는 방법은 무엇입니까?
내가 아는 한 var point = object.geometry.vertices[i];
은 x
, y
및 z
에 대한 상대 위치와 함께 개체의 지오 메트릭 안에 반환됩니다.three.js에서 정점의 절대 위치를 얻는 방법은 무엇입니까?
개체를 이동, 회전 또는 크기 조정 한 경우 절대 위치를 얻는 방법은 무엇입니까?
먼저 개체의 행렬이 업데이트되었는지 확인하십시오.
object.updateMatrixWorld();
일반적으로 렌더 루프는 이것을 호출합니다. 세계 좌표에
var vector = object.geometry.vertices[i].clone();
vector.applyMatrix4(object.matrixWorld);
벡터 지금 위치가 포함됩니다 : 다음
는이 작업을 수행.
일부 CG 참조 서적을 읽을 수도 있습니다. 프로그래머의 가이드 제임스 M. 반 Verth와 라스 M. 주교
: 그래픽 및 게임 개발을위한3D 수학 프라이머/플레처 던과 게임에 대한
필수 수학 이안 Parberry와 상호 작용하는 응용 프로그램에 의해
three.js를이 기능 부이을 제공 Three.js를 (V50의 +)의
최신 버전을 R69 lt에 the THREE.Object3D
class. 특히, vector
라는 로컬 THREE.Vector3
인스턴스의 세계 좌표를 얻을 the localToWorld
method를 사용하는 : 세계를 변환하는 것은 수학적으로 말하면, 조금 더 복잡 로컬 좌표로 좌표에 대한
object.localToWorld(vector);
마찬가지로, a worldToLocal
method있다. 세계 vector
을 객체 로컬 좌표 공간으로 변환하려면
object.worldToLocal(vector);
... 그리고 object.updateMatrixWorld()를 실행하는 것을 잊지 마십시오. 나는 그것을 시도하기 전에 잠시 머리를 긁적 거렸다. – arpo
시도 해보니 ... 여전히 0, 0, 0 :( –