我想动态改变THREE.js中聚光灯阴影的分辨率。 This问题首先似乎是相关的,但不是我的问题。我动态更改了shadowmap的参数,但这不会影响场景。即使我在此之后添加更多网格对象,它也不会影响场景/灯光中的阴影。当我使用初始值(256,256)时,它会被应用但不会在显示场景后显示。
light.shadowMapWidth = 2048;
light.shadowMapHeight = 2048;
我尝试以下操作,但它不起作用:
light.shadowMap.setSize(100,100)
当我更改light.position时,阴影会更新,但结果不会更新。它似乎只在初始化期间使用.shadowMapWidth属性。
答案 0 :(得分:1)
如果要动态更新阴影贴图的分辨率,可以使用以下模式:
light.shadow.mapSize.width = 1024;
light.shadow.mapSize.height = 1024;
light.shadow.map.dispose(); // important
light.shadow.map = null;
three.js r.74