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.

Меню експорту

Після багатьох спроб у різних експортних робочих процесах поточний проявився найкращим чином. На момент написання цього документа ще не всі платформи підтримуються, але підтримуваних платформ стає все більше.

Щоб відкрити меню експорту, натисніть кнопку Експорт:

../../_images/export.png

Відкриється меню експорту. Однак воно буде абсолютно порожнім. Це тому, що нам потрібно додати попередньо встановлений експорт.

../../_images/export_dialog.png

Щоб створити попередньо встановлений експорт, натисніть кнопку Додати… у верхній частині меню експорту. Це відкриє спадний список платформ для вибору встановлення експорту.

../../_images/export_preset.png

Варіантів за замовчуванням часто достатньо для експорту, тому налаштування їх зазвичай не потрібне. Однак для багатьох платформ потрібні додаткові інструменти (SDK) для встановлення експорту. Крім того, Godot потребує експортних шаблонів, встановлених для створення пакетів. Меню експорту скаржиться, коли чогось немає, і не дозволить користувачу експортувати на цю платформу, поки проблему не буде вирішено:

../../_images/export_error.png

Користувачу варто в таких випадках звернутися до документації та дотримуватися інструкцій щодо правильної настройки цієї платформи.

Шаблони експорту

Крім створення платформи, для експорту проєктів повинні бути встановлені шаблони експорту. Їх можна отримати у вигляді файлу TPZ (який є перейменованим архівом ZIP) на сторінці завантаження.

Після завантаження їх можна встановити за допомогою параметра Встановити шаблони експорту у редакторі:

../../_images/exptemp.png

Параметри ресурсу

При експортуванні, Godot складає список усіх файлів, які потрібно експортувати, а потім створює пакет. Існує 3 режими експортування:

  • Експортувати усі ресурси у проєкті

  • Експортувати позначені ресурси (і залежності)

  • Експортувати позначені ресурси (і залежності)

../../_images/expres.png

Export all resources in the project (Експорт всіх ресурсів у проєкті) експортуватиме кожен ресурс у проєкті. Export selected scenes (Експорт вибраних сцен) і Export selected resources (Експорт вибраних ресурсів) надає вам список сцен або ресурсів у проєкті, і ви повинні вибрати кожну сцену або ресурс, який потрібно експортувати.

../../_images/expselected.png

Примітка

Файли та папки, ім'я яких починається з крапки, ніколи не будуть включені до експортованого проекту. Це робиться для запобігання включенню папок керування версіями, таких як .git, до експортованого файлу PCK.

Below the list of resources are two filters that can be setup. The first allows non resource files such as .txt, .json and .csv to be exported with the project. The second filter can be used to exclude every file of a certain type without manually deselecting every one. For example, .png files.

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

Це буде експортовано до some_name.exe, якщо припустити, що є попереднє встановлення під назвою "Windows Desktop", і цей шаблон можна знайти. (Ім'я експортованого попереднього встановлення має бути записане в лапках, якщо воно містить пробіли, або спеціальні символи.) Шлях виходу є відносним шляху проекту, або абсолютним; він не зважає на каталог, з якого викликалася команда.

Розширення вихідного файлу має відповідати розширенню, яке використовується процесом експорту 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

Часто корисно поєднувати мітку --export із міткою --path, щоб уникнути пошуку теки проекта з командного рядка з допомогою cd:

godot --path /path/to/project --export "Windows Desktop" some_name.exe

Дивись також

Перегляньте Використання командного рядка, щоб отримати більше інформації про використання Godot з командного рядка.

Формати файлів PCK та ZIP

Кожен формат має свої плюси і мінуси. PCK є типовим та рекомендованим форматом для більшості випадків використання, але ви можете замість нього скористатися архівом ZIP, залежно від ваших потреб.

Формат PCK:

  • Нестиснутий формат. Більший розмір файлу, але швидше читання/запис.

  • Неможливо прочитати та записати за допомогою інструментів, які зазвичай присутні в операційній системі користувача, хоча існують `сторонні інструменти<https://github.com/hhyyrylainen/GodotPckTool>`__ для вилучення та створення файлів 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.