2017-10-10 1 views
0

다양한 너비, 높이 및 깊이의 큐브를 배치하고 xAxis, yAxis 및 zAxis (다를 수도 있음)를 기반으로 정확하게 정렬하는 데 어려움을 겪고있는 스크립트가 있습니다. 크기의 큐브 변화에 대해이 문제를 해결할 - three.js - 지오메트리 번역 방법

var geometry = new THREE.BoxGeometry(width, height, depth); 
var cube = new THREE.Mesh(geometry, material); 
cube.position.set(xAxis, yAxis, -zAxis); 
scene.add(cube); 

나는, 그러나 그것은 앞, 왼쪽 모서리를 기반으로 위치하는 방법이있다, 큐브는 그것의 중심을 기준으로 위치하기 때문입니다 생각?

+0

안녕하세요 jsfiddle의 모든 예는 무엇입니까? –

+0

또는 이해하기 어렵 기 때문에 원하는 결과가있는 그림을, 적어도 나를 위해, "앞면, 왼편 및 모서리"가 무엇인지 _ 알 수 있습니다. – prisoner849

+0

* "xAxis, yAxis 및 zAxis를 기반으로 정확하게 정렬하는 데 어려움이 있습니다."* - 정확한 문제는 무엇입니까? 아마도 이미지가 도움이 될 것입니다. –

답변

2

박스의 모서리가 원점에 위치하고 있습니다, 그래서 당신은 당신의 형상을 번역 할 수 있습니다 :

var geometry = new THREE.BoxGeometry(1, 1, 1); // create once and reuse 
geometry.translate(0.5, 0.5, 0.5); 

var cube_1 = new THREE.Mesh(geometry, material); 
cube_1.scale.set(width, height, depth); 
: 크기가 다른 많은 큐브 인스턴스가있는 경우

var geometry = new THREE.BoxGeometry(width, height, depth); 
geometry.translate(width/2, height/2, depth/2); 

,이 패턴을 사용하는 것이 좋습니다

three.js r.87

+0

@WestLangley 감사합니다 - 완벽하게 일했습니다! – wrdevelop

관련 문제