[英]ThreeJS shadows acting funny near walls
所以我在ThreeJS中處理陰影。 我正在使用帶有WebGLRenderer的Perspective Camera。 照明設置就是這樣。
var light = new THREE.SpotLight(0xdddddd, 1);
light.castShadow = true;
light.shadow = new THREE.LightShadow(new THREE.PerspectiveCamera(60, 1, 1, 2500));
light.shadow.bias = 0.0001;
light.shadow.mapSize.width = 1024;
light.shadow.mapSize.height = 1024;
light.position.set(100, 800, 0);
當我關閉牆壁時,我得到的是一個被遮擋的陰影。 我和Shadow Bias一起玩過,但是對我來說,這完全是黑暗中的一擊。
我得到的是這種奇怪的陰影行為。 我已經附上了屏幕截圖,並用紅色圓圈和指向它的箭頭圈了起來。 請注意,如何將陰影截斷,就好像光線從牆壁反射出來並消除陰影一樣。 有什么辦法可以避免這種情況?
陰影攝像機的挫敗感很可能會縮小。 您可以使用陰影攝像頭助手進行檢查 :
var helper = new THREE.CameraHelper( light.shadow.camera );
scene.add( helper );
由於性能,陰影攝像機的尺寸受到限制,但是您可以根據需要調整每個平面的角度,也可以僅將其角度增加(例如,從60增大到90):
light.shadow = new THREE.LightShadow(new THREE.PerspectiveCamera(90, 1, 1, 2500));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.