three.js纹理材料不带照明

时间:2018-02-11 02:42:06

标签: javascript three.js texture-mapping

我想知道纹理几何体是否可以在three.js中拍摄照明。在我的场景中,所有材质都使用spotLight和directionalLight获得了很好的光照,除了具有如下纹理赋值的材质:

var geometry = new THREE.OctahedronGeometry(1, 0)
var orange =  new THREE.TextureLoader().load( 'img/orange.jpg' );
orange.wrapS = THREE.RepeatWrapping;
orange.wrapT = THREE.RepeatWrapping;
orange.repeat.set( 4, 2);

var material = new THREE.MeshBasicMaterial({ 
    map:orange, side:THREE.DoubleSide 
    });

var oct0 = new THREE.Mesh( geometry, material );
    oct0.castShadow = true; //default is false
    oct0.receiveShadow = false; //default
    scene.add( oct0 );
    oct0.position.x = 0;
    oct0.position.y = 5;
    oct0.position.z = 0;

我正在使用Chrome。 Safari和three.js r89。谢谢你的建议!

1 个答案:

答案 0 :(得分:0)

MeshBasicMaterial对灯光没有反应。

还有其他内置材料可以做到。例如,MeshLambertMaterialMeshPhongMaterialMeshStandardMaterial

three.js r.89