Шляхи до файлів у проектах 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] базується на назві програми, визначеній у параметрах проекту, але ви можете змінити її на основі кожної платформи, використовуючи теги функцій.
На мобільних платформах цей шлях є унікальним для проекту і недоступний іншим додаткам з міркувань безпеки.
При експорті на HTML5, user:// буде посилатися на віртуальну файлову систему, що зберігається на пристрої через IndexedDB. (Взаємодія з основною файловою системою все ще може здійснюватися через синглтон JavaScript.)
Перетворення шляхів на абсолютні або "локальні" шляхи¶
Ви можете використовувати 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 або іншому каталозі, який доступний лише для читання для звичайних користувачів).