7.8 KiB
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 - 已分类 PNG:
classified-assets - 导出清单与哈希:
export-manifest.csv - 同名/重复关系:
duplicate-logical-assets.csv - 人工复核队列:
manual-review-queue.csv - 已有证据板:
evidence-boards - 动画明细:
animation-clips.csv
导出目录结构为:
classified-assets/
UI/<subcategory>/Sprite/
Scene/<subcategory>/{Sprite,Texture2D}/
Character/<subcategory>/{Sprite,Texture2D}/
VFX/<subcategory>/{Sprite,Texture2D}/
UnclassifiedVisual/<subcategory>/{Sprite,Texture2D}/
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:
- 读取 Unity 对象清单并筛出视觉类型 — E-001 — F-001
- 依据类型、名称与人工样例划分 UI/场景/角色/动作/VFX — E-001,E-003 — F-002,F-003
- 以 Sprite 优先、Texture2D 去重策略导出 PNG — E-002 — F-004
- 将低语义命名资产送入人工复核队列 — E-001,E-002 — F-005
- residual_risks: 规则分类存在少量跨类资源;ParticleSystem 的完整材质/贴图依赖尚未反向连边。
复现
& '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'
资源管理建议
- 以
category/subcategory/type作为物理目录,以asset_id作为不可变追溯键。 - 保留 Sprite 与 Texture2D 的逻辑重复关系,不直接删除原对象;发布库只保留 Sprite 优先导出结果。
- 先处理
manual-review-queue.csv中面积大、字节高、重复次数少的资产,收益最高。 - 下一阶段应建立
AnimationClip → Sprite/Renderer与ParticleSystem → Material → Texture依赖图,才能形成可迁移的完整资源包。
限制
- 本轮是离线静态分析,未运行游戏验证每个资源的实际屏幕归属。
- 规则分类是生产级初筛,不替代美术负责人最终确认。
tool-index.md在技能包中缺失;本轮使用了已验证的本机 Python、UnityPy 与 Pillow 路径。- 5 张
Font Texture未导出,错误已完整记录在export-manifest.csv。
Timeline
完整记录见 timeline.md。