THREE.js v105中的阴影似乎不如v69中的阴影

时间:2019-06-22 18:51:28

标签: three.js

我正在经历Learning Three.js: The JavaScript 3D Library for WebGL。它已经六岁了,用v69编写。我决定尝试使用最新版本v105来熟悉当前的API。尚未进行太多更改,但是在我看来,最新版本中的阴影渲染质量不太现实。

Comparison of shadow rendering in THREE.js v69 vs. v105

这是什么原因?并且有修复它的常用方法吗?

在v69中,打开阴影的代码为:

renderer.shadowMapEnabled = true;

在v105中,它是:

renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap; // This produces a slightly better shadow than the default THREE.PCFShadowMap

1 个答案:

答案 0 :(得分:1)

如果您使用的是SpotLight,则可以更改dimensions of its lightShadow.mapSize。默认值为512x512(我猜r69的默认值更高),但是您可以使用以下方法将其尺寸增加到所需的任何尺寸:

light.shadow.mapSize.width = 1024;
light.shadow.mapSize.height = 1024;