Work in progress
The content of this page was not yet updated for Godot
4.2
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
Экспорт проектов¶
Зачем экспортировать?¶
Изначально, Godot не имел никаких способов экспорта проекта. Разработчики просто собирали исполняемые файлы и пакеты для каждой платформы вручную.
Когда все больше разработчиков (и даже непрограммистов) начали использовать его, и когда наша компания начала брать больше проектов одновременно, стало очевидно, что это узкое место.
На ПК¶
Распространить игровой проект на ПК с помощью Godot довольно просто. Поместите двоичный файл Godot в тот же каталог, что и файл project.godot
, затем заархивируйте каталог проекта, и все готово.
Звучит просто, но, вероятно, есть несколько причин, по которым разработчик может этого не делать. Во-первых, нежелательно распространять множество файлов. Некоторым разработчикам может не понравиться, когда любопытные пользователи смотрят на то, как была сделана игра, другим она может показаться неэлегантной и так далее. Другая причина заключается в том, что разработчик может предпочесть специально скомпилированный двоичный файл, который меньше по размеру, более оптимизирован и не включает такие инструменты, как редактор и отладчик.
Наконец, Godot имеет простую но эффективную систему создания DLC как дополнительных пакетов файлов.
На мобильных платформах¶
Тот же сценарий на мобильных платформах немного хуже. Для распространения проекта на этих устройствах создается двоичный файл для каждой из этих платформ, который затем добавляется в собственный проект вместе с данными игры.
Это может быть проблематично, потому что это означает, что разработчик должен быть ознакомлен с SDK каждой платформы еще до того, как сможет экспортировать. В то время как изучение каждого SDK всегда поощряется, может быть неприятно быть вынужденным делать это в нежелательное время.
There is also another problem with this approach: different devices prefer some data in different formats to run. The main example of this is texture compression. All PC hardware uses S3TC (BC) compression and that has been standardized for more than a decade, but mobile devices use different formats for texture compression, such as ETC1 and ETC2.
Configuration files¶
The export configuration is stored in two files that can both be found in the project directory:
export_presets.cfg
: This file contains the vast majority of the export configuration and can be safely committed to version control. There is nothing in here that you would normally have to keep secret..godot/export_credentials.cfg
: This file contains export options that are considered confidential, like passwords and encryption keys. It should generally not be committed to version control or shared with others unless you know exactly what you are doing.
Since the credentials file is usually kept out of version control systems, some export options will be missing if you clone the project to a new machine. The easiest way to deal with this is to copy the file manually from the old location to the new one.
Экспорт из командной строки¶
В производстве полезно автоматизировать сборки, и Godot поддерживает это с помощью параметров командной строки --export
и --export-debug
. Для экспорта из командной строки по-прежнему требуется предустановка экспорта для определения параметров экспорта. Базовый вызов команды:
godot --export "Windows Desktop" some_name.exe
This will export to some_name.exe
, assuming there is a preset
called "Windows Desktop" and the template can be found. (The export preset name
must be written within quotes if it contains spaces or special characters.)
The output path is relative to the project path or absolute;
it does not respect the directory the command was invoked from.
Расширение выходного файла должно соответствовать расширению, используемому в процессе экспорта Godot:
Windows:
.exe
macOS:
.zip
(со всех платформ) или.dmg
(только при экспорте из macOS)..app
не поддерживается напрямую, хотя сгенерированный ZIP-архив содержит пакет.app
.Linux: Любое расширение (включая отсутствие).
.x86_64
обычно используется для 64-битных двоичных файлов x86.HTML5:
.zip
Android:
.apk
iOS:
.zip
Вы также можете настроить его для экспорта только файла PCK или ZIP, что позволяет использовать один экспортированный файл основного пакета с несколькими исполняемыми файлами Godot. При этом имя шаблона настроек экспорта все равно должно быть указано в командной строке:
godot --export-pack "Windows Desktop" some_name.pck
It is often useful to combine the --export
flag with the --path
flag, so that you do not need to cd
to the project folder before running
the command:
godot --path /path/to/project --export "Windows Desktop" some_name.exe
См.также
Смотрите Руководство по командной строке для получения дополнительной информации об использовании Godot из командной строки.
PCK по сравнению с форматами файлов ZIP Pack¶
У каждого формата есть свои плюсы и минусы. PCK - это стандартный и рекомендуемый формат для большинства случаев использования, но вы можете вместо этого использовать ZIP-архив, в зависимости от ваших потребностей.
Формат PCK:
Несжатый формат. Больший размер файла, но быстрее для чтения / записи.
Не читаются и не доступны для записи с использованием инструментов, которые обычно присутствуют в операционной системе пользователя, даже несмотря на то, что существуют сторонние инструменты для извлечения и создания файлов PCK.
Формат ZIP:
Сжатый формат. Меньший размер файла, но медленнее для чтения / записи.
Доступно для чтения и записи с помощью инструментов, обычно имеющихся в операционной системе пользователя. Это может быть полезно, чтобы упростить модификацию (см. также Экспортирование пакетов, патчей и модов).
Предупреждение
Из-за `известной ошибки <https://github.com/godotengine/godot/pull/42123> `__ при использовании файла ZIP в качестве файла пакета экспортированный двоичный файл не будет пытаться использовать его автоматически. Следовательно, вы должны создать сценарий запуска, на который игрок может дважды щелкнуть или запустить из терминала для запуска проекта:
:: launch.bat (Windows)
@echo off
my_project.exe --main-pack my_project.zip
# launch.sh (Linux)
./my_project.x86_64 --main-pack my_project.zip
Сохраните сценарий запуска и поместите его в ту же папку, что и экспортированный двоичный файл. В Linux обязательно предоставьте исполняемые права для сценария запуска с помощью команды chmod +x launch.sh
.