Motive
Я пытаюсь создать небольшое демонстрационное приложение, используя WebGL. Я решил использовать SceneJS, потому что он казался простым фреймворком и его более чем достаточно для этой цели.
Я скачал несколько моделей .blend (среди прочих Эми Роуз ) и экспортировал их в виде файла Collada (.dae) с помощью Blender. Затем я использовал scenejs-pycollada, чтобы преобразовать их в модель json.
Я просто потратил пару часов на то, чтобы заставить работать scenejs-pycollada конвертер. Очевидно, что заставить работать эти зависимости Python в Windows не так просто, если вы никогда раньше не использовали Python. ;)
Задача
Но сейчас я застрял (снова). Моя проблема в том, что у моделей нет текстур или материалов.
Я использовал Пример плоскости Сеймура от SceneJS. Модель, которую я преобразовал, едва видна. Это черный и, кажется, не реагирует на освещение в сцене. Если я загружаю самолет и модель вместе, я вижу, что модель загружена, потому что ее руки и ноги торчат из плоскости.
Теперь я следовал нескольким учебникам, которые позволили бы мне экспортировать текстуру в виде PNG-изображения. Затем я изменил имя файла текстуры в модели JSON, чтобы оно совпадало с именем файла, но это не помогает.
Поэтому я надеюсь, что кто-нибудь может помочь мне найти способ экспорта моделей Blender (или других распространенных 3D-моделей) в формат JSON, используемый SceneJS, включая текстуры.
Подойдет любой другой метод загрузки моделей в SceneJS, если он работает.
Если бы у вас была ссылка на бесплатную загрузку моделей JSON для тела и фигуры, это помогло бы на данный момент, но я лучше узнаю, как это работает. :)
Я использую
- Windows 7 Home Premium 64bit
- Python 2.7 (Windows 32bit)
Я выбрал 32-битную версию из-за, казалось бы, лучшей поддержки библиотек и большего количества доступных установщиков. Сначала я перепутал 32 и 64 бит, и это доставило мне неприятности, но теперь, кажется, все работает (кроме текстур).
- Блендер 2.59
- SceneJS 0.8.0
Мой рабочий процесс
В Blender я экспортирую модели в файлы Collada (* .dae), а затем преобразую их в Raw JSON, используя scenejs-pycollada. Это дает мне файл JSON с двумя объектами в нем. Первая, кажется, сцена, вторая модель. Я оставляю второе и помещаю его в переменную Javascript, которая используется в коде примера SceneJS. Модель заканчивается свойствами , "type": "library", "parent": "Scene"
, которые мне нужно удалить из кода, чтобы он вообще загружался.