2015-03-25 440 views
1

我想在這個廚房裏面讓房間的燈光http://bozoou.com/plocice3D/ 你可以注意到在廚房元素上的陰影水平罷工。ThreeJS奇怪的條紋影子

我懷疑在spotlight中,它位於x,y和z軸的頂部。 如果我提出光的來源只有1沿y軸(室是爲500x300)點,我上了整層樓的影子這種罷工:如果我將光1或50

所有http://bozoou.com/plocice3D/?moveLight=1 同樣的問題發生元素投射和接收陰影。

+0

流是你的地板成立threejs?它是一架大型飛機還是多臺小型飛機? – bwright 2015-03-25 10:50:49

+0

有一個看你的場景。它看起來好像你有幾何重疊。意思yopu在同一個位置有多個飛機。因此渲染器不知道渲染什麼導致這種行爲。 – bwright 2015-03-25 10:53:48

回答

1

這個問題通常是由於陰影附近的點太靠近你的對象造成的。 爲了更好地理解,在創建燈光之後,可以添加一個攝像頭幫助程序,向您展示燈光的細節。

var spotLight = new THREE.SpotLight(0xffffff, 0.3, 0, Math.PI/2); 
spotLight.position.set(0, 100, 0); 
sunLight.castShadow = true; 

var shadowCameraHelper = new THREE.CameraHelper(spotLight.shadow.camera); 
shadowCameraHelper.visible = true; 

Kepp改變這兩個值unip你達到你的目標。

spotLight.shadow.camera.near = 50; 
spotLight.shadow.camera.far = 150; 

請記住,您設置的spotLight.shadow.camera.far越多,陰影將變得越模糊和模糊。

您可以隨時在這個例子中 threejs example