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.
Checking the stable version of the documentation...
Шляхи до файлів у проектах Godot
На цій сторінці пояснюється, як працюють шляхи до файлів у проектах Godot. Ви дізнаєтеся, як отримати доступ до шляхів у ваших проектах за допомогою приміток res://
і user://
, і де Godot зберігає файли проектів і редакторів у ваших системах і системах ваших користувачів.
Роздільники шляху
Для підтримки якомога більшої кількості платформ, Godot використовує роздільники шляхів у стилі UNIX (/
). Вони працюють на всіх платформах, включаючи Windows.
Замість того, щоб писати шляхи в стилі C:\Projects\Game
, в Godot вам слід написати C:/Projects/Game
.
Роздільники шляхів у стилі Windows (зворотний слеш \
) також підтримуються в деяких методах, пов’язаних із шляхом, але їх потрібно подвоювати (\\
), оскільки одне \
зазвичай використовується для виділення символів з особливим значенням.
Це дає змогу працювати зі шляхами, які повертаються іншими програмами Windows. Ми все ж рекомендуємо використовувати лише скісні риски у вашому коді, щоб гарантувати, що все працюватиме належним чином.
Порада
The String class offers over a dozen methods to work with strings that represent file paths:
Доступ до файлів у теці проекту (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/[назва_проекту] |
Власний каталог і ім'я |
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. (Взаємодія з основною файловою системою все ще може здійснюватися через 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 complies with the XDG Base Directory Specification
on Linux/*BSD. You can override the XDG_DATA_HOME
, XDG_CONFIG_HOME
and
XDG_CACHE_HOME
environment variables to change the editor and project data
paths.
Примітка
Якщо ви використовуєте Godot, упакований як Flatpak, шляхи даних редактора будуть розташовані в вкладених папках у ~/.var/app/org.godotengine.Godot/
.
Автономний режим
Якщо ви створите файл під назвою ._sc_
, чи _sc_
в тому ж каталозі, що і бінарник редактора (або в MacOS/Contents/ для пакета .app редактора macOS), Godot увімкне автономний режим. Цей режим змушує Godot записувати всі дані, параметри та кеш в каталог під назвою editor_data/
в тому ж каталозі, що і бінарник редактора. Ви можете використовувати його для створення портативного інсталятора редактора.
Випуск Steam Godot використовує автономний режим за замовчуванням.
Примітка
Автономний режим ще не підтримується в експортованих проектах. Для читання та запису файлів відносно шляху виконання використовуйте OS.get_executable_path(). Запримітьте, що запис файлів у шляху виконання працює тільки в тому випадку, якщо виконуваний файл розміщений в придатному для запису місці (тобто не Program Files або іншому каталозі, який доступний лише для читання для звичайних користувачів).