2013-09-27 112 views
5

我一直在玩three.js - 2toria.com/poolThree.js陰影 - 如何改善?

我遇到的問題是試圖讓我的陰影看起來更好。此刻,他們是這樣的: -

enter image description here

有點像素化。有沒有一種辦法可以讓他們看起來更平滑,就像這裏: -

enter image description here

我已經嘗試了一些東西,但我無法找到正確的設置。我的渲染器是這樣設置的: -

renderer.shadowMapEnabled = true; 
renderer.shadowMapSoft = true; 
renderer.shadowMapType = THREE.PCFShadowMap; 

我以爲shadowMapSoft會做到這一點,但沒有。任何想法/幫助?

回答

10

確實,我有同樣的問題。我的修復是增加我的光源shadowMapWidth和高度。就我而言,這是一個焦點問題:

spotLight = new THREE.SpotLight(0xAAAAAA); 
spotLight.castShadow = true; 
spotLight.shadowCameraFov = VIEW_ANGLE; 
spotLight.shadowBias = 0.0001; 
spotLight.shadowDarkness = 0.2; 
spotLight.shadowMapWidth = 2048; 
spotLight.shadowMapHeight = 2048; 

哦,還有一件事,如果你增加的兩個電源的地圖大小你順利的陰影中走出的越來越多,但你會看到具有複雜幾何形狀的性能損失。所以試試2048,也許4096看看他們是如何工作的。我發現你有renderer.shadowMapType。我要去看看,可能會讓我自己的項目好多了,謝謝:)

+0

這個答案是從2013年開始的,所以很可能是基於r55-r64。你碰巧知道如何在r87中軟化陰影嗎? –