Доступные 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 выполнит полный импорт при фокусировке окна редактора.

Импорт файлов .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, но с дополнительным шагом в начале.

Диаграмма, поясняющая процесс импорта файлов Blender в Godot

Примечание

Работая в команде, помните, что использование файлов .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, но с дополнительным шагом в начале.

Диаграмма, поясняющая процесс импорта файлов FBX в Godot через FBX2glTF

См. также

Полный процесс установки для использования FBX2glTF в Godot описан на странице FBX import page of the Godot website.