Доступные 3D-форматы
При работе с 3D-активами Godot имеет гибкий и настраиваемый импортёр.
Godot работает со сценами. Это означает, что вся сцена, над которой вы работаете в вашей любимой программе для 3D-моделирования, будет перенесена максимально точно.
Godot поддерживает следующие форматы файлов 3D сцен:
glTF 2.0 (рекомендуется). Godot поддерживает как текстовый (
.gltf), так и двоичный (.glb) форматы..blend(Blender). Это работает путём вызова Blender для прозрачного экспорта в glTF (требуется установленный Blender).DAE (COLLADA) — старый поддерживаемый формат.
Формат OBJ (Wavefront) + файлы материалов MTL. Он также поддерживается, но довольно ограниченно, учитывая ограничения формата (нет поддержки опорных точек, скелетов, анимации, материалов UV2, PBR и т. д.).
FBX поддерживается библиотекой ufbx. Предыдущий процесс импорта использовал интеграцию FBX2glTF. Для этого требуется установка внешней программы, которая подключается к фирменному FBX SDK, поэтому мы рекомендуем использовать метод ubfx по умолчанию или другие форматы, перечисленные выше (если они подходят для вашего процесса).
Скопируйте файл сцены вместе с текстурами и данными сетки (если они есть отдельно) в репозиторий проекта, затем Godot выполнит полный импорт при фокусировке окна редактора.
Экспорт файлов glTF 2.0 из Blender (рекомендуется)
Существует 3 способа экспортировать файлы glTF из Blender:
В виде двоичного файла glTF (
.glb).В виде текстового файла glTF с отдельными двоичными данными и текстурами (файл
.gltf+ файл.bin+ текстуры).
Файлы glTF (.glb) — это более компактный вариант. Они содержат сетку и текстуры, настроенные в Blender. При загрузке в Godot текстуры становятся частью файла материала объекта.
Есть две причины использовать glTF с отдельными текстурами. Первая — чтобы описание сцены хранилось в текстовом формате, а двоичные данные — в отдельном двоичном файле. Это может быть полезно для контроля версий, если вы хотите просматривать изменения в текстовом формате. Вторая — чтобы файлы текстур хранились отдельно от файла материала. Если ни один из них вам не нужен, подойдут двоичные файлы glTF.
Процесс импорта glTF сначала загружает данные файла glTF в память класса GLTFState. Эти данные затем используются для генерации сцены Godot. При импорте файлов во время выполнения эта сцена может быть напрямую добавлена в дерево. Процесс экспорта обратен этому: сцена Godot преобразуется в класс GLTFState, а затем из него генерируется файл glTF.
Импорт файлов glTF в редактор включает в себя ещё два шага. После создания сцены Godot класс ResourceImporterScene используется для применения дополнительных настроек импорта, включая настройки, заданные через панель Import и диалоговое окно Advanced Import Settings (Дополнительные параметры импорта). Затем эти настройки сохраняются как файл сцены Godot, который используется при запуске/экспорте игры.
Предупреждение
If your model contains blend shapes (also known as "shape keys" and "morph targets"), your glTF export setting Data > Armature > Export Deformation Bones Only needs to be configured to Enabled.
Экспорт недеформирующихся костей в любом случае приведет к некорректному затенению.
Примечание
Версии Blender ниже 3.2 не экспортируют эмиссионные текстуры с файлом glTF. Если ваша модель использует такую текстуру, а вы используете более старую версию Blender, её необходимо импортировать отдельно.
По умолчанию, в Blender отключено отсечение невидимых полигонов у материалов и Blender будет экспортировать материалы так чтобы соответствовать тому как они отрисовываются в Blender. Это значит что у материалов в Godot отсечение материалов установлено на Отключить. Это может уменьшить производительность при отрисовке невидимых граней, даже когда они были отсечены другими гранями. Что бы решить это, включите Отсечение невидимых граней во вкладке "Материалы" в Blender, после этого экспортируйте в 3d-сцену в формате glTF снова.
Импорт файлов .blend непосредственно в Godot
Примечание
Для этой функции требуется Blender 3.0 или более поздней версии. Для достижения наилучших результатов мы рекомендуем использовать Blender 3.5 или более поздней версии, так как в нём реализовано множество исправлений для экспортёра glTF.
Настоятельно рекомендуется использовать официальную версию Blender, скачанную с blender.org, а не дистрибутив Linux или Flatpak. Это позволит избежать проблем, связанных с упаковкой, таких как разные версии библиотек, которые могут привести к несовместимости или ограничениям в песочнице.
Редактор может напрямую импортировать файлы .blend, вызывая функцию экспорта Blender glTF прозрачным образом.
Это позволяет быстрее итерировать 3D-сцены, поскольку можно сохранить сцену в Blender, вернуться в Godot (Alt+Tab) и сразу увидеть изменения. При работе с системой контроля версий это также более эффективно, поскольку вам больше не нужно отправлять копию экспортированного файла glTF в систему контроля версий.
Чтобы использовать импорт .blend, необходимо установить Blender перед открытием редактора Godot (при открытии проекта, который уже содержит файлы .blend). Если Blender установлен в папке по умолчанию, Godot должен автоматически определить путь к нему. В противном случае укажите путь к исполняемому файлу Blender в настройках редактора (Filesystem > Import > Blender > Blender Path).
Если вы храните файлы .blend в папке своего проекта, но не хотите, чтобы Godot импортировал их, отключите Filesystem > Import > Blender > Enabled в расширенных настройках проекта.
Процесс импорта .blend сначала преобразуется в glTF, поэтому он по-прежнему использует код импорта Godot glTF. Таким образом, процесс импорта .blend аналогичен процессу импорта glTF, но с дополнительным шагом в начале.
Примечание
Работая в команде, помните, что использование файлов .blend в проекте потребует от всех участников команды установки Blender. Хотя Blender можно загрузить бесплатно, это может усложнить работу над проектом. Импорт .blend также недоступен в редакторах для Android и веб-редакторах, поскольку эти платформы не поддерживают вызов внешних программ.
Если это проблематично, рассмотрите возможность использования сцен glTF, экспортированных из Blender.
Экспорт файлов DAE из Blender
В Blender есть встроенная поддержка COLLADA, но она не подходит для игровых движков и не должна использоваться «как есть». Тем не менее, сцены, экспортированные со встроенной поддержкой Collada, могут работать в простых сценах без анимации.
Для сложных сцен или сцен, содержащих анимацию, настоятельно рекомендуется использовать glTF.
Импорт файлов OBJ в Godot
OBJ — один из самых простых 3D-форматов, поэтому Godot должен успешно импортировать большинство OBJ-файлов. Однако OBJ — очень ограниченный формат: он не поддерживает скиннинг, анимацию, материалы UV2 и PBR.
В Godot есть два способа использования сеток OBJ:
Загрузите их непосредственно в узел MeshInstance3D или любое другое свойство, которое ожидает сетку (например, GPUParticles3D). Это режим по умолчанию.
Измените режим импорта на OBJ as Scene в панели импорта и перезапустите редактор. Это позволит использовать те же параметры импорта, что и для сцен glTF или Collada, например, развёртку UV2 при импорте (для Использование глобального освещения LightmapGI).
Примечание
Blender 3.4 и более поздние версии могут экспортировать цвета вершин RGB в файлы OBJ (это нестандартное расширение формата OBJ). Godot может импортировать эти цвета вершин, но они не будут отображаться в материале, если вы не включите опцию Vertex Color > Use As Albedo для материала.
Цвета вершин из сеток OBJ сохраняют свое исходное цветовое пространство после импорта (sRGB/линейное), но их яркость ограничивается значением 1,0 (они не могут быть слишком яркими).
Импорт файлов FBX в Godot
По умолчанию любой FBX-файл, добавленный в проект Godot в версии 4.3 или более поздней, будет импортироваться методом ufbx. Любой файл, добавленный в проект в предыдущей версии, например, 4.2, будет импортироваться методом FBX2glTF, если только вы не перейдете в настройки импорта этих файлов и не измените метод импорта на ufbx.
Если вы храните файлы .fbx в папке своего проекта, но не хотите, чтобы Godot импортировал их, отключите Filesystem > Import > FBX > Enabled в расширенных Project Settings.
Если вы хотите настроить рабочий процесс FBX2glTF, что обычно не рекомендуется делать, если у вас нет особой причины использовать его, вам необходимо загрузить исполняемый файл FBX2glTF, а затем указать путь к этому исполняемому файлу в настройках редактора в разделе Filesystem > Import > FBX > FBX2glTFPath
Процесс импорта FBX2glTF сначала преобразуется в glTF, поэтому он по-прежнему использует код импорта Godot glTF. Таким образом, процесс импорта FBX аналогичен процессу импорта glTF, но с дополнительным шагом в начале.
См. также
Полный процесс установки для использования FBX2glTF в Godot описан на странице FBX import page of the Godot website.