# 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//Sprite/ Scene//{Sprite,Texture2D}/ Character//{Sprite,Texture2D}/ VFX//{Sprite,Texture2D}/ UnclassifiedVisual//{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)。