В этом видео, сделанном в Blender версии 4.2, я покажу вам пару Python scripts, которые позволяют экспортировать содержимое Blender scene в FBX, включая Textures, для всех Blender files, доступных в папке.


Видеоверсия этого руководства в настоящее время недоступна на этом языке, но доступна на английском языке при выборе соответствующего языка в верхней части страницы.


Текстовая расшифровка видео

Всем привет! В этом видео, сделанном в Blender версии 4.2, я покажу вам пару Python scripts, которые позволяют экспортировать содержимое Blender scene в FBX, включая Textures, для всех Blender files, доступных в папке.

Скриптов два, потому что первый script выполняет экспорт для файла, в котором он запускается, а второй script запускает первый для всех Blender files в папке.

Я создал эти scripts для своей конкретной задачи и понимаю, что это очень частный случай. Однако tutorial можно расширить и на другие случаи, потому что фактически он показывает, как запускать script, передавая ему параметры, даже без необходимости открывать Blender. Поэтому вы также можете использовать этот метод с другими operators и tools, отличными от тех, которые используются в этом случае!

В частности, можно экспортировать содержимое blend scene в FBX file с помощью функции export scene fbx из модуля operators, указав имя целевого файла и другие параметры, как описано в документации этого operator в Blender manual.

Больше всего меня интересует также экспорт Textures материалов моделей с использованием опции Embedded при включенном режиме Copy, как я объяснял в моем tutorial о том, как экспортировать models в FBX with textures.

Два параметра, которые нужно указать помимо имени целевого файла, это Path Mode, который должен быть установлен в Copy, и embed textures, который должен быть установлен в True.

Поэтому вызов функции в script export embedded fbx будет таким: bpy.ops.export_scene.fbx(filepath = sys argv -1, path mode='COPY', embed textures = True).

Это единственная инструкция после импорта модулей bpy и sys, которую нужно включить в файл export_embedded_fbx.py. Имя файла передается в script как параметр, а Path Mode и Embed Textures позволяют сохранить изображения, используемые как Textures, внутри FBX file.

Если бы мы хотели запустить этот script для одного blend file, нам достаточно было бы написать в terminal следующую команду:

blender filename.blend --background --python export_embedded_fbx.py -- filename.fbx

Однако я хочу запустить этот script для всех Blender files в папке, которых может быть много, поэтому я не хочу каждый раз вручную заменять имена файлов!

Значит, нам нужен еще один script или batch file, который будет запускать эту команду для каждого Blender file, найденного в текущей папке.

Простое решение, это написать следующие инструкции в другом Python file, который мы назовем, например, batch export embedded fbx.

После импорта модулей os и subprocess, которые нужны нам для доступа к файлам на диске и для запуска другого Python script, мы получаем путь текущей папки, сохраняя его в переменной script dir.

После этого мы получаем список всех Blender files, доступных в текущей папке.

На этом этапе мы запускаем loop, который для каждого Blender file в списке выполняет Python script export embedded fbx, передавая ему как имя текущего Blender file, так и имя выходного файла с суффиксом EMBEDDED и расширением .fbx.

После сохранения обоих файлов на диск остается только запустить Python script batch export embedded fbx, чтобы получить желаемый результат.

Что ж, надеюсь, это короткое видео было полезным! До скорой встречи!

Этот сайт предназначен исключительно для демонстрации некоторых моих работ и не имеет рекламных целей. Обратите внимание, что в настоящее время я не ищу и не рассматриваю запросы на индивидуальные заказы, консультации или любые другие формы профессионального сотрудничества.


РАСШИРЕННАЯ ИНФОРМАЦИЯ О ПОЛИТИКЕ КОНФИДЕНЦИАЛЬНОСТИ И ИСПОЛЬЗОВАНИИ ФАЙЛОВ COOKIE