Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Експортування проєктів

Чому експорт?

Спочатку у Godot не було засобів для експорту проєктів. Розробники компілювали відповідні бінарні файли та збирали пакети для кожної платформи вручну.

Коли його почали використовувати більше розробників (і навіть не програмістів), і наша компанія стала привабливішою для більшої кількості проєктів, стало очевидним, що це вузьке місце.

На ПК

Поширити ігровий проєкт на ПК з Godot досить просто. Перетягніть бінарний файл Godot в ту саму директорію, що і файл project.godot, а потім стисніть каталог проєкту і готово.

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

Нарешті, Godot має просту, але ефективну систему для creating DLCs as extra package files.

На мобільний

Той самий скрипт для мобільних платформ трохи не підходить. Для розповсюдження проєкту на цих пристроях компілюється бінарник для кожної з цих платформ, а потім додається до проєкту разом із даними гри.

Тут є трохи замороки, оскільки це означає, що розробник повинен ознайомитися з SDK кожної платформи, перш ніж мати можливість експортувати. Хоча вивчення кожного SDK завжди заохочується, може бути неприємно коли приходиться робити це в небажаний час.

Існує ще одна проблема з цим підходом: різні пристрої віддають перевагу деяким даним у різних форматах. Основним прикладом цього є стиснення текстури. Усе апаратне забезпечення ПК використовує стиснення S3TC (BC), яке стандартизовано вже більше десяти років, але мобільні пристрої використовують різні формати стиснення текстур, наприклад ETC1 та ETC2.

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

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

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

../../_images/export.webp

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

../../_images/export_dialog.webp

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

../../_images/export_preset.webp

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

../../_images/export_error.webp

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

Кнопки внизу меню дозволяють експортувати проект кількома різними способами:

  • Експортувати все: експортуйте проект як збірку для гри (виконуваний файл Godot і дані проекту) для всіх визначених попередніх налаштувань. Для всіх попередніх налаштувань має бути визначено Шлях експорту.

  • Експортувати проект: експортуйте проект як придатну для гри збірку (виконуваний файл Godot і дані проекту) для вибраного стилю.

  • Експорт PCK/ZIP: експортуйте ресурси проекту як пакет PCK або ZIP. Це не ігрова збірка, вона лише експортує дані проекту без виконуваного файлу Godot.

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

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

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

../../_images/export_templates.webp

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

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

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

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

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

  • Експортувати всі ресурси проєкту, окрім ресурсів, позначених нижче

  • Експортувати як виділений сервер

../../_images/export_resources.webp

Експорт усіх ресурсів у проєкті експортує кожен ресурс у проєкті. Експортувати вибрані сцени та Експортувати вибрані ресурси надає вам список сцен або ресурсів у проєкті, і вам потрібно вибрати кожну сцену або ресурс, який ви хочете експортувати.

../../_images/export_selected.webp

Експортувати всі ресурси проєкту, крім ресурсів, позначених нижче виконує саме те, що й сказано: буде експортовано все, крім того, що ви вибрали зі списку.

Експорт як виділений сервер видалить усі візуальні елементи з проєкту та замінить їх заповнювачем. Це включає Cubemap, CubemapArray, Material, Mesh, Texture2D, Texture2DArray, Texture3D. Ви також можете перейти до списку файлів і вказати конкретні візуальні ресурси, які ви хочете зберегти.

Примітка

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

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

Конфігураційні файли

Конфігурація експорту зберігається у двох файлах, які можна знайти в каталозі проекту:

  • export_presets.cfg: цей файл містить переважну більшість конфігурації експорту, і його можна безпечно закріпити для контролю версій. Тут немає нічого, що зазвичай потрібно було б зберігати в секреті.

  • .godot/export_credentials.cfg: цей файл містить параметри експорту, які вважаються конфіденційними, наприклад паролі та ключі шифрування. Як правило, його не слід використовувати для контролю версій або ділитися з іншими, якщо ви точно не знаєте, що робите.

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

Експорт із командного рядка

У виробництві корисно автоматизувати збірки, і Godot підтримує це за допомогою параметрів командного рядка --export-release і --export-debug. Для експорту з командного рядка все ще потрібне налаштування експорту для визначення параметрів експорту. Основним викликом команди буде:

godot --export-release "Windows Desktop" some_name.exe

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

Розширення вихідного файлу має відповідати розширенню, яке використовується процесом експорту Godot:

  • Windows: .exe

  • macOS: .app або .zip (або .dmg під час експорту з macOS)

  • Linux: Будь-яке розширення (у тому числі без розширення). .x86_64 зазвичай використовується для 64-розрядних x86 двійкових файлів.

  • HTML5: .zip

  • Android: .apk

  • iOS: .zip

Ви також можете налаштувати його для експорту лише файлу PCK, або ZIP, що дозволяє використовувати один експорт із кількома виконуваними програмами Godot. При цьому ім'я стилю експорту все одно має бути вказано в командному рядку:

godot --export-pack "Windows Desktop" some_name.pck

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

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

Дивись також

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

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

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

Формат PCK:

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

  • Не можна читати та записувати за допомогою інструментів, які зазвичай присутні в операційній системі користувача, навіть якщо існують «інструменти сторонніх розробників» для вилучення та створення файлів PCK.

Формат ZIP:

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

  • доступний для читання та запису за допомогою інструментів, які зазвичай присутні в операційній системі користувача. Це може бути корисно для полегшення моддингу (дивіться також Експорт пакетів, патчів та модів).

Попередження

Через відому помилку, під час використання 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.