Files
2026-06-07 22:10:03 +08:00

174 lines
8.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第一章美术 / 音频资源清单(Chapter 1 Asset Manifest
> 本清单对应 [task-item.md](../../../.codebuddy/plan/kage_legend_mvp/task-item.md) 中的 **10.1 集成像素美术与音频资源**。
> 真正的 PNG / WAV / MP3 二进制文件需由美术、音效组按下表规格制作并放入对应目录。
> **当前状态**
> - **PNG 资源**:已用 Python 程序化绘制(`scripts/gen_pixel_art_assets.py`),按 `ASSETS.md` 规格生成像素美术占位,**可直接进游戏看到角色/敌人/场景/剧情插画**,但仅为过渡素材,正式版仍需美术替换。
> - **WAV / MP3 资源**:仍用 `scripts/gen_placeholder_assets.js` 生成的静音占位,便于工程联调。
>
> 两个脚本都是幂等的,可随时重跑。程序化 PNG 脚本会**覆盖**占位脚本的 1×1 纯色 PNG。
---
## 1. 主角 · 3 形态(参考 `images/影.png`
| 资源路径 | 形态 | 尺寸 | 帧数 | 备注 |
|---|---|---|---|---|
| `textures/characters/kage_red.png` | 红衣(基础) | 16×32 | idle 2 / run 4 / jump 2 / attack 3 | 初始形态,一击即死 |
| `textures/characters/kage_green.png` | 绿衣(+1 水晶玉) | 16×32 | idle 2 / run 4 / jump 2 / attack 3 | 配色采用青叶主题 |
| `textures/characters/kage_yellow.png` | 黄衣(+2 水晶玉) | 16×32 | idle 2 / run 4 / jump 2 / attack 3 | 移速提升 |
每张 PNG 单独调色板 ≤ 16 色,三形态共用轮廓(便于换色表)。
## 2. 敌人 · 4 种 + 1 BOSS(参考 `images/敌人.png`
| 资源路径 | 敌人 | 尺寸 | 帧数 | 备注 |
|---|---|---|---|---|
| `textures/enemies/qing_ren.png` | 青忍 | 16×16 | idle 1 / run 2 / throw 2 / swing 2 | 双色主题 |
| `textures/enemies/chi_ren.png` | 赤忍 | 16×16 | idle 1 / run 2 / throw 2 / jump 2 | 红色忍装 |
| `textures/enemies/hei_ren.png` | 黑忍 | 20×24 | idle 2 / run 2 / swing 2 | 掉落魔笛 |
| `textures/enemies/yao_fang.png` | 妖坊 | 18×20 | idle 1 / cast 3 | 不动,远程火球 |
| `textures/bosses/shuang_huan_fang.png` | 双幻坊 | 32×32(单体)/ 96×32(双身) | idle 2 / clone 4 / fireball 3 | 蝴蝶伴生对象单独贴图 |
| `textures/bosses/butterfly.png` | BOSS 蝴蝶 | 16×16 | fly 4 | 命中后变色 2 帧 |
## 3. 场景 · 森林 / 城墙 / 魔城(参考 `images/场景.png`
每个主题 4 层视差,速度比 1:2:4:4,独立调色板 ≤ 48 色(含角色共用 16 色)。
| 主题 | 层 | 资源路径 |
|---|---|---|
| **森林** | 远景 / 中景 / 近景 / 特效 | `textures/scenes/forest/{far,mid,near,fx}.png` |
| **城墙** | 远景 / 中景 / 近景 / 特效 | `textures/scenes/castle_wall/{far,mid,near,fx}.png` |
| **魔城** | 远景 / 中景 / 近景 / 特效 | `textures/scenes/demon_castle/{far,mid,near,fx}.png` |
MVP 仅启用青叶配色;红叶 / 雪原调色板预留接口但不纳入 MVP。
## 4. 剧情背景插画(req 19.2
| 资源路径 | 内容 | 尺寸 |
|---|---|---|
| `textures/story/ch1_page1_ninja.png` | 主角忍者身份 | 480×270 |
| `textures/story/ch1_page2_princess.png` | 公主被青忍掳走 | 480×270 |
| `textures/story/ch1_page3_depart.png` | 主角启程 | 480×270 |
## 5. 音效 WAV(每段 ≤ 0.5 秒)
| 资源路径 | 触发 | 需求 |
|---|---|---|
| `audio/sfx/attack.wav` | 任意攻击 | req 16.1 |
| `audio/sfx/jump.wav` | 跳跃 | req 16.1 |
| `audio/sfx/hurt.wav` | 受伤 / 死亡 | req 16.1 |
| `audio/sfx/pickup.wav` | 拾取道具 | req 16.1 |
| `audio/sfx/parry.wav` | 成功格挡 | req 16.1 |
## 6. 背景音乐 MP3
| 资源路径 | 用途 | 需求 |
|---|---|---|
| `audio/bgm/bgm_forest.mp3` | 森林 / 洞穴 | req 16.2 |
| `audio/bgm/bgm_castle.mp3` | 城墙 / 密道 | req 16.2 |
| `audio/bgm/bgm_final.mp3` | 魔城/天守阁 | req 16.2 |
| `audio/bgm/bgm_boss.mp3` | BOSS 战 | req 16.3 |
| `audio/bgm/bgm_story.mp3` | 背景介绍过场 | req 19.7 |
## 7. 粒子 / 特效
| 特效 | 实现 |
|---|---|
| 落叶(青叶配色) | Cocos Creator ParticleSystem2D`textures/fx/leaf_particle.png` |
| 飘雪(预留) | 同上 — MVP 不启用 |
| 跳跃尘 | Cocos Animation 序列帧,`textures/fx/jump_dust.png` |
| 格挡火花 | 同上,`textures/fx/parry_spark.png` |
---
## 体积预算对照(req 16.5, 18.7
| 项目 | 预算 | 当前占用 | 备注 |
|---|---|---|---|
| **首包** | ≤ 4 MB | TBD | 主角 + 敌人 + UI + 代码 |
| **音频总包** | ≤ 500 KB | TBD | 5 WAV + 5 MP3 |
| **内存峰值** | ≤ 200 MB | TBD | 见 10.2 埋点 |
> 填写"当前占用"由 CI 通过 `perf_report.json` 自动写入(见 10.2 PerfMonitor)。
---
## 8. 资源交付跟踪表(Delivery Tracker
> 状态图例:⬜ 待制作 🟨 静音/空包占位(WAV/MP3) 🟦 程序化像素美术占位(PNG) 🟩 已交付正式版
> 🟨 由 `scripts/gen_placeholder_assets.js` 生成;🟦 由 `scripts/gen_pixel_art_assets.py` 生成。两个脚本都幂等可重跑。
### 8.1 主角 · 3 形态
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `textures/characters/kage_red.png` | 🟦 | TBD-美术 | TBD | 16×32 · 11 帧(程序化) |
| `textures/characters/kage_green.png` | 🟦 | TBD-美术 | TBD | 16×32 · 11 帧(程序化) |
| `textures/characters/kage_yellow.png` | 🟦 | TBD-美术 | TBD | 16×32 · 11 帧(程序化) |
### 8.2 敌人 + BOSS
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `textures/enemies/qing_ren.png` | 🟦 | TBD-美术 | TBD | 16×16 · 7 帧(程序化) |
| `textures/enemies/chi_ren.png` | 🟦 | TBD-美术 | TBD | 16×16 · 7 帧(程序化) |
| `textures/enemies/hei_ren.png` | 🟦 | TBD-美术 | TBD | 20×24 · 6 帧(程序化) |
| `textures/enemies/yao_fang.png` | 🟦 | TBD-美术 | TBD | 18×20 · 4 帧(程序化) |
| `textures/bosses/shuang_huan_fang.png` | 🟦 | TBD-美术 | TBD | 32×32 × 9 帧(程序化) |
| `textures/bosses/butterfly.png` | 🟦 | TBD-美术 | TBD | 16×16 · 4 帧(程序化) |
### 8.3 场景视差(3 主题 × 4 层 = 12 张)
| 主题 | far | mid | near | fx | 负责人 | 计划交付 |
|---|---|---|---|---|---|---|
| 森林 `textures/scenes/forest/*` | 🟦 | 🟦 | 🟦 | 🟦 | TBD-美术 | TBD |
| 城墙 `textures/scenes/castle_wall/*` | 🟦 | 🟦 | 🟦 | 🟦 | TBD-美术 | TBD |
| 魔城 `textures/scenes/demon_castle/*` | 🟦 | 🟦 | 🟦 | 🟦 | TBD-美术 | TBD |
### 8.4 剧情背景插画(req 19.2
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `textures/story/ch1_page1_ninja.png` | 🟦 | TBD-美术 | TBD | 480×270(程序化) |
| `textures/story/ch1_page2_princess.png` | 🟦 | TBD-美术 | TBD | 480×270(程序化) |
| `textures/story/ch1_page3_depart.png` | 🟦 | TBD-美术 | TBD | 480×270(程序化) |
### 8.5 粒子特效贴图
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `textures/fx/leaf_particle.png` | 🟦 | TBD-美术 | TBD | 透明底落叶(程序化) |
| `textures/fx/jump_dust.png` | 🟦 | TBD-美术 | TBD | 透明底尘土(程序化) |
| `textures/fx/parry_spark.png` | 🟦 | TBD-美术 | TBD | 透明底火花(程序化) |
### 8.6 音效 WAV(每段 ≤ 0.5 sreq 16.1
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `audio/sfx/attack.wav` | 🟨 | TBD-音效 | TBD | 攻击 |
| `audio/sfx/jump.wav` | 🟨 | TBD-音效 | TBD | 跳跃 |
| `audio/sfx/hurt.wav` | 🟨 | TBD-音效 | TBD | 受伤/死亡 |
| `audio/sfx/pickup.wav` | 🟨 | TBD-音效 | TBD | 拾取 |
| `audio/sfx/parry.wav` | 🟨 | TBD-音效 | TBD | 格挡 |
### 8.7 背景音乐 MP3req 16.2 / 16.3 / 19.7
| 资源 | 状态 | 负责人 | 计划交付 | 备注 |
|---|---|---|---|---|
| `audio/bgm/bgm_forest.mp3` | 🟨 | TBD-音效 | TBD | 森林 / 洞穴 |
| `audio/bgm/bgm_castle.mp3` | 🟨 | TBD-音效 | TBD | 城墙 / 密道 |
| `audio/bgm/bgm_final.mp3` | 🟨 | TBD-音效 | TBD | 魔城 / 天守阁 |
| `audio/bgm/bgm_boss.mp3` | 🟨 | TBD-音效 | TBD | BOSS 战 |
| `audio/bgm/bgm_story.mp3` | 🟨 | TBD-音效 | TBD | 背景介绍过场 |
### 8.8 交付流程
1. 美术 / 音效收到任务后把正式素材放到上表对应路径,**覆盖同名占位文件**。
2. 在本 md 中把对应行的 🟨 改为 🟩,填写负责人与交付日期。
3. 提交 PRCI 会对比文件大小与 `ASSETS.md` 预算表 (§ "体积预算对照")。
4. 所有条目变 🟩 且体积预算达标后,可以撤掉占位脚本的调用。
> **重要**:禁止手动修改 `scripts/gen_placeholder_assets.js` 的输出策略,除非变更点已同步到本 md 的 "当前状态" 段。任何新增资源条目必须**同时**:在上述 § 1~§ 7 规格表中加一行、在 § 8 跟踪表加一行、在脚本 `SPEC` 数组加一条。