2016-06-17 3 views
3

그림자 관련 문제가 있습니다. 여기에 내가 직면하고있어 문제의 이미지 : 거기에 그 선이 왜그림자가있는 인공물 (표준 MeshPhongMaterial 사용)

An image is waaay better than a thousand words

enter image description here

내가 이해할 수없는, 완전히 점등해야하는데! 저는 실제 그림자가 왜 부드럽게 보이는지 보지 못합니다. 경계선은 제가하려고하는 것에 충분할만큼 훌륭하지만, 저는 그 곳에 모든 선들이 있습니다.

내 빛 구성 :

var dirLight = new THREE.DirectionalLight(0xfeffaf, 1); 
dirLight.position.set(dimensions.middlePoint.x, 
    dimensions.middlePoint.y + (dimensions.lengthY/2), 
    dimensions.middlePoint.z + dimensions.lengthZ); 
dirLight.target.position.set(
    dimensions.middlePoint.x, 
    dimensions.middlePoint.y, 
    dimensions.minZ); 
dirLight.castShadow = true; 
dirLight.shadowDarkness = 0.4; 
dirLight.shadowMapWidth = 1024; 
dirLight.shadowMapHeight = 1024; 
dirLight.shadowCameraNear = 1; 
dirLight.shadowCameraFar = dimensions.lengthY * 2; 
dirLight.shadowCameraLeft = - dimensions.lengthX/2; 
dirLight.shadowCameraRight = dimensions.lengthX/2; 
dirLight.shadowCameraTop = dimensions.lengthY/2; 
dirLight.shadowCameraBottom = -dimensions.lengthY/2; 
dirLight.shadowBias = 0.0000005; 
scene.add(dirLight); 

그리고 내 렌더링 설정있다 :

threeRender = new THREE.WebGLRenderer({ antialias: true }); 
threeRender.shadowMap.enabled = true; 
threeRender.shadowMap.renderReverseSided = false; 
threeRender.shadowMapSoft = true; 
threeRender.shadowMapType = THREE.PCFSoftShadowMap; 

가 aswell를 고정으로 올바른 방향으로 날을 가리키는 나를 내가,이 문제를 해결할 수있는 방법을 알려주세요 . 고맙습니다.

+0

http://stackoverflow.com/questions/34778864/strange-behaviour-of-shadowing-in-threejs/34779433#34779433 – WestLangley

+0

@WestLangley 고맙습니다. 나는 많은 것을 읽은 이래로 해왔고 나는이 [github issue] (https://github.com/mrdoob/three.js/issues/6420)를 보았다. 이것이 구현 되었습니까? 시도해 볼 수 있을까요? 그것은 성능과 여드름/페터 패닝을 다루는 것, 그래서 당신은 내가 왜 그것을 시도하고 싶습니다 상상할 수 있습니다. – tfrascaroli

+0

나는 이것이 실행되었다고 믿는다. 왜 확인하고 확인하지 않니? – WestLangley

답변

3

shadowBias의 값을 늘리십시오. 이슈는 그림자 여드름으로 알려져 있습니다 :

enter image description here

은 자세한 내용은 this link를 참조하십시오.

+0

오 와우, 나는 그것이 다른 방법으로 생각하고 그것을 더 작게 만들었다. 그러나 한 가지 : 이제 그림자가 생기지 않습니다. S – tfrascaroli

+0

그림자 분해능 (너비와 높이)을 늘리면 그림자 절두체 (shadowCameraXXX ...)가 감소합니다. ShadowCameraNear는 가능한 한 커야합니다. – user80667

+0

제공하신 링크는 엄청난 도움이됩니다. 나는 그 문제를 부르는 법을 몰랐다. 그것은 첫 번째 문제였다. (제대로 찾지 못했다.) 당신의 해결책은 정확했다. 다만 그 가치를 높이는 것이 그림자가 사라지는 것처럼 그 트릭을 제대로하지는 못했다. 나는 그것을 부정했다 (-0.006). 그리고 모든 것은 지금 단지 멋지게 보인다. 너무 고마워, 너의 대답을 받아 들일거야. – tfrascaroli