Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

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
Javascript Three.js shadows-如何改进?_Javascript_Three.js_Webgl - Fatal编程技术网

Javascript Three.js shadows-如何改进?

Javascript Three.js shadows-如何改进?,javascript,three.js,webgl,Javascript,Three.js,Webgl,我一直在玩three.js- 我面临的问题是如何让我的阴影看起来更好。目前,它们看起来是这样的:- renderer.shadowMapEnabled = true; renderer.shadowMapSoft = true; renderer.shadowMapType = THREE.PCFShadowMap; 有点像素化。有没有办法让它们看起来更光滑,比如:- 我尝试了一些方法,但找不到正确的设置。我的渲染器设置如下:- renderer.shadowMapEnabled =

我一直在玩three.js-

我面临的问题是如何让我的阴影看起来更好。目前,它们看起来是这样的:-

renderer.shadowMapEnabled = true;   
renderer.shadowMapSoft = true;
renderer.shadowMapType = THREE.PCFShadowMap;

有点像素化。有没有办法让它们看起来更光滑,比如:-

我尝试了一些方法,但找不到正确的设置。我的渲染器设置如下:-

renderer.shadowMapEnabled = true;   
renderer.shadowMapSoft = true;
renderer.shadowMapType = THREE.PCFShadowMap;

我以为shadowMapSoft会这么做,但没有。有什么想法/帮助吗?

事实上,我也遇到过同样的问题。我的解决办法是增加光源阴影贴图的宽度和高度。就我而言,这是一个聚光灯:

spotLight = new THREE.SpotLight( 0xAAAAAA );
spotLight.castShadow = true;
spotLight.shadowCameraFov = VIEW_ANGLE;
spotLight.shadowBias = 0.0001;
spotLight.shadowDarkness = 0.2;
spotLight.shadowMapWidth = 2048;
spotLight.shadowMapHeight = 2048;
哦,还有一件事,如果你将贴图大小增加2的幂,你会越来越平滑阴影,但是你会看到复杂几何体的性能受到影响。试试2048年,或者4096年,看看他们是如何为你工作的


我注意到您有
渲染器.shadowMapType
。我得研究一下,也许能让我自己的项目做得更好,谢谢:)

这个答案是2013年的,所以可能是基于r55-r64的。你知道如何在r87中柔化阴影吗?