【问题标题】:How To set intensity for Shadow using Directioal Light on BoxGeometry in threejs如何在三个 js 中使用 BoxGeometry 上的定向光设置阴影强度
【发布时间】:2022-09-26 16:31:56
【问题描述】:

我正在研究 Box Geometry 的光影部分。我正在使用具有一定强度的定向光,但是当我降低强度时,平面变暗并且阴影强度保持不变。

     let minPosition = this.map(max, 10, 1000, 30, 50);
     let maxPosition = this.map(max, 10, 1000, 40, 50);

     this.root.remove(this.light.shadow.camera);
     this.scene.remove(this.light);
     this.scene.remove(this.camera);

     this.light.position.set(0, minPosition, maxPosition);
     this.light.castShadow = true;
     this.light.intensity = 1.6;
     this.light.shadow.camera.top = 16; // default
     this.light.shadow.camera.bottom = -6; // default
     this.light.shadow.camera.right = 10; // default
     this.light.shadow.camera.left = -10; // default
     this.light.shadow.autoUpdate = true;
     this.scene.add(new THREE.CameraHelper(this.light.shadow.camera));
     this.root.add(this.light.shadow.camera);
     this.root.add(this.cube);
     this.root.add(this.globalLinesegs);
     this.scene.add(this.root);
     this.renderer.render(this.scene, this.camera);
     this.renderer.shadowMap.enabled = true;
     this.renderer.shadowMap.needsUpdate = true;
     this.renderer.castShadow = true;
     this.camera.add(this.light);
     this.scene.add(this.light);

非常感谢任何建议。

    标签: javascript reactjs three.js react-three-fiber react-three-drei


    【解决方案1】:

    three.js 不支持为阴影设置强度或暗度值。

    到目前为止,解决方法是使用环境光来调制阴影强度。但是,这会照亮整个场景,因此可以在所有用例中使用这种方法。

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 2018-02-13
      • 2018-06-20
      • 1970-01-01
      相关资源
      最近更新 更多