2012-06-06 12 views
8

タイトルが言うとおり。 現在のシーンをレンダリングすると、すべて正常に動作します。 白い猿の影だけが切り取られます。 これはどうやって解決できますか?ここでthree.jsシャドウカットオフ

サイトです:http://hammer.bz/test/ とスクリーン;)
http://i.stack.imgur.com/6jd0h.png

私はそれがカメラまたはライトに関係していると思います。.. ので、ここで彼らは、次のとおりです。

renderer.shadowMapEnabled = true; 
renderer.sortObjects = false; 
renderer.shadowMapWidth = 3072; 
renderer.shadowMapHeight = 3072 
renderer.shadowCameraNear = 2; 
renderer.shadowCameraFar = 40000; 
renderer.shadowCameraFov = 50; 
renderer.shadowMapBias = -0.00022; 
renderer.shadowMapDarkness = 0.55; 
renderer.shadowMapSoft  = true; 
renderer.physicallyBasedShading = true; 
renderer.setClearColorHex(0x999999, 1); 


camera = new THREE.PerspectiveCamera(70, window.innerWidth/window.innerHeight, 0.1, 40000); 
camera.position.x = x; 
camera.position.y = y; 
camera.position.z = z; 
camera.rotation.x = -0.8; 
scene.add(camera); 


var light = new THREE.DirectionalLight(0xffffff, 1); 
light.position.set(-2, 5, 2).normalize(); 
light.shadowCameraNear = 0.01; 
light.shadowCameraFar = 1000000; 
light.castShadow  = true; 
light.shadowDarkness  = 0.5; 
light.shadowCameraVisible = false; 
scene.add(light); 

ありがとうございます!
ブラム

編集:それを得た:

をだけではなく、THREE.SpotLightを使用しています。 それはばかな質問だった。

ライトを見るにはshadowCameraVisible = true;を置くだけで動作します。 この質問では少しばかげていると感じました;)

+1

あなたはそれを理解してうれしい!簡単な答えで質問することについては、決して愚かではない。 Stack Overflowの質問を入力するとき、または投稿した直後のいずれかで自分の問題を何度も見つけたことが何回も伝えられません。私は実際にあなたの所見をこの質問の答えとして追加し、必要な24時間待ってから受け入れられた回答としてマークすることをお勧めします。これは、他の人が将来問題が解決されたことを確認するのに役立ちます。 – Toji

答えて

5

ただ代わりにTHREE.SpotLightを使用してください。

ライトを見るにはshadowCameraVisible = true;を置くだけで動作します。 オフコースあなたは位置を設定する必要がありますposition.set(x, y, z);