Всё, из чего собираются спрайты, и ничего собранного. Источник истины —
assets/manifests и assets/*/catalog.yaml; PNG, .sfa и contact sheet остаются
за бортом, потому что воспроизводятся командой (docs/12-assets.md).
assets/manifests что и как рендерить: окружение, твари, агенты, предметы
assets/agents паперdoll-риг восьми направлений, каталог снаряжения
assets/monsters пять морфологий, каждая своим ригом (docs/14-monsters.md)
assets/sources исходные развёртки и импорты
assets/art_masters мастер-развёртки, по которым сверяется стиль
tools/ сборка ассетов, покрытие, генераторы, blender-скрипты
generated/ заголовки с константами SF_ASSET_*: без них игра не
соберётся, поэтому они в репозитории, хотя и производные
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
240 lines
7.4 KiB
YAML
240 lines
7.4 KiB
YAML
# Собрано `python tools/agent_assets.py sync`.
|
||
# Записи с backend: import перегенерируются по PNG в assets/sources/agents/sleek/.
|
||
# Записи с любым другим backend (например blender) sync СОХРАНЯЕТ как есть:
|
||
# правь их руками здесь, это единственное место, где такая правка переживает sync.
|
||
version: 1
|
||
defaults:
|
||
dirs: 8
|
||
pivot: "35,87"
|
||
|
||
agent_body_sleek_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/body_sleek_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, body, idle]
|
||
|
||
agent_body_sleek_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/body_sleek_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, body, walk]
|
||
|
||
agent_body_sleek_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/body_sleek_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, body, attack]
|
||
|
||
agent_armor_jacket_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_jacket_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, armor, idle, paperdoll_layer]
|
||
|
||
agent_armor_jacket_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_jacket_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, armor, walk, paperdoll_layer]
|
||
|
||
agent_armor_jacket_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_jacket_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, armor, attack, paperdoll_layer]
|
||
|
||
agent_armor_vest_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_vest_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, armor, idle, paperdoll_layer]
|
||
|
||
agent_armor_vest_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_vest_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, armor, walk, paperdoll_layer]
|
||
|
||
agent_armor_vest_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_vest_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, armor, attack, paperdoll_layer]
|
||
|
||
agent_armor_plate_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_plate_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, armor, idle, paperdoll_layer]
|
||
|
||
agent_armor_plate_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_plate_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, armor, walk, paperdoll_layer]
|
||
|
||
agent_armor_plate_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_plate_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, armor, attack, paperdoll_layer]
|
||
|
||
agent_armor_shroud_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_shroud_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, armor, idle, paperdoll_layer]
|
||
|
||
agent_armor_shroud_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_shroud_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, armor, walk, paperdoll_layer]
|
||
|
||
agent_armor_shroud_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/armor_shroud_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, armor, attack, paperdoll_layer]
|
||
|
||
agent_weapon_sword_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_sword_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_sword_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_sword_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_sword_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_sword_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|
||
|
||
agent_weapon_dagger_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_dagger_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_dagger_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_dagger_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_dagger_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_dagger_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|
||
|
||
agent_weapon_rifle_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_rifle_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_rifle_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_rifle_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_rifle_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_rifle_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|
||
|
||
agent_weapon_shotgun_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_shotgun_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_shotgun_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_shotgun_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_shotgun_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_shotgun_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|
||
|
||
agent_weapon_pistol_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_pistol_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_pistol_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_pistol_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_pistol_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_pistol_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|
||
|
||
agent_weapon_bow_idle:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_bow_idle.png
|
||
fps: 8
|
||
params: {frame_width: 70, frame_height: 90, frames: 32}
|
||
tags: [agent, weapon, idle, paperdoll_layer]
|
||
|
||
agent_weapon_bow_walk:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_bow_walk.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 64}
|
||
tags: [agent, weapon, walk, paperdoll_layer]
|
||
|
||
agent_weapon_bow_attack:
|
||
backend: import
|
||
source: ../sources/agents/sleek/weapon_bow_attack.png
|
||
fps: 12
|
||
params: {frame_width: 70, frame_height: 90, frames: 48}
|
||
tags: [agent, weapon, attack, paperdoll_layer]
|