Шляхи до файлів у проектах 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 або іншому каталозі, який доступний лише для читання для звичайних користувачів).