首页 > 解决方案 > 三.js。为什么 Spotlight 不允许重置近/远?

问题描述

我因此创造了一个聚光灯:

let spotLight = new THREE.SpotLight( color, intensity );

spotLight.castShadow = true;

spotLight.shadow.mapSize.width = shadowSize;
spotLight.shadow.mapSize.height = shadowSize;
spotLight.shadow.camera.near = near;
spotLight.shadow.camera.far = far;

工作正常。然后尝试更改nearand far

this.spotLight.shadow.camera.near = near;
this.spotLight.shadow.camera.far = far;

this.spotLight.shadow.update(this.spotLight);

什么都没发生。我在这里想念什么?

标签: three.js

解决方案


如果更改相机的构造函数参数,则需要更新相机的投影矩阵。对于阴影相机也是如此。

light.shadow.camera.updateProjectionMatrix();

三.js r.103


推荐阅读