2017-10-10 98 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上的任何示例? – 2017-10-10 10:56:32

+0

或者一幅具有理想效果的圖片,因爲它很難理解,至少對我而言,「前,左,角」是什麼。 – prisoner849

+0

*「我正努力根據xAxis,yAxis和zAxis準確地排列它們」* - 確切的問題是什麼?也許一個圖像會有幫助。 –

回答

2

所以盒子的一個角位於原點可以轉換您的幾何:

var geometry = new THREE.BoxGeometry(width, height, depth); 
geometry.translate(width/2, height/2, depth/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); 

three.js r.87

+0

謝謝@WestLangley - 完美無缺! – wrdevelop