Three.JS将材质颜色指定给对象

时间:2013-05-10 21:44:29

标签: javascript three.js webgl

我想为加载的对象添加材质/颜色,但我不知道确切的语法更好地说我应该添加什么变量和函数。如果我在上面显示这一行,那么它会显示该对象,但是带有材料的行是忽略的。

//object loader
var loader = new THREE.OBJLoader();
loader.load( '3D4.obj', function ( object ) {
    // what should I add here to assign an obj material color?

    var mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial( {color: 0xFF0000} ));

    // add object to scene
    scene.add( object );
});

1 个答案:

答案 0 :(得分:7)

var loader = new THREE.OBJLoader();
loader.addEventListener( 'load', function ( event )
{
    var object = event.content;
    object.traverse( function ( child )
    {
        if ( child instanceof THREE.Mesh )
            child.material.color.setRGB (1, 0, 0);
    });
    scene.add( object );
});
loader.load( '3D4.obj' );

会给你一个红色物体。