2017-08-18 2 views
0

J'utilise GridHelper pour créer une grille et je voudrais placer un cube directement sur la dalle d'une grille. Voici ma mise en œuvre actuelle, qui met un cube sur une grille, mais pas directement aligné avec une tuile.Three.js - Aligne le cube sur une grille

// cubes 
 
cubeGeo = new THREE.BoxGeometry(50, 50, 50); 
 
cubeMaterial = new THREE.MeshLambertMaterial({color: 0xfeb74c }); 
 
var voxel1 = new THREE.Mesh(cubeGeo, cubeMaterial); 
 
scene.add(voxel1); \t 
 
\t \t 
 
// grid 
 
var gridHelper = new THREE.GridHelper(1000, 20); 
 
console.log(gridHelper); \t \t \t \t 
 
scene.add(gridHelper);

Grid with Box not align

Comment dois-je de faire la boîte aligner sur la grille?

Répondre

0

Vous pouvez traduire la géométrie après sa création, comme ceci:

cubeGeo = new THREE.BoxBufferGeometry(50, 50, 50); 
cubeGeo.translate(25, 0, 25); 

Si vous ajoutez des cubes supplémentaires, vous pouvez réutiliser la même géométrie, et définir la position du maillage:

voxel.position.set(x, y, z); 

trois.js r.87