2017-01-29 5 views
1

Я пытаюсь загрузить довольно простую модель с двумя материалами (наложенными на лицо) в Three.js, экспортированным из Blender. Проблема, с которой я сталкиваюсь, заключается в том, что с несколькими материалами, применяемыми через код ниже, сетка полностью исчезает, но я могу легко использовать materials[0] или materials[1] вместо materials и видеть твердый объект. Мои настройки экспорта из блендера, а также то, что он должен выглядеть, ниже, и модель json видна онлайн here.Сложена сетка Three.js с несколькими материалами?

enter image description here enter image description here

ответ

2

Я попробовал ваш файл в формате JSON и отображаются так же, как ваше изображение. Вот код, который я использовал (Three.js R83):

var mesh = new THREE.Object3D(); 
var jsonLoader = new THREE.JSONLoader(); 
jsonLoader.load('/js/models/cube.json', 
    function (geometry, materials) { 
     mesh = new THREE.Mesh(geometry, 
      new THREE.MultiMaterial(materials)); 
     scene.add(mesh); 
    } 
); 

http://www.threejsworld.com/tutorials/working-with-materials-in-threejs

+0

Я думаю, что это может быть глюк или неправильная установка с экспортером Blender то, какую версию вы используете и какие настройки не так использовать? Мне пришлось обойти это, разделив модифицированную версию каркаса и твердую версию на отдельные файлы .json и импортировав их отдельно. – CoryG

+0

экспортер версия 1.5.0, блендер версии 2.77a. Те же настройки, что и вы. Я не вижу, как Blender или экспортер может быть проблемой, если ваш JSON работал для меня, y'know – MartyBoggs

+0

Я пропустил бит 'new THREE.MultiMaterial (materials), когда я читал в первый раз (у меня было почти одинаковое кода, кроме того, что он заменяет собой «материалы».) Спасибо. – CoryG

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