corte de sombra de três.js
Como o título diz. Quando eu renderizo a cena atual, tudo funciona bem. Apenas a sombra do macaco branco é cortada. Como isso pode acontecer e existe uma solução para isso?
Aqui está o site:http://hammer.bz/test/ e uma tela;)
http://i.stack.imgur.com/6jd0h.png
Eu acho que tem a ver com a câmera ou com as luzes .. então aqui estão elas:
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 );
Desde já, obrigado!
Bram
EDIT: entendi:
Apenas useTHREE.SpotLight
em vez de. Foi uma pergunta idiota.
Basta colocar emshadowCameraVisible = true;
para ver a luz e vai funcionar. Sentindo-se um pouco idiota agora por essa questão haha;)