三个js定向光影

时间:2014-09-08 11:20:48

标签: three.js shadows

我是三个j的新手,我可以使用聚光灯生成阴影,但我也收到不必要的阴影。我需要做些什么来消除不需要的阴影。我只需要汽车和墙壁的阴影,我需要删除地面上的矩形像阴影。enter image description here

我的代码如下

var ambientLight = new THREE.AmbientLight( 0xffffff );
            scene.add( ambientLight );

            var light1 = new THREE.SpotLight(0xff00000);
            light1.position.set(200, 1200, 0);
            light1.target.position.set(0,0,0);    
            light1.shadowCameraVisible = true; 
            light1.castShadow = true;  
            light1.shadowDarkness = 0.8;
            light1.shadowCameraNear = 400;
            light1.shadowCameraFar = 1600;
            //light1.shadowCameraFov = 30;  

            light1.shadowCameraLeft = -750;
            light1.shadowCameraBottom =  -500;
            light1.shadowCameraRight = 1000;
            light1.shadowCameraTop = 600;


            var firstLight = new THREE.Object3D();
            firstLight.add(light1);
            scene.add(firstLight);

提前致谢

1 个答案:

答案 0 :(得分:0)

我看到你想要对象的选择性阴影进行性能调整。 您可以做的最好的是汽车模型,你有 .obj, .dae或者你曾经可以通过THREE.Object3D将对象加载到场景的格式加载器,它具有属性" castShadow&#34 ;。试试这个:

var obj3D = new THREE.Object3D();
obj3D.add(/*content from loader*/);
obj3D.castShadow = true;
or
var mesh = new THREE.Mesh();
mesh.castShadow =true;

也可以使用Mesh启用或禁用castShadow属性。

我认为这可以解决你的问题