2013-06-23 53 views
0

我正在嘗試使用shadowCascade進行定向燈光。使用https://github.com/mrdoob/three.js/issues/1888中提及的示例的任何代碼會導致着色器錯誤+定期錯誤Object [object Object] has no method 'decompose'。 由於這是一個很少使用和未公開的功能,我不知道從何處開始調試。 在場景運行期間,即使將所有代碼都放出並在控制檯中爲燈光啓用shadowCascade,也會導致上面顯示的週期性錯誤。three.js shadowCascade usage

任何幫助將不勝感激!

親切的問候, Doidel

PS:人們總是希望看到一些代碼。所以這是一些代碼。

var sunlight = new THREE.DirectionalLight(); 
sunlight.intensity = 0.5; 
sunlight.position.set(100, 300, 100); 
sunlight.castShadow = true; 
sunlight.shadowBias = -0.0001; 
sunlight.shadowMapWidth = sunlight.shadowMapHeight = 2048; 
sunlight.shadowDarkness = 0.7; 

var d = 250; 
sunlight.shadowCameraLeft = -d; 
sunlight.shadowCameraRight = d; 
sunlight.shadowCameraTop = d; 
sunlight.shadowCameraBottom = -d; 
sunlight.shadowCameraNear = 200; 
sunlight.shadowCameraFar = 800; 

sunlight.shadowDarkness = 0.6; 
sunlight.shadowBias = 0.000065; 

sunlight.shadowCascade = true; 
sunlight.shadowCascadeCount = 3; 

sunlight.shadowCascadeNearZ = [ -1.000, 0.9, 0.975 ]; 
sunlight.shadowCascadeFarZ = [ 0.9, 0.975, 1.000 ]; 
sunlight.shadowCascadeWidth = [ 2048, 2048, 2048 ]; 
sunlight.shadowCascadeHeight = [ 2048, 2048, 2048 ]; 
sunlight.shadowCascadeBias = [ 0.00005, 0.000065, 0.000065 ]; 

sunlight.shadowCascadeOffset.set(0, 0, -10); 

scene.add(sunlight); 
sunlight.lookAt(new THREE.Vector3(0,0,0)); 
+0

這是行不通的:http://threejs.org/examples/webgl_morphtargets_md2_control.html? – WestLangley

+0

這是我鏈接的線程中提到的兩個示例之一。但是,是的,如果我以1:1的比例複製它,那也是不行的。你沒有這些錯誤?燈是否適合你? – Doidel

+0

我鏈接到與當前版本r.58一起使用的three.js示例。您使用三年前的three.js版本鏈接到其他網站。您很可能會鏈接到舊版本的three.js庫。使用r.58。 – WestLangley

回答