Последние новости
Автоэкспозиция в Unreal Engine: руководство для интерьеровНадёжный экспорт анимации из Blender: руководство по последовательности кадровИнструмент NIST INSIGHT создает 3D-карты интерьеров зданий для экстренных службICG Gallery Dubai открылась: в центре внимания — чувства и нейроархитектураUnity ведёт переговоры о продаже за 25 млрд долларов — СМИРуководство по моделированию поверхностей в Rhino с помощью Sweep1, Sweep2 и RailRevolvePowerhouse Parramatta откроется 7 ноября: музей в стальном каркасеOmniscient превращает iPhone в виртуальную камеру для BlenderQuixel Megascans стал бесплатным на Fab, но навсегда ли — пока неизвестноКак использовать Shape Keys в Blender: пошагово для архитектурной анимации
УрокиUnreal EngineOMAMAS

Автоматизация на Python в Unreal Engine: включаем плагин и запускаем первый скрипт

В этом руководстве пошагово разбираем, как включить поддержку Python в Unreal Editor, запускать код из консоли или файла скрипта и использовать возможности автоматизации. Python можно применять в редакторе, но не во время игры.

Рабочее пространство для архитектурной визуализации, иллюстрирующее тему автоматизации на PythonИИ-изображение
Иллюстрация создана с помощью ИИ.Изображение: 3dsınıfı / FCA AI

Коротко

  1. Поддержку Python обеспечивает Python Editor Script Plugin, который нужно отдельно включить в каждом проекте Unreal Engine.
  2. Согласно официальному руководству, плагин содержит встроенную версию Python 3.11.8; устанавливать Python на компьютер отдельно не нужно.
  3. Скрипты Python можно запускать из консоли, через меню File, командную строку, скрипты запуска или узлы Blueprint, доступные только в классах редактора.
  4. Python в Unreal Editor — не язык для программирования игрового процесса во время игры, а средство автоматизации редактора и производства контента.

Что вы узнаете из этого руководства?

Чтобы начать использовать Python в Unreal Editor, сначала включите соответствующий плагин в проекте, а затем запустите код подходящим способом. В этом руководстве описаны установка плагина, запуск кода из консоли, выполнение файла Python и варианты, позволяющие в дальнейшем автоматизировать процессы и повторять их. Epic Games указывает, что Python в редакторе предназначен, например, для управления ресурсами, размещения контента на уровнях и автоматизации некоторых трудоёмких задач.

Важно учитывать область применения: среда Python предназначена для Unreal Editor. Код Python нельзя использовать, когда проект запущен в режиме Play In Editor, как отдельная игра или в виде упакованного приложения. Поэтому описанные здесь приёмы — отправная точка для автоматизации редактора и производственного процесса, а не для создания игровой логики.

Требования

  • Проект Unreal Engine и Unreal Editor.

  • Плагин Python Editor Script Plugin, который нужно включить для проекта.

  • Плагин Editor Scripting Utilities, рекомендованный руководством для доступа к упрощённым API распространённых операций редактора.

  • Отдельная установка Python не требуется: согласно документации Epic Games, Python Editor Script Plugin включает встроенную версию Python 3.11.8.

Документация Unreal Python API помечена как «5.8 (Experimental)». Epic Games также предупреждает, что функция является экспериментальной и требует осторожного использования, особенно на этапе выпуска продукта. Поэтому описанные здесь шаги стоит сначала проверить на копии производственного проекта или в тестовом проекте. В источниках также не указано требование к аккаунту.

Шаг за шагом: включаем Python и запускаем код

1. Включите плагины в проекте

Откройте нужный проект в Unreal Editor и выберите в главном меню Edit > Plugins. В разделе Scripting окна Plugins найдите Python Editor Script Plugin и включите параметр Enabled. Epic Games также рекомендует включить Editor Scripting Utilities — этот плагин предоставляет упрощённые API для распространённых операций редактора.

Эту настройку нужно выполнить отдельно для каждого проекта. После включения плагинов перезапустите редактор. Не пропускайте этот шаг: руководство требует перезапуска Unreal Editor после установки плагина.

2. Используйте режим Python в консоли

Чтобы выполнять код построчно или сразу запускать короткие фрагменты, переключите поле ввода консоли в панели Output Log в режим Python. Открыть строку ввода консоли также можно клавишей ~. Введённые в режиме Python строки выполняются сразу. Для нескольких строк используйте Shift+Enter или вставьте многострочный блок из текстового редактора.

Этот способ подходит для интерактивных экспериментов. Вывод функции print также направляется в панель Output Log. Если консоль команд работает в режиме Cmd, оставшуюся часть строки можно выполнить как Python-код с помощью команды py. Пример вызова существующего файла скрипта:

bat
py "C:\MyScripts\my_script.py"

Путь к файлу здесь приведён в руководстве как пример расположения скрипта. Для собственного файла укажите соответствующий путь.

3. Запустите файл скрипта через меню File

Чтобы выбрать файл, который ещё не запускали, воспользуйтесь пунктом File > Execute Python Script в главном окне. Ранее запускавшиеся файлы можно выбрать повторно в списке Recent Python scripts. Редактор заново считывает файл с диска, поэтому таким способом запускается и последняя версия скрипта с внесёнными изменениями.

Этот способ позволяет запускать код из файла, не вставляя его снова и снова в консоль. В источнике не упоминается автоматическая проверка или валидация содержимого файла, поэтому перед запуском проверьте скрипт и целевой проект.

4. Запустите скрипт из командной строки вместе с редактором

Если скрипт взаимодействует с содержимым проекта или уровнем, загрузка которого может занять время, используйте способ, запускающий полноценный Unreal Editor. Редактор откроет проект, загрузит уровень, заданный по умолчанию при запуске, а затем выполнит скрипт, когда среда будет готова. Пример для командной строки Windows из руководства:

bat
UnrealEditor-Cmd.exe "C:\projects\MyProject.uproject" -ExecutePythonScript="c:\my_script.py"

Для этого способа в проекте должен быть включён плагин Editor Scripting Utilities; Python Scripting Plugin также должен быть заранее включён в указанном в команде проекте. Согласно руководству, после выполнения скрипта редактор закрывается.

5. Рассмотрите вариант с командлетом без интерфейса

Способ с командлетом позволяет быстрее запустить скрипт без открытия интерфейса редактора, то есть в headless-режиме. В руководстве показан пример использования UnrealEditor-Cmd.exe с аргументами -run=pythonscript и -script:

bat
UnrealEditor-Cmd.exe "C:\projects\MyProject.uproject" -run=pythonscript -script="c:\my_script.py"

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

python
unreal.get_editor_subsystem(unreal.LevelEditorSubsystem).load_level("/Game/maps/UVlayoutTest.UVlayoutTest")

Пути к проекту, скрипту и уровню в примерах с командлетом взяты из документации. Перед использованием замените их на актуальные пути своего проекта.

6. Запускайте повторяющиеся задачи при старте

Если команде, работающей с одним проектом или плагином, при каждом запуске нужен один и тот же подготовительный код, можно использовать init_unreal.py. Если редактор обнаружит файл с таким именем в настроенных путях Python, он запустит его автоматически. В руководстве указано, что файл можно разместить в папке Content/Python проекта или плагина.

Чтобы назначить один или несколько файлов, которые будут запускаться при каждом открытии проекта, перейдите в Edit > Project Settings, затем откройте настройки Plugins > Python и добавьте скрипты в поле Startup scripts. После изменения параметра перезапустите редактор: скрипты будут выполняться при следующем запуске после полной загрузки уровня, заданного по умолчанию.

Распространённые ошибки

  • Полагать, что достаточно включить плагин один раз: Python Editor Script Plugin нужно отдельно включать в каждом проекте.

  • Пытаться использовать Python во время игры: эта функция предназначена для редактора и недоступна в Play In Editor, Standalone Game и упакованном приложении.

  • Предполагать, что командлет автоматически загрузит уровень: в источнике отдельно отмечено, что командлет сам по себе не загружает уровни.

  • Запускать скрипт до готовности среды: руководство не рекомендует запускать скрипт командой py в параметре запуска ExecCmd — среда редактора или стартовый уровень могут быть ещё не готовы.

  • Игнорировать экспериментальный статус: поддержка Python обозначена как экспериментальная. Перед передачей или выпуском проекта сначала проведите контролируемое тестирование.

Влияние на рабочие процессы в архитектуре и визуализации

Для архитекторов, дизайнеров интерьеров и специалистов по archviz, создающих сцены в Unreal Engine, Python может стать основой для автоматизации повторяющихся операций редактора, управления контентом и его размещения на уровнях. Однако в источниках не приводится конкретный скрипт для архитектурной автоматизации: адаптация к рабочему процессу зависит от содержимого проекта и написанного кода. Консоль удобнее для коротких экспериментов, а запуск из файла — для повторно используемых скриптов.

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

Что делать дальше

Сначала включите плагины в тестовом проекте и сравните способы запуска через консоль и меню File. Затем перенесите разовые операции в файл; подготовительные задачи, которые нужно выполнять регулярно, оформите как стартовые скрипты проекта. Если планируете использовать Blueprint, помните, что узлы Python доступны только в классах редактора, таких как Editor Utility Widget и Editor Utility Blueprint. Согласно источнику, узел Execute Python Script выполняет фрагмент кода, но не запускает файл; для файла или кода предусмотрен вариант Execute Python Command. Вывод ошибок можно посмотреть в панели Output Log.

Источник и лицензия

Руководство подготовлено на основе материалов Epic Games о начале работы с Python в Unreal Editor и документации Python API. Исходные страницы предоставлены для этого материала под свободной лицензией; текст адаптирован и переписан на турецком языке.

Источники

Источников: 2
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/scripting-the-unreal-editor-using-python
Пересказ
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/python-api
Пересказ

Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.

Мнение 3dsınıfı
3dОценка редактора

Для небольших archviz-команд и студентов в Турции возможность автоматизировать повторяющиеся операции прямо в редакторе может быть полезна, особенно при подготовке проекта и управлении контентом. Поскольку в источниках нет утверждений о начальных затратах или требованиях к оборудованию, некорректно заранее позиционировать этот метод как более дешёвый или быстрый.

Принимая решение, офисам следует учитывать, что поддержка Python имеет экспериментальный статус и работает только в редакторе. Практичный подход — проверять скрипты автоматизации на копии проекта перед тем, как делиться ими с командой, документировать настройки плагинов и контролировать возможные нежелательные последствия в процессе выпуска.

Частые вопросы

Нужно ли отдельно устанавливать Python на компьютер, чтобы использовать его в Unreal Engine?

Согласно руководству Epic Games, Python Editor Script Plugin содержит встроенную версию Python 3.11.8. Поэтому устанавливать Python отдельно не нужно.

Можно ли использовать код Python в Unreal Engine во время игры?

Нет. В документации указано, что среда Python доступна в Unreal Editor, но не в Play In Editor, Standalone Game или упакованном приложении.

Нужно ли отдельно включать плагин Python в каждом проекте Unreal?

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

Комментарии и форум — на турецком языке.Присоединиться к обсуждению
+

Похожие новости