2015-01-09 6 views
1

Я создал модель сундука с использованием блендера, создал для него текстуру с ручным рисунком и установил всю вещь в среде, созданной с помощью Three.js. Груди передняя сторона, однако, имеет необычно экстремальную тень:Three.js - Экстремальная тень на поверхности сетки

enter image description here

Вот мои настройки Renderer:

var renderer = new THREE.WebGLRenderer(); 
renderer.setSize(window.innerWidth, window.innerHeight); 
document.body.appendChild(renderer.domElement); 
return renderer; 

Это источник света (на скриншоте, это единственный источник света), причиной этого тень:

var envLight = new THREE.PointLight(color, 0.5, 320); 
envLight.position.set(0, 80, zPos); 
return envLight; 

Материал установки:

var material = new THREE.MeshPhongMaterial(); 
//diffuse texture setup 
material.map = THREE.ImageUtils.loadTexture(textureURL); 
material.map.wrapS = material.map.wrapT = THREE.RepeatWrapping; 
material.map.repeat.set(repeatX, repeatY); 
// specular map setup 
material.specularMap = THREE.ImageUtils.loadTexture(specularMapURL); 
material.specularMap.wrapS = material.specularMap.wrapT = THREE.RepeatWrapping; 
material.specularMap.repeat.set(repeatX, repeatY); 
material.specular = that.specularLightingColor; 
return material; 

Сетка создается с использованием этого материала вместе с данными JSON, содержащими геометрию и UV-отображение, экспортируемое из Blender. Я использую THREE.JSONLoader для получения данных во время выполнения. Вот скриншот из блендера, показывающий развернутую сетку и UV-карту, кажется, проблема с выбранным лицом, поскольку она соответствует точной форме и расположению странной тени.

enter image description here

Я попытался отключить тень с Object3D в CastShadow/receiveShadow атрибуты, но это не показывает никакого эффекта вообще.

Другой скриншот нормалей ориентации сетки enter link description here http://front-a-little.de/pics/chest_shadow_issue_blender_normals.png

+0

Судя по образу этого в блендере, лицо, о котором идет речь, имеет неправильный нормальный характер. –

+0

Снимок экрана был сделан с подозрительным лицом. Сначала я проверил, было ли лицо перевернуто и выполнено «пересчет снаружи». В простом 3D-изображении это не темнее, чем остальные лица вокруг него, поэтому я думаю, что ориентация лица правильная. –

ответ

1

Я обновил до последней версии Three.js (R70) и обновил полностью переписан Blender экспорта аддон. Описанная проблема, скорее всего, была ошибкой в ​​предыдущей версии этого экспортера, экспортированная модель с использованием нового аддона не показывает странную тень.

fixed version

Новый экспортер поставляется с новыми настройками в окне сохранения, я должен был убедиться, что флажок «ЮВС» в разделе «Материалы» проверяется, чтобы загрузить модель с помощью Three.JSONLoader

+0

вы можете подтвердить свой ответ – Atrahasis

Смежные вопросы