Я знаю, как экспортировать json-модель из блендера и загрузить ее с помощью THREE.JSONLoader(). Load. Я хочу построить модель с помощью Threejs в Webgl и создать json-файл из этой модели. Кто-нибудь знает, возможно ли это?Three.js get json
ответ
Я хотел бы прежде всего понять ваш вопрос. Вы пытаетесь связать свой объект3D в JSON, как будто это был .obj? Значит, вы можете прочитать его и построить геометрию в другой момент в другом месте? Кажется, вы пытаетесь сделать обратный путь «blender -> json -> three.js», верно?
На мой взгляд, вы должны точно понимать, как модель закодирована в JSON, чтобы вы могли действовать так, как будто вы были blender, и именно тогда вы должны написать что-то вроде сериализатора, который связывает правильную информацию в JSON.
Если вы просто хотите создать JSON, который может выступать в качестве настраиваемого шаблона/модели/стандарта, что-то вроде альтернативы формату .obj или .blend, тогда вы также должны записать де-сериализатор.
Позвольте мне объяснить.
Ваша геометрия имеет вершины, грани, uvs, нормали и т. Д. Вы должны указать все эти вещи при сериализации, следуя точному порядку, а затем все готово. Как только вы узнаете парадигму, вы сможете ее прочитать и де-сериализовать.
Если я что-то не понял, скажите, пожалуйста.
До свидания
Да, это возможно. Для экспорта в Three.js вам понадобится плагин, установленный в блендере.
Скачать форму мерзавец: Blender exporter to Three.js
Таким образом, скачать и поставить io_three папку под ~/.config/блендер/2,69/скрипты/аддонов/папки.
Затем откройте «Файл»> «Пользовательские настройки» и перейдите на вкладку «Аддоны». Найдите Three.js и включите найденный подключаемый модуль. Теперь вы можете увидеть опцию File> Export> Three.js. На открытой вкладке убедитесь, что флажок «Личные материалы» отмечен. В противном случае у вас не будет материалов, а Three.js откажется импортировать вашу сетку.
Использование с Three.js
var mesh = null;
function initMesh() {
var loader = new THREE.JSONLoader();
loader.load('./marmelab-logo.json', function(geometry) {
mesh = new THREE.Mesh(geometry);
scene.add(mesh);
});
}
Я думаю, вы должны смотреть на ThreeJS Редактора: http://threejs.org/editor/ –