diff --git a/Предзагрузка-ассетов.md b/Предзагрузка-ассетов.md new file mode 100644 index 0000000..43175a2 --- /dev/null +++ b/Предзагрузка-ассетов.md @@ -0,0 +1,53 @@ +# Файл `preload.json` + +Для загрузки ассетов, не загружаемых автоматически, такие как звуки, дополнительные текстуры, используется файл `preload.json`, создающийся в папке контент-пака. + +Ассеты в файле разделяются на категории: +- fonts - шрифты +- shaders - шейдеры +- textures - текстуры +- sounds - звуки + +> [!NOTE] +> При загрузке звука подгружаются все его вариации, по шаблону: +> звук: sound_name -> `sound_name.ogg, sound_name_1.ogg, sound_name_2.ogg, ...` +> или `sound_name_0.ogg, sound_name_1.ogg, sound_name_2.ogg, ...` + +Добавление звука `пак:sounds/events/explosion.ogg` со всеми его вариантами: +```json +{ + "sounds": [ + "events/explosion" + ] +} +``` + +В случае, если нужно будет работать с PCM данными звука (сейчас не доступно из скриптинга), требуется указать параметр `keep-pcm`: +```json +{ + "sounds": [ + { + "name": "events/explosion", + "keep-pcm": true + } + ] +} +``` + + +Пример файла из пакета `core:` (`res/preload.json`): +```json +{ + "shaders": [ + "ui3d", + "screen", + "background", + "skybox_gen" + ], + "textures": [ + "misc/moon", + "misc/sun", + "gui/crosshair" + ] +} +``` \ No newline at end of file