Урок 5: Экспорт из BlendElf В этом уроке мы научимся экспортировать сцены из Blender'a в PAK формат, понятный BlendElf'у. Урок не нацелен на создание самой сцены в Блендере, если вы хотите научиться этому - гугл вам в помощь. Думаю, многие знают, как пользоваться Блендером, так что не будем уделять этому много времени. Важно: в уроке используется 2.49 версия Блендера. Экспортер для версии 2.5 вы можете найти сами. Шаг 1: Необходимые ресурсы Все, что нужно для экспорта входит в BlendElf Development Kit. Он включает в себя и движок, и скрипты для экспорта. Если вы его еще не скачали, то милости просим на BlendElf.com Шаг 2: Находим инструменты для экспорта Расположены они в папке tools, а именно нам потребуется скриптик blender_pak_exporter_fast.py. Продвинутые пользователи Блендера могут просто перенести скрипт в папку скриптов Блендера, чтобы он появился в меню, однако я распишу процедуру запуска скриптов для новичков, т.к. зачастую даже поиск папки скриптов Блендера ставит их в ступор. Шаг 3: Запуск скрипта в Блендере Первое, что мы должны сделать - открыть Text Editor. Его можно найти в меню Window Type: Теперь в редакторе текста мы должны открыть наш скрипт blender_pak_exporter_fast.py: ...И мы можем его запустить: Откроется файловый браузер, через который вы можете сохранить ваш PAK в любую папку. Важно: Изначально файл будет иметь расширение .blend, но вам нужно будет сменить его на .pak, чтобы функция elf.LoadScene смогла его открыть. Шаг 4: Настройка физики и столкновений для BlendElf В Блендере 2.49 нет доступа к физическим свойствам объектов, но мы можем настроить их свойства. Сначала найдите кнопки Logic в Блендере: Видите большую кнопку Add Property? Думаю, не стоит говорить, что с ее помощью можно задать свойства выбранному объекту. Давайте установим форму: Мы установили строковую переменную shape и переменную BOX. Экспортер распознает этот объект, как elf.BOX. Наш объект не имеет массы (масса будет равна 0.0), а посему он будет статичным. Таким же способом мы можем задать массу и еще несколько важный свойств: shape -Переменная типа String. Доступные переменные: [BOX|SPHERE|MESH|CAPSULE_X|CAPSULE_Y|CAPSULE_Z|CONE_X|CONE_Y|CONE_Z] mass - Переменная типа Float, положительная. lin_damp - Переменная типа Float, положительная. ang_damp - Переменная типа Float, положительная. Шаг 5: Карты нормалей и карты смещений. Следующее изображение показывает настройки текстур, которые включают карты нормалей (ориг. normal mapping) и карты смещений (ориг. displacement mapping): Если вам требуются карта отражений (ориг. specular map), то просто включите опцию Spec Важно: Все отражения в BlendElf проходят через карту отражений, в отличии от Блендера, который по умолчанию комбинирует нормальные отражения с картой отражений. Шаг 6: Скриптинг объектов через Блендер Чтобы добавить новый скрипт в Text Editor выберите Text -> New. Важно: скрипты ОБЯЗАТЕЛЬНО должны иметь расширение .lua, иначе экспортер его просто не распознает. Теперь нужно дать скрипту имя, например myscript.lua: Так же нужно создать свойство типа String под названием script: Это все, что вам нужно знать о скриптах. Если вы все сделали правильно, то скрипт будет экспортирован в BlendElf, выполняя то, что он должен выполнять Шаг 7: Armatures При экспорте арматуры (ориг. armature) из Блендера в BlendELF, вы должны принять во внимание положение положение арматуры. Оно должно быть точно таким же, как и после деформации арматуры. Иначе анимация будет выглядеть неправильно. P.S. Очень не люблю переводить непереводимые термины, смысл от этого зачастую ломается. А эта статья переполнена терминами, так я не претендую на идеальную точность перевода, уж извиняйте. P.P.S. Переводить термины Blender'a мне особенно сложно, я им никогда не пользовался, открыл лишь для того, чтобы правильней понять суть происходящего в уроке. Надеюсь, вопросов по использованию сего инструмента ко мне не будет. Спасибо.
Источник: КЛИК» |