Tif*_*any 6 javascript model three.js
为了让所有阴影都渲染出来,我将///设置为shadow.camera.top定向bottom光(投射阴影),但它导致阴影痤疮。我尝试使用但仍然不对。阴影痤疮的原因是什么以及如何解决?leftrightshadow.bias
这是我的代码。
light = new THREE.DirectionalLight( 0xffffff );
light.position.set( 38, 82, 1 );
light.castShadow = true;
// light.shadow.bias = -0.001;
light.shadow.mapSize.width = 2048;
light.shadow.mapSize.height = 2048;
light.shadow.camera.near = 0.1; // same as the camera
light.shadow.camera.far = 1000; // same as the camera
light.shadow.camera.top = 120;
light.shadow.camera.bottom = -120;
light.shadow.camera.left = 120;
light.shadow.camera.right = -120;
scene.add( light );
Run Code Online (Sandbox Code Playgroud)
谢谢!!
设置shadow.bias为- 0.0005似乎可以消除阴影伪影。然而,阴影的质量仍然不好,因为阴影的边缘看起来很块状。
考虑设置将显着提高阴影质量的renderer.shadowMap.type属性。THREE.PCFSoftShadowMap减小阴影相机视锥体的尺寸并仅在某个“焦点”区域投射阴影也可能是个好主意。另一种选择是将高质量的光照烘焙到光照贴图中,然后将其应用到lightMap城市材质的属性中。您也可以将阴影贴图的分辨率提高到,4096 x 4096但这会对性能产生影响,尤其是在移动设备上。
| 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |