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 Threejs:阴影显示为长方体形状_Three.js - Fatal编程技术网

Three.js Threejs:阴影显示为长方体形状

Three.js Threejs:阴影显示为长方体形状,three.js,Three.js,我用three.js设置了一个简单的glb查看器。模型投射和接受阴影。问题是,一旦我设置聚光灯,黑匣子就会出现。我不确定是什么问题 我在这里上传了这个项目: 配置适当的阴影有时会很困难 var spotLight=new-THREE.spotLight(0xffa95c,2) spotLight.castShadow=true 聚光灯位置设置(2,2,-2) spotLight.angle=Math.PI*0.1; spotLight.shadow.camera.near=1; spotLigh

我用three.js设置了一个简单的glb查看器。模型投射和接受阴影。问题是,一旦我设置聚光灯,黑匣子就会出现。我不确定是什么问题

我在这里上传了这个项目:

配置适当的阴影有时会很困难

var spotLight=new-THREE.spotLight(0xffa95c,2)
spotLight.castShadow=true
聚光灯位置设置(2,2,-2)
spotLight.angle=Math.PI*0.1;
spotLight.shadow.camera.near=1;
spotLight.shadow.camera.far=4;
spotLight.shadow.bias=-0.002;
spotLight.shadow.mapSize.set(10241024);
其想法是将聚光灯移近模型,并尽可能地拧紧阴影摄影机的平截头体。
偏差
配置是避免自阴影瑕疵所必需的。较大的阴影贴图大小(默认值为512x512)会锐化阴影

如评论中所述,在优化阴影时,向场景中添加
CameraHelper
的实例非常有用:

scene.add(新的3.CameraHelper(spotLight.shadow.camera));

也就是马克杯中间的那条线。这让我觉得您的灯光设置不正确,或者阴影贴图大小太小。也许可以添加一个3.SpotLightHelper?这总是帮助我调试灯光和阴影。再次感谢你们!它的工作原理就是这样。这个圆台确实让我困惑了一段时间,但我想我现在明白了。