56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# Предзагрузка ассетов (файл *preload.json*)
|
||
|
||
Для загрузки ассетов, не загружаемых автоматически, такие как звуки, дополнительные текстуры, используется файл `preload.json`, создающийся в папке контент-пака.
|
||
|
||
Ассеты в файле разделяются на категории:
|
||
- fonts - шрифты
|
||
- shaders - шейдеры
|
||
- textures - текстуры
|
||
- sounds - звуки
|
||
- models - модели
|
||
|
||
> [!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"
|
||
]
|
||
}
|
||
```
|
||
Будет доступен под именем: "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"
|
||
]
|
||
}
|
||
```
|