Экспорт в UE5 из Blender с помощью аддона Send to Unreal.

Базовая информация.

Официальный репозиторий (требуется регистрация): https://github.com/EpicGames/BlenderTools

Официальная документация: https://epicgames.github.io/BlenderTools/send2ue/

Актуальная версия аддона на начало 2023 года для Blender 3.3 и новее:

Заметка по устаревшей версии Send to Unreal: https://noostyche.ru/blog/2020/08/24/eksport-v-ue4-s-pomoshchyu-addona-send-to-unreal-dlya-blender/


Send to Unreal (Send2Unreal) — это официальный аддон от Epic Games, позволяющий производить корректный экспорт объектов из Blender в Unreal Engine 4 и 5. Доступен экспорт статичной и скелетной геометрии, уровней детализации (LoD), коллизии, анимации, морфов, геометрического кэша и groom (волосяного покрова) на основе Alembic. Аддон хорошо работает с Linux-версией Blender и Unreal Engine 5.

Подготовка к работе.

Установка аддона.

Пример установки для Blender 3.3:

  • Распаковать загруженный архив, чтобы содержащийся в нём каталог send2ue был помещён в ./Blender/3.3/scripts/addons/
    • Пример полного пути до извлечённого каталога: /home/$USER/.local/share/Steam/steamapps/common/Blender/3.3/scripts/addons/send2ue/
  • Активировать аддон в Blender: Edit / Preferences / Add-ons / Pipeline: Send to Unreal

Настройка движка.

Для правильной работы аддона с движком требуется подключить плагин Python Editor Script Plugin.

Для этого в движке перейти в Edit / Plugins, с помощью поиска найти плагин и активировать:

Для работы Python-плагина с Send to Unreal требуется настройка проекта.

Для этого перейти в Edit / Project Settings и с использованием строки поиска найти Plugins — Python, где необходимо активировать разрешение на дистанционное выполнение Python-скриптов — Enable Remote Execution:

Разрешение выполнения позволяет Send to Unreal установить связь с движком через локальное соединение, осуществляемое по адресу: 239.0.0.1:6766


Так же рекомендуется отключить опцию «Use Less CPU when in Background», которая активирует снижение активности движка в свёрнутом состоянии. Отключение позволит обновлять окно движка в фоне, что полезно при использовании прямого импорта из Blender. Чтобы отключить опцию, нужно перейти в Edit / Editor Preferences , затем с использованием поиска найти «Use Less CPU when in Background» и снять отметку:

Настройка сетевого экрана (брандмауэр).

При прямом экспорте из Blender (через Send to Unreal ) сигнал от аддона к движку передаётся по сети посредством Python API. По умолчанию в сетевом экране подобные пакеты отбрасываются, поэтому необходимо разрешить получение пакетов с адреса 239.0.0.1 (от запущенного Unreal Engine) и порта 6766 на адрес компьютера в локальной сети. В противном случае аддон не сможет взаимодействовать с движком и будет показана портянка Python-ошибки.

К примеру, адрес компьютера в локальной сети 192.168.1.5, тогда разрешающее правило будет выглядеть подобным образом:


На этом подготовительная часть вне Blender заканчивается, остаётся настроить аддон под нужды применения.

Настройка и описание основных опций Send to Unreal.

Кнопки управления аддоном находятся в верхней панели:

Для настройки необходимо перейти в Pipeline / Export / Settings Dialog.

Примечание: Настройки аддона сохраняются только для конкретной сцены (.blend), при этом предоставляется возможность сохранить настройки во внешний файл, чтобы их можно было быстро применить в новой сцене.

Вкладка Paths.

Во вкладке представлены режимы экспорта.

Send to Project — экспорт напрямую в движок без необходимости подтверждать импорт в окне импорта в движке. Настройки из этого окна доступны для редактирования в Send to Unreal во вкладке Import (подробности далее по статье).

  • Движок должен быть запущен и должен быть открыт проект, в который будет вестись импорт ассетов.
  • В строках Mesh Folder, Animation Folder, Groom Folder, Skeleton Asset и Physics Asset указываются пути, отсчёт которых начинается от каталога Content (Game), расположенного в проекте.
    • Если указанная иерархия каталогов не была создана заранее, то при экспорте она будет создана автоматически.

Send to Disk — экспорт в FBX.

  • Файлы будут сохраняться в указанный каталог.
  • Можно указать одинаковый каталог для всех типов ассетов (mesh, animation и groom).
  • Опции FBX настраиваются в панели аддона в разделе Export.
  • Это довольно удобный вариант, так как облегчает реимпорт и использование в системе контроля версий.

Send to Disk then Project — экспортирует в движок и в FBX одновременно.

Вкладка Export.

Во вкладке представлены различные настройки экспорта.

Animation Settings — настройки экспорта анимаций: Action и NLA-дорожек.

  • Automatically scale bones — для Armature автоматически подстраивает значение Unit System под требования Unreal Engine (0,01).
  • Auto stash active action — из активного Action автоматически создаёт дорожку NLA.
    • На деле это больше мешает, чем помогает. Оптимально отключить, что позволит создавать дорожки только для желаемых Action.
    • Опция особенно мешает, когда новые Action создаются через дублирование ранее созданных. В этом случае дублирование автоматически порождает дорожку NLA, что создаёт путаницу и нагромождение, так же время от времени проявлялись ошибки, приводящие к замораживанию NLA-дорожки.
  • Export all action — экспортирует в отдельный ассет анимации из всех NLA-дорожек (для всех имеющихся Action).
    • Оптимально отключить, так как необходимость экспортировать всё и сразу возникает очень редко, не говоря уже о затруднениях при наличии «вспомогательных» Action.
  • Export object name as root bone — если объект Armature не был переименован, то при экспорте в движок он автоматически станет root-костью с именем root.
  • Export custom property fcurves — будут экспортированы все пользовательские свойства объекта, которые управляются F-curves.

FBX Export Settings — настройки влияют на экспорт не только в отдельный FBX-файл, но и на прямой экспорт в движок. На момент Send to Unreal версии 2.2 настройки являются оптимальными и подходят для большинства сценариев экспорта.

ABC Export Settings — экспорт в Alembic (геометрический кэш). Представленные настройки оптимальны.

Вкладка Import.

Здесь перечислены настройки импорта ассета в движок при задействовании прямого экспорта (Send to Project). То есть, если при обычном импорте FBX-файла в движок появляется окно настроек импорта, то при прямом экспорте все эти настройки можно отрегулировать заранее во вкладке Import, что избавляет от настроек импорта ассета в движке.

Предлагаемые параметры более-менее оптимальны и их переопределение стоит осуществлять только под специфику того или иного ассета.

Вкладка Validations.

Позволяет управлять «проверками»: отладочными сообщениями и запретом экспорта для тех или иных случаев, которые будут признаны «проверкой» недопустимыми.

  • Check scene scale — проверять соответствие того, что Unit System равен 1. Если обнаружится несоответствие, то будет выведено предупреждение, а экспорт — прерван.
  • Check scene frame rate — проверять значение частоты кадров анимации (frame rate), настраиваемой в Output Properties. По умолчанию проверка отключена. С тем учётом, что для Unreal Engine оптимально 30 и 60 FPS, когда как по умолчанию в Blender предлагается 24 FPS, то можно включить проверку для подстраховки.
  • Check armatures for un-applied transforms — проверять объекты Armature на предмет не сброшенных трансформаций. Такие трансформации могут создавать довольно причудливые искажения скелетных сеток и анимаций, поэтому не стоит забывать делать сброс на Ctrl + A (Apply). Причём сброс безопаснее делать до записи анимаций и прикрепления сетки (процесса развесовки).
  • Check if asset has unused materials — проверять наличие в объекте материалов, которые не применены ни к одной грани.
  • Check texture references — если текстура, прикреплённая к blend-файлу, не может быть обнаружена для использования в материале, то проверка будет провалена.

Кратко о процессе экспорта.

  • Первым делом стоит настроить аддон для blend-сцены, из которой будет вестись экспорт ассетов.
  • Теперь настройка сцены минимальна.
    • Не нужно изменять Unit System на 0,01. Значение должно быть равно 1.
    • Переключить Frame rate анимаций с 24 FPS на 30 (или 60).
  • Объекты для экспорта поместить в специальную коллекцию Export.
    • За раз можно экспортировать множество объектов, причём всех типов (статичные и скелетные сетки, анимации, геометрический кэш).
    • Скрытые объекты не будут экспортированы.
    • При экспорте анимаций требуется добавить в экспорт ранее привязанную к скелету сетку, а не только скелет, иначе будет выведена ошибка и экспорт не пройдёт.
  • При нажатии кнопки Pipeline / Export / Send to Unreal будет осуществлён экспорт в зависимости от выбранного режима (Send to Project, Send to Disk, Send to Disk then Project).
    • Для режима Send to Project должен быть запущен движок и открыт проект, в который требуется произвести импорт.
      • Не забыть, что для сетевого экрана требуется разрешающее правило на получение пакетов с адреса 239.0.0.1 и порта 6766.
    • Для Send to Disk (на момент версии Send to Unreal 2.2) запущенный движок не требуется.

Подробнее о нюанса экспорта можно ознакомиться в официальной документации:


6 отзывов к статье “Экспорт в UE5 из Blender с помощью аддона Send to Unreal.”

  • 1
    Даниил в 07.02.2023 Ответить

    эмм, Настройка сетевого экрана (брандмауэр) это где вообще?

    • 2
      Igor в 09.02.2023 Ответить

      Если не используется сетевой экран, можно сделать обычное правило для nftables.

  • 3
    leol в 19.04.2023 Ответить

    Знаешь статья офигенная, всё хорошо объяснил, но у меня дилемма в том что я не могу подключить этот аддон, ну он подключается, а вкладки pipeline нет, не смотря на то что я откатывал на 3.4 и 3.3. Не знаешь в чём причина?

    • 4
      Igor в 08.05.2023 Ответить

      Странно. Так и не получилось? Мы используем Blender 3.3 с длительным сроком поддержки (LTS) и Send to Unreal версии 2.2.0.

  • 5
    Nik в 29.05.2023 Ответить

    я не совсем понимаю, как правильно настроить брандмауэр наверное
    Правила вроде созданы, но выдает ошибку когда пробую отправить в анрил всё

    Python: Traceback (most recent call last):
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\operators.py», line 288, in execute
    unreal.bootstrap_unreal_with_rpc_server()
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\dependencies\unreal.py», line 190, in bootstrap_unreal_with_rpc_server
    result = run_commands(
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\dependencies\unreal.py», line 160, in run_commands
    remote_exec.start()
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\dependencies\remote_execution.py», line 73, in start
    self._broadcast_connection.open()
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\dependencies\remote_execution.py», line 239, in open
    self._init_broadcast_socket()
    File «C:\Users\sl\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\send2ue\dependencies\remote_execution.py», line 267, in _init_broadcast_socket
    self._broadcast_socket.setsockopt(_socket.IPPROTO_IP, _socket.IP_ADD_MEMBERSHIP, _socket.inet_aton(self._config.multicast_group_endpoint[0]) + _socket.inet_aton(self._config.multicast_bind_address))
    OSError: [WinError 10065] Сделана попытка выполнить операцию на сокете для недоступного хоста

    • 6
      Igor в 15.06.2023 Ответить

      По Windows не могу подсказать, не представляю зачем использовать эту ОС. В ней проблема может быть в чём угодно, включая антивирус.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *