【问题标题】:three js directional light shadow三个js定向光影
【发布时间】:2014-09-08 11:20:47
【问题描述】:

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

我的代码如下

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);

提前致谢

【问题讨论】:

    标签: three.js shadows


    【解决方案1】:

    我看到你想要选择性的对象阴影来进行性能调整。 您可以做的最好的事情是对于汽车模型,您有 .obj、.dae 或任何格式加载器,您可以通过具有属性“castShadow”的 THREE.Object3D 将对象加载到场景中。试试这个:

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 2022-09-26
      • 2014-05-26
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2013-04-24
      相关资源
      最近更新 更多