0

この特定のオブジェクトの「結果」で MeshLambertMaterial を取得したいと思います。これは、2 つのメッシュを結合した後に得られます。

var lathe = new THREE.Mesh(latheGeometry);
var cube_bsp = new ThreeBSP( lathe );

var box = new THREE.BoxGeometry( 2,30,3);

var sub = new THREE.Mesh( box );
sub.position = new THREE.Vector3(0,0,19);
var substract_bsp  = new ThreeBSP( sub );
var subtract_bsp  = cube_bsp.union( substract_bsp );

var result = subtract_bsp.toMesh(); 
    result.rotation.x = Math.PI * -0.5;
    scene.add(result);

ここにボックスと latheGeometry があります。結合が完了すると、ランダムな単色の醜いオブジェクトが得られます。代わりに、LambertMaterial の白色オブジェクトを取得する必要があります。

画像: http://imgur.com/a/nbSq1

4

1 に答える 1

0

を呼び出すときにマテリアルを適用できますThreeBSP.toMesh()

subtract_bsp.toMesh( new THREE.MeshLambertMaterial( {color:0xFFFFFF} ) );

または、結果のメッシュでの作成後:

result.material = new THREE.MeshLambertMaterial( {color:0xFFFFFF} ) );

于 2016-05-02T14:42:45.150 に答える