138 lines
7.8 KiB
Markdown
138 lines
7.8 KiB
Markdown
# HEROLL 逆向美术资源归类报告
|
||
|
||
> 分析日期:2026-08-25
|
||
> 范围:本地 Unity 逆向归档,离线静态分析与资源导出
|
||
> 结论:已建立 24,859 条视觉相关对象目录,识别 6,431 条资产对象,并成功导出 2,964 张可直接审阅的 PNG。
|
||
|
||
## 执行摘要
|
||
|
||
目标是 Unity 2D 像素游戏资源。核心美术数据集中在 `sharedassets3.assets`、`sharedassets4.assets`、`level3`、`level4`、`level6` 等容器。视觉语言由像素角色/棋盘场景、高清像素 UI、Sprite 动画与大量粒子组件构成。
|
||
|
||
| 分类 | 资产对象 | 去重名称 | 典型内容 |
|
||
|---|---:|---:|---|
|
||
| UI | 2,333 | 1,204 | 按钮、面板、图标、HUD、商店、抽卡、奖励、教程 |
|
||
| 待人工复核 | 1,624 | 950 | 无语义命名的 Sprite/Texture2D |
|
||
| 角色 | 772 | 390 | 玩家、Boss、怪物、宠物、NPC、装备拆件 |
|
||
| 动作/动画 | 619 | 614 | 427 AnimationClip、180 Controller、12 Override Controller |
|
||
| VFX | 456 | 301 | 斩击、发光、火焰、冲击、粒子贴图与技术资源 |
|
||
| 场景 | 332 | 215 | 六类生态背景、棋盘 Tile、环境道具、地图层 |
|
||
| 技术美术 | 290 | 69 | Material、Shader、Mesh、RenderTexture |
|
||
| 字体 | 5 | 5 | 本地化字体资源 |
|
||
|
||
另记录 5,786 个 ParticleSystem、5,786 个 ParticleSystemRenderer、982 个 Animator、430 个 Tilemap 等场景组件,用于依赖与复杂度评估,不与独立资产对象混算。
|
||
|
||
## 资源位置与使用方式
|
||
|
||
- 全量目录:[`art-asset-catalog.csv`](../work/heroll-art-assets/catalog/art-asset-catalog.csv)
|
||
- 已分类 PNG:[`classified-assets`](../work/heroll-art-assets/classified-assets)
|
||
- 导出清单与哈希:[`export-manifest.csv`](../work/heroll-art-assets/catalog/export-manifest.csv)
|
||
- 同名/重复关系:[`duplicate-logical-assets.csv`](../work/heroll-art-assets/catalog/duplicate-logical-assets.csv)
|
||
- 人工复核队列:[`manual-review-queue.csv`](../work/heroll-art-assets/catalog/manual-review-queue.csv)
|
||
- 已有证据板:[`evidence-boards`](../analysis/visual-study/evidence-boards)
|
||
- 动画明细:[`animation-clips.csv`](../analysis/visual-study/animation/animation-clips.csv)
|
||
|
||
导出目录结构为:
|
||
|
||
```text
|
||
classified-assets/
|
||
UI/<subcategory>/Sprite/
|
||
Scene/<subcategory>/{Sprite,Texture2D}/
|
||
Character/<subcategory>/{Sprite,Texture2D}/
|
||
VFX/<subcategory>/{Sprite,Texture2D}/
|
||
UnclassifiedVisual/<subcategory>/{Sprite,Texture2D}/
|
||
```
|
||
|
||
```mermaid
|
||
flowchart LR
|
||
A[Unity APK/XAPK 逆向归档] --> B[204,145 条对象索引]
|
||
B --> C[视觉类型与名称规则]
|
||
C --> D[6,431 条资产对象]
|
||
C --> E[18,428 条组件证据]
|
||
D --> F[去重 Sprite/Texture2D]
|
||
F --> G[2,964 张分类 PNG]
|
||
D --> H[人工复核队列 1,624 条]
|
||
```
|
||
|
||
## 美术分类结论
|
||
|
||
### UI
|
||
|
||
UI 是最大可直接生产参考类,包含战斗 HUD、Boss/骰子图标、按钮控件、面板框体、商店/抽卡/奖励、装备与教程。命名规律以 `btn`、`icon`、`panel`、`bg`、`shop`、`gacha`、`reward`、`ingame`、`tutorial` 为主。UI 与世界层共用像素语言,但面板和控件的描边、九宫格与信息密度更高。
|
||
|
||
### 场景
|
||
|
||
场景资源呈明显分层:`chapter_select_back_*` 是远景,`chapter_select_front_*` 是前景城墙/地表。确认草原、沙漠、火山、石地、深渊、雪地六类生态。棋盘资源由 Tilemap、Tile、节点、地面与路径元素组成。
|
||
|
||
### 角色
|
||
|
||
角色以小尺寸像素精灵为主,分玩家骑士、Boss、普通敌人、宠物/支援、NPC 与装备拆件。Boss 使用大轮廓、武器和头饰强化辨识;玩家与怪物动作帧存在独立贴图与 Sprite 组合。
|
||
|
||
### 动作与特效
|
||
|
||
共 427 个 AnimationClip。现有动画规则清单中已归出 Boss 67、战斗 38、骰子 15、棋盘/Tile 10、奖励/抽卡 29、局外/大厅 4,剩余 233 个待进一步语义标注。特效侧同时存在贴图序列、材质/Mesh 和粒子组件;仅以贴图数量衡量会严重低估特效规模。
|
||
|
||
### 技术美术与字体
|
||
|
||
技术美术包含 261 个 Material、61 个 Shader、4 个 Mesh、13 个 RenderTexture。字体包含 5 个 Font 与配套材质/纹理。当前索引容器没有 AudioClip 或 VideoClip;工作区中的 MP4 为参考录像,不应混入游戏美术资产目录。
|
||
|
||
## Evidence
|
||
|
||
| ID | source_ref | content_hash | repro_command |
|
||
|---|---|---|---|
|
||
| E-001 | `work/heroll-art-assets/catalog/art-asset-catalog.csv` | `5F4EEAA9587073807BE13B4EA8A024A628DC36247386C653CE201AC21CEBE12C` | 运行 `work/heroll-art-assets/scripts/classify_art_assets.py` |
|
||
| E-002 | `work/heroll-art-assets/catalog/export-manifest.csv` | `BC4EFF100EB21744507907AD73BEF978E0240E53B5726753C431D218C72AEC0C` | 运行 `work/heroll-art-assets/scripts/export_classified_visuals.py` |
|
||
| E-003 | `analysis/visual-study/evidence-boards/*.png` | n/a | 打开角色、场景、UI、VFX 四张证据板 |
|
||
| E-004 | `analysis/visual-study/animation/summary.json` | n/a | 读取动画统计与时长区间 |
|
||
|
||
## Findings
|
||
|
||
| ID | 结论 | evidence_ids | confidence | location | status |
|
||
|---|---|---|---|---|---|
|
||
| F-001 | 目标为 Unity 2D 像素项目,美术资源以 Sprite/Texture2D、Tilemap、Animator 和 ParticleSystem 组织 | E-001,E-003 | high | Unity 资产归档 | validated |
|
||
| F-002 | UI 是最大可命名资产族;场景为六生态分层背景与棋盘 Tile 体系 | E-001,E-003 | high | sharedassets3/4 | validated |
|
||
| F-003 | 动作资源至少含 427 Clip、180 Controller、12 Override Controller | E-001,E-004 | high | sharedassets3-7 | validated |
|
||
| F-004 | 成功导出 2,964 张 PNG;5 张字体纹理因流路径解析失败 | E-002 | high | classified-assets | validated |
|
||
| F-005 | 1,624 条资产缺少足够语义命名,需要结合缩略图进行二次人工标注 | E-001,E-002 | high | manual-review-queue.csv | validated |
|
||
|
||
## Path
|
||
|
||
### P-001 美术资源还原路径
|
||
|
||
- path_type: solve
|
||
- start: APK/XAPK 解包后的 Unity 资产容器
|
||
- goal: 可审阅、可追溯、可继续人工精修的分类资源库
|
||
- steps:
|
||
1. 读取 Unity 对象清单并筛出视觉类型 — E-001 — F-001
|
||
2. 依据类型、名称与人工样例划分 UI/场景/角色/动作/VFX — E-001,E-003 — F-002,F-003
|
||
3. 以 Sprite 优先、Texture2D 去重策略导出 PNG — E-002 — F-004
|
||
4. 将低语义命名资产送入人工复核队列 — E-001,E-002 — F-005
|
||
- residual_risks: 规则分类存在少量跨类资源;ParticleSystem 的完整材质/贴图依赖尚未反向连边。
|
||
|
||
## 复现
|
||
|
||
```powershell
|
||
& 'C:\Users\toshio\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' `
|
||
'C:\Users\toshio\Documents\ChatGPT\heroll\work\heroll-art-assets\scripts\classify_art_assets.py'
|
||
|
||
& 'C:\Users\toshio\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' `
|
||
'C:\Users\toshio\Documents\ChatGPT\heroll\work\heroll-art-assets\scripts\export_classified_visuals.py'
|
||
```
|
||
|
||
## 资源管理建议
|
||
|
||
1. 以 `category/subcategory/type` 作为物理目录,以 `asset_id` 作为不可变追溯键。
|
||
2. 保留 Sprite 与 Texture2D 的逻辑重复关系,不直接删除原对象;发布库只保留 Sprite 优先导出结果。
|
||
3. 先处理 `manual-review-queue.csv` 中面积大、字节高、重复次数少的资产,收益最高。
|
||
4. 下一阶段应建立 `AnimationClip → Sprite/Renderer` 与 `ParticleSystem → Material → Texture` 依赖图,才能形成可迁移的完整资源包。
|
||
|
||
## 限制
|
||
|
||
- 本轮是离线静态分析,未运行游戏验证每个资源的实际屏幕归属。
|
||
- 规则分类是生产级初筛,不替代美术负责人最终确认。
|
||
- `tool-index.md` 在技能包中缺失;本轮使用了已验证的本机 Python、UnityPy 与 Pillow 路径。
|
||
- 5 张 `Font Texture` 未导出,错误已完整记录在 `export-manifest.csv`。
|
||
|
||
## Timeline
|
||
|
||
完整记录见 [`timeline.md`](../work/heroll-art-assets/timeline.md)。
|