2015-03-25 5 views
1

Я пытаюсь сделать свет в этой кухне http://bozoou.com/plocice3D/ Вы можете заметить странные горизонтальные удары тени на кухонном элементе.ThreeJS weird stripes shadow

У меня есть подозрение в spotLight, который находится в середине x, y и верхней части оси z. Если переместить источник света только для 1 точки вдоль оси у (номер 500x300), я получил это удары тень на весь этаж: http://bozoou.com/plocice3D/?moveLight=1 же проблема возникает, если я перееду свет на 1 или 50.

All элементы отбрасываются и получают тень.

+0

вл установлен ваш этаж? Это один большой самолет или несколько небольших? – bwright

+0

посмотрел на вашу сцену. Кажется, что у вас совпадающая геометрия. Значение yopu имеет несколько самолетов в том же месте. Таким образом, визуализатор не знает, что делать, что приводит к такому поведению. – bwright

ответ

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, изменяя эти два значения, не достигнет цели.

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

Имейте в виду, что чем больше вы установили spotLight.shadow.camera.far тем более, что тень будет нечетким и blury.

Вы всегда можете проверить threejs на этом примере threejs example