Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Шляхи до файлів у проектах Godot

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

Роздільники шляху

Для підтримки якомога більшої кількості платформ, Godot використовує роздільники шляхів у стилі UNIX (/). Вони працюють на всіх платформах, включаючи Windows.

Замість того, щоб писати шляхи в стилі C:\Projects\Game, в Godot вам слід написати C:/Projects/Game.

Роздільники шляхів у стилі Windows (зворотний слеш \) також підтримуються в деяких методах, пов’язаних із шляхом, але їх потрібно подвоювати (\\), оскільки одне \ зазвичай використовується для виділення символів з особливим значенням.

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

Доступ до файлів у теці проекту (res://)

Godot вважає, що проект існує в будь-якій теці, яка містить текстовий файл project.godot, навіть якщо файл пустий. Тека, яка містить цей файл, є кореневою текою проекту.

Ви можете отримати доступ до будь-якого файлу відносно кореневої теки, написавши шлях, що починаються з приставки res://, яка означає ресурси. Наприклад, ви можете отримати доступ до файлу зображення character.png, розташованого в кореневій папці проекту з коду за таким шляхом: res://some_texture.png.

Доступ до постійних даних користувача (user://)

Щоб зберігати постійні файли даних, наприклад збереження, або параметри, гри, потрібно використовувати user:// замість res://. Це пов'язано з тим, що під час запуску гри файлова система проекту, швидше за все, буде доступна лише для читання.

Приставка user:// вказує на інший каталог на пристрої користувача. На відміну від res://, каталог, на який вказує user://, створюється автоматично, і гарантовано доступний для запису навіть в експортованих проектах.

Розташування теки user:// залежить від того, що встановлено у Параметрах проекту:

  • За замовчуванням, тека user:// створюється у шляху до даних редактора Godot у теці app_userdata/[project_name]. Це налаштування за замовчуванням, щоб прототипи та тестові проекти залишалися автономними у теці даних Godot.

  • Якщо у Параметрах проекту увімкнено application/config/use_custom_user_dir, то буде створено теку user:// поруч зі шляхом до даних редактора Godot , тобто у стандартному розташуванні для даних програми.

    • За замовчуванням назву теки буде виведено з назви проекту, але її можна додатково налаштувати за допомогою application/config/custom_user_dir_name. Цей шлях може містити роздільники шляхів, тому ви можете використовувати його, наприклад, для групування проектів певної студії за структурою Studio Name/Game Name.

На настільних платформах фактичні шляхи каталогів для user:// є:

Тип

Розташування

Типовий

Windows: %APPDATA%\Godot\app_userdata\[project_name]
macOS: ~/Library/Application Support/Godot/app_userdata/[project_name]
Linux: ~/.local/share/godot/app_userdata/[project_name]

Власний каталог

Windows: %APPDATA%\[project_name]
macOS: ~/Library/Application Support/[project_name]
Linux: ~/.local/share/[project_name]

Власний каталог і ім'я

Windows: %APPDATA%\[custom_user_dir_name]
macOS: ~/Library/Application Support/[custom_user_dir_name]
Linux: ~/.local/share/[custom_user_dir_name]

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

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

On HTML5 exports, user:// will refer to a virtual filesystem stored on the device via IndexedDB. (Interaction with the main filesystem can still be performed through the JavaScriptBridge singleton.)

Перетворення шляхів на абсолютні або "локальні" шляхи

Ви можете використовувати ProjectSettings.globalize_path() для перетворення "локального" шляху на кшталт res://path/to/file.txt в абсолютний шлях ОС. Наприклад, ProjectSettings.globalize_path() можна використовувати для відкриття "локальних" шляхів у файловому менеджері ОС за допомогою OS.shell_open(), оскільки він приймає тільки власні шляхи ОС.

Щоб перетворити абсолютний шлях ОС на "локальний", що починається з res:// чи user://, використовуйте ProjectSettings.localize_path(). Це працює лише для абсолютних шляхів, які вказують на файли або теки в корені вашого проекту або теках user://.

Шляхи до даних редактора

Редактор використовує різні шляхи для даних редактора, параметрів редактора та кешу, залежно від платформи. За замовчуванням ці шляхи такі:

Тип

Розташування

Дані редактора

Windows: %APPDATA%\Godot\
macOS: ~/Library/Application Support/Godot/
Linux: ~/.local/share/godot/

Параметри редактора

Windows: %APPDATA%\Godot\
macOS: ~/Library/Application Support/Godot/
Linux: ~/.config/godot/

Кеш

Windows: %TEMP%\Godot\
macOS: ~/Library/Caches/Godot/
Linux: ~/.cache/godot/
  • Дані редактора містять шаблони експорту та дані для конкретних проектів.

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

  • Кеш містить дані, згенеровані редактором або тимчасово збережені. Його можна безпечно очистити, коли Godot закритий.

Godot відповідає `специфікації базового каталогу XDG<https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`__ на всіх платформах. Ви можете перевизначити змінні середовища після специфікації, щоб змінити шляхи даних редактора і проекту.

Примітка

Якщо ви використовуєте `Godot, упакований як Flatpak<https://flathub.org/apps/details/org.godotengine.Godot>`__, шляхи даних редактора будуть розташовані в вкладених папках у ~/.var/app/org.godotengine.Godot/.

Автономний режим

Якщо ви створите файл під назвою ._sc_, чи _sc_ в тому ж каталозі, що і бінарник редактора (або в MacOS/Contents/ для пакета .app редактора macOS), Godot увімкне автономний режим. Цей режим змушує Godot записувати всі дані, параметри та кеш в каталог під назвою editor_data/ в тому ж каталозі, що і бінарник редактора. Ви можете використовувати його для створення портативного інсталятора редактора.

Випуск Steam Godot використовує автономний режим за замовчуванням.

Примітка

Автономний режим ще не підтримується в експортованих проектах. Для читання та запису файлів відносно шляху виконання використовуйте OS.get_executable_path(). Запримітьте, що запис файлів у шляху виконання працює тільки в тому випадку, якщо виконуваний файл розміщений в придатному для запису місці (тобто не Program Files або іншому каталозі, який доступний лише для читання для звичайних користувачів).