Javascript Three.js-应用材质时,导入的OBJ无法接收阴影

Javascript Three.js-应用材质时,导入的OBJ无法接收阴影,javascript,three.js,3d,Javascript,Three.js,3d,我已使用此加载函数导入了一个obj: // called when resource is loaded function ( object ) { // For any meshes in the model, add our material. object.traverse( function ( node ) { if ( node instanceof THREE.Mesh ){

我已使用此加载函数导入了一个obj:

    // called when resource is loaded
    function ( object ) {

        // For any meshes in the model, add our material.
        object.traverse( function ( node ) {

            if ( node instanceof THREE.Mesh ){
                //node.material = material;
                //node.geometry.computeVertexNormals(); 
                node.castShadow = true; 
                node.receiveShadow = true;
            }
        } );


        object.scale.set(0.5,0.5,0.5);
        scene.add( object );
        parts[partName] = object;

    }
该对象加载良好,并且具有来自场景中聚光灯的阴影。问题是,当我将材质应用于网格时(因此在上面的代码中注释掉了该材质),模型不再接收阴影

材质逐节点应用,材质映射为jpg,如下所示

if ( node.isMesh ) node.material = material;

new THREE.MeshBasicMaterial( { map: new THREE.TextureLoader().load( 'materials/orange.jpg' ), shininess: 50, shading: THREE.SmoothShading }),
谢谢你的帮助,Ed.

重新体验了我使用的功能

MeshBasicMaterial
应该使用

MeshLambertMaterial
因此材质可以接收阴影