2016-11-29 5 views
0

いくつかのジオメトリをマージして、それをテクスチャを適用して実際の木のように見せたいと思います。マージメッシュジオメトリ上のウッドテクスチャ

可能ですか?ここで私は結果を得たもの:

Wood

は、ここに私が試したものです:

var texture = new THREE.TextureLoader().load('Escaliers 3D/1-3-2-5-Bois.jpg'); 
var mesh = [], no = 0; 
var meshes = []; 
var geometry = new THREE.CubeGeometry(2, 10, 1); 
mesh[no] = new THREE.Mesh(geometry); 
meshes.push(mesh[no]); 
no++; 

geometry = new THREE.CylinderGeometry(0.5, 0.5, 10, 32); 
mesh[no] = new THREE.Mesh(geometry); 
mesh[no].position.set(1, 0, 0); 
mesh[no].rotation.x = 0; 
mesh[no].rotation.y = Math.PI/2; 
mesh[no].rotation.z = 0; 
meshes.push(mesh[no]); 
no++; 

geometry = new THREE.CubeGeometry(5, 10, 1); 
mesh[no] = new THREE.Mesh(geometry); 
mesh[no].position.set(-3.5, 0, 0); 
meshes.push(mesh[no]); 
no++; 
geometry = mergeMeshes(meshes); 

var material = new THREE.MeshBasicMaterial({ map: texture }); 
mesh = new THREE.Mesh(geometry, material); 

scene.add(mesh); 

function mergeMeshes (meshes) { 
    var combined = new THREE.Geometry(); 
    for (var i = 0; i < meshes.length; i++) { 
     meshes[i].updateMatrix(); 
     combined.merge(meshes[i].geometry, meshes[i].matrix); 
    } 
    return combined; 
} 

はありがとうございます。

+0

私が正しく理解していれば、イメージはあなたが上記のコードの結果を表しているのでしょうか? – Marcs

+0

はい、実際の木の階段のように統一する必要があります。 –

+0

本当の木の階段のような_unify。あなたはどういう意味ですか? 1つのオブジェクトにすべてのメッシュを入れたいのですか? – Marcs

答えて

0

これを作成するために使用された2つのメッシュを結合することが答えでした。

関連する問題