Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何改变three.js对象投射的阴影的强度?_Three.js - Fatal编程技术网

如何改变three.js对象投射的阴影的强度?

如何改变three.js对象投射的阴影的强度?,three.js,Three.js,如何更改three.js中对象投射的阴影的强度?当前半透明材质投射的阴影与不透明对象一样强烈。显然,我不希望半透明的阴影投射得如此强烈。当使用WebGLRenderer在three.js中投射阴影时,从灯光的角度来看,对象被视为实心和非半透明的 通过将light.shadowDarkness设置为[0,1]范围内的值,可以控制每个灯光的阴影强度 3.js r.64 编辑:light.shadowDarkness从three.js r.74起不再受支持。可以将环境光添加到场景中以进行补偿 thr

如何更改three.js中对象投射的阴影的强度?当前半透明材质投射的阴影与不透明对象一样强烈。显然,我不希望半透明的阴影投射得如此强烈。

当使用
WebGLRenderer
在three.js中投射阴影时,从灯光的角度来看,对象被视为实心和非半透明的

通过将
light.shadowDarkness
设置为[0,1]范围内的值,可以控制每个灯光的阴影强度

3.js r.64


编辑:
light.shadowDarkness
从three.js r.74起不再受支持。可以将环境光添加到场景中以进行补偿


three.js r.75

在同一位置创建两个点光源,一个投射阴影,另一个不投射阴影。通过使阴影灯光变暗,可以创建柔和的阴影

注意:在下面的示例中,两个灯都位于位置-100200200。该位置的灯光总强度为0.9,但投射阴影的灯光仅为0.2

var shadowLight = new THREE.PointLight(0xffffff, 0.2);
shadowLight.position.set(-100,200,100);
shadowLight.castShadow = true;
shadowLight.shadow.mapSize.width = 2048;
shadowLight.shadow.mapSize.height = 2048;
scene.add(shadowLight);

var light = new THREE.PointLight(0xfffff3, 0.7);
light.position.set(-100,200,100);
scene.add(light);

这样我就可以创造出重复的光,并降低光的强度。除此之外,我认为我必须创建自己的着色器(我正在尝试完全理解three.js标准设置,然后再进行此操作)。作为更新,从v74开始,您不能这样做。您必须使用环境光来定义阴影的颜色。@收音机更新了答案。谢谢。@Pravasith请查看此解决方法:。谢谢,很抱歉回复太晚