Add TownSquare scene assets, resource production docs, and model pipeline updates.

Bring in plaza props/prefabs, ZhaoYun source GLB, design originals, and Hunyuan/Blender tooling used to produce them.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-09-28 14:28:46 +08:00
co-authored by Cursor
parent 5f8cb890c8
commit 9793d8581d
273 changed files with 10388 additions and 34 deletions
+401
View File
@@ -0,0 +1,401 @@
# 游戏资源生产流程
> 文档状态:**框架已完成,逐条细化与验证中**<br>
> 适用项目:AIGame(Unity、竖屏、YooAsset)<br>
> 关联规范:[`ResourceCreate.md`](ResourceCreate.md)、[`UNITY-GUIDE.md`](UNITY-GUIDE.md)、[`Doc/ResDesc.md`](Doc/ResDesc.md)
## 1. 文档目标与使用方式
本文规定游戏资源从需求、设计图、生成、处理、Unity 导入、验收,到资源登记和发布的统一流程。本文先固定流程骨架;带有“待确认”“待验证”的项目,在实际生产前逐条补齐,并在验收记录中留下结论。
每个资源都必须经过以下状态:
```text
需求单
→ 设计图 / 参考图
→ AI 或 DCC 生成
→ 格式、尺寸、面数、贴图处理
→ Unity 导入与组装
→ 功能、视觉、性能验收
→ Doc/ResDesc_*.md 登记
→ YooAsset 打包 / 发布
```
### 1.1 角色分工(框架)
| 角色 | 主要责任 | 必须产出 |
| --- | --- | --- |
| 需求 / 设计 | 用途、风格、规格、引用图、验收标准 | 资源需求单、参考图 |
| 资源制作 | 设计图、模型、贴图、动画、音频或特效源文件 | 可编辑源文件与中间产物 |
| Unity 集成 | 导入设置、Prefab、场景组装、粒子参数、播放配置 | Unity 资产 |
| 验收 | 检查视觉、规格、运行效果、性能和命名 | 验收记录、问题清单 |
| 资源维护 | 登记路径、生成方式、版本和依赖 | `Doc/ResDesc_*.md` 条目 |
### 1.2 统一门禁
| 门禁 | 检查内容 | 未通过时 |
| --- | --- | --- |
| G0 需求 | 用途、类型、中文名、英文名、目标路径明确 | 退回补需求 |
| G1 设计 | 风格、构图、尺寸、背景、参考图符合要求 | 退回重绘 |
| G2 生成 | 使用项目规定的生成工具或 DCC 流程,有源文件 | 补齐工具和源文件 |
| G3 处理 | 格式、面数、贴图、命名、目录符合本表 | 重新处理 |
| G4 Unity | 导入设置正确,Prefab / 场景 / Animator / Particle 可用 | 在 Unity 中修复并复验 |
| G5 验收 | 运行效果、性能和目标平台通过 | 记录问题并回到对应步骤 |
| G6 登记 | `Doc/ResDesc_*.md` 已记录用途、路径、生成方式 | 不得进入正式 Bundle |
## 2. 目录、命名与版本约定
### 2.1 目录约定
| 内容 | 路径 | 状态 |
| --- | --- | --- |
| 设计图、参考图 | `Doc/Design/{类型}/{名称}/` | 已确定 |
| 临时源文件和中间文件 | `TempResource/` 或 `Tools/output/` | 已确定;不直接进入 Bundle |
| UI 生成 JSON | `Doc/UIPrefabCreater/{界面名}.json` | 已确定 |
| UI 单图 / 图集 | `AIClient/Assets/Bundles/UI/Texture/Common/` 或业务子目录 | 已确定 |
| UI Prefab | `AIClient/Assets/Bundles/UI/Prefab/` | 已确定 |
| 场景资源 | `AIClient/Assets/Bundles/Scenes/{类型}/{场景号}/` | 已确定 |
| 角色资源 | `AIClient/Assets/Bundles/Characters/{类型}/{英文名称}/` | 已确定 |
| 特效资源 | `AIClient/Assets/Bundles/Effects/{英文名称}/` | 已确定 |
| 武器、道具 | `AIClient/Assets/Bundles/Items/{类型}/{英文名称}/` | **暂定,待确认** |
| 音乐、音效 | `AIClient/Assets/Bundles/Audio/{类型}/{英文名称}/` | **暂定,待确认** |
移动、重命名或删除 `AIClient/Assets/` 下已有资源时遵循 [`UNITY-GUIDE.md`](UNITY-GUIDE.md),通过 Unity Pipeline 操作,不手改 `.meta` 文件。
### 2.2 命名约定
- 中文名称用于需求和设计目录;英文名称用于 Unity 资产、Prefab、动画片段和运行时寻址。
- 英文名称只使用 `A-Z`、`a-z`、数字和下划线;同一资源全流程保持一致。
- 目录名、Prefab 名、主模型名、主贴图名和登记名应能互相对应。
- 版本建议采用 `名称_v主版本.次版本`;正式资源的版本号由项目版本策略最终确认。
- 设计源文件、导出文件、中间文件和 Bundle 成品应区分存放,避免把中间文件误收集进 YooAsset。
### 2.3 资源登记矩阵
| 资源类型 | 登记文件 | 至少记录 |
| --- | --- | --- |
| 2D 设计图、UI 图、贴图、参考图 | [`Doc/ResDesc_Picture.md`](Doc/ResDesc_Picture.md) | 路径、用途、生成方式、尺寸或图集信息 |
| 3D 场景、角色、武器、道具、模型贴图 | [`Doc/ResDesc_Model.md`](Doc/ResDesc_Model.md) | 路径、用途、生成方式、面数、配套资源 |
| 人形 / 非人形动画 | [`Doc/ResDesc_Animation.md`](Doc/ResDesc_Animation.md) | 路径、绑定对象、片段清单、生成方式 |
| 序列帧 / 粒子特效 | [`Doc/ResDesc_Effect.md`](Doc/ResDesc_Effect.md) | 路径、粒子预设、贴图规格、生成方式 |
| 音乐 / 音效 | [`Doc/ResDesc_Sound.md`](Doc/ResDesc_Sound.md) | 路径、用途、格式、时长、生成方式 |
**登记是 G6 门禁的一部分。** 本文新增流程不会替代资源登记文件;实际产出完成后必须同时更新对应登记表。
## 3. 通用生产卡(每个资源一份)
在开始制作前建立一张生产卡,可放在对应的 `Doc/Design/{类型}/{名称}/` 目录中。字段如下:
```text
资源 ID:
中文名称:
英文名称:
资源类型:
用途 / 使用场景:
风格参考:
输入设计图 / 参考图:
生成工具与版本:
源文件路径:
中间文件路径:
Unity 成品路径:
规格预算(尺寸 / 面数 / 时长 / 帧数):
依赖资源:
验收人:
状态:G0 / G1 / G2 / G3 / G4 / G5 / G6
问题与待确认项:
```
## 4. 一、2D 资源
### 4.1 设计图
**目标**:为 UI、场景、角色、物件和特效提供统一的风格设计依据。
#### 流程
1. 明确资源用途、视角、构图、尺寸和使用平台。
2. 读取项目画图方案并选定生成模型、提示词和参考图。工具用法遵循 [`ResourceCreate.md`](ResourceCreate.md)。
3. 使用项目画图方案绘制,背景保持纯白;如后续用途要求透明通道,单独导出透明版本,不能用白底文件直接代替。
4. 将源图、导出图和生产卡保存到 `Doc/Design/{类型}/{名称}/`。
5. 通过 G1 设计验收后,才能作为 3D、UI 或特效生成输入。
#### 设计图验收
- [ ] 主体完整、比例和视角符合用途。
- [ ] 风格与项目参考图一致,并记录引用文件。
- [ ] 背景为纯白;透明版本(如需要)另行检查 Alpha。
- [ ] 文件尺寸、色彩空间和导出格式已写入生产卡。
- [ ] 文件名、目录名和资源 ID 一致。
**待确认**:各资源类型的标准分辨率、源文件格式、是否必须保留可编辑图层。
### 4.2 UI 图
**目标**:生成可复用的风格组件图,并在 Unity 中转换为 Sprite UI 资源。
#### 流程
1. 参考现有 UI 范例图和项目风格文件:`Doc/Design/ui_design.jpg`、`Doc/UI_Simple_Set.md`、`Doc/UI_Normal_Set.md`、`Doc/UI_Pic_Set.md`。
2. 使用项目画图方案绘制新的风格组件图,初稿背景纯白;需要运行时透明的组件另导出带 Alpha 的版本。
3. 将组件拆成单一图,建立单图名称、用途和九宫格信息清单。若保留图集,则按对应图集文档记录切片坐标。
4. 将单图或图集导入 `AIClient/Assets/Bundles/UI/Texture/Common/` 或业务子目录。
5. Unity 导入设置:`Texture Type = Sprite (2D and UI)`;单图使用 `Sprite Mode = Single`,图集使用 `Multiple`;`Mesh Type = Full Rect`;按项目规范选择过滤和压缩。
6. 业务面板必须建立 `Doc/UIPrefabCreater/{界面名}.json`,通过 JSON→Prefab 生成 `AIClient/Assets/Bundles/UI/Prefab/{界面名}.prefab`,不能用运行时代码临时拼业务 UI 骨架。
7. UI 设计分辨率固定为竖屏 `[1080, 1920]`;文字控件使用 TextMeshPro,节点使用英文命名。
8. 通过 Unity 检查九宫格、锚点、透明边缘、不同分辨率适配和交互态,再登记图片资源。
#### UI 图验收
- [ ] 与现有 UI 风格一致,组件边缘和圆角无明显接缝。
- [ ] 单图名称与清单、JSON 和代码引用一致。
- [ ] Sprite 类型、模式、Full Rect、过滤、压缩和 Alpha 设置正确。
- [ ] 9-slice 的 Border 已在 Sprite Editor 中验证;图标类不误设九宫格。
- [ ] 业务 Prefab 来源于 JSON,分辨率为 `[1080,1920]`。
- [ ] 已在 `Doc/ResDesc_Picture.md` 登记图集、单图或设计图。
**待确认**:各 UI 组件的标准尺寸、是否统一使用白底源图、公共图集与业务图集的拆分策略。
## 5. 二、3D 资源
### 5.1 场景
#### A. 整体场景设计图
1. 收集关卡功能、相机、路线、部署区和风格参考。
2. 参照风格图绘制整体设计图,标出地表、建筑、机关、装饰和交互区域。
3. 整体场景中的物件类型控制在 **10 种以内**,同时列出类型编号、用途、复用关系和数量预估。
4. 在 G1 提交整体设计图和物件类型清单,等待确认;未确认前不进入批量建模。
交付物:整体设计图、物件类型表、场景号、相机 / 尺度说明、确认记录。
#### B. 场景组件与地表设计图
1. 按整体设计图逐一拆出场景各类型组件和地表模块。
2. 每个组件绘制正视图、侧视图或必要的尺寸标注;背景纯白。
3. 地表设计图应标明拼接边、可行走区域、碰撞或阻挡区域,以及重复使用方式。
4. 为每个组件分配英文名称和类型编号,保存到 `Doc/Design/Scene/{场景号}/{类型}/`(目录大小写以项目最终约定为准)。
交付物:组件设计图、地表设计图、尺寸 / 枢轴说明、组件清单。
#### C. 3D 模型生成与 Unity 集成
1. 将组件和地表设计图逐一送入项目 3D 模型生成流程:图生 3D、低模处理、UV、贴图烘焙和格式导出,具体命令遵循 [`ResourceCreate.md`](ResourceCreate.md)。
2. 游戏成品的目标面数为 **300–2,000**;“面数”统计口径(面 / 三角面、是否包含碰撞体)必须在验收前确认并记录。
3. 完成材质、贴图、碰撞、枢轴、缩放和 LOD(如需要)处理。
4. 将最终模型、贴图、材质、Prefab 和场景配套资源放入:
`AIClient/Assets/Bundles/Scenes/{类型}/{场景号}/`
5. 在 Unity 中验证拼接、光照、相机可见性、碰撞、批次 / 内存和移动端表现。
6. 通过 G5 后登记 `Doc/ResDesc_Model.md`;中间 GLB、减面和烘焙目录留在 `Tools/output/` 或 `TempResource/`,不进入正式 Bundle。
#### 场景验收
- [ ] 整体设计图已确认,物件类型不超过 10 种或有书面例外。
- [ ] 每种组件与地表都有独立设计图和资源 ID。
- [ ] 面数落在 300–2,000 目标内,统计口径已记录。
- [ ] UV、贴图、材质、碰撞、枢轴和缩放正确。
- [ ] 场景可在目标设备档位运行,无明显穿插、漏面、紫材质或拼接缝。
- [ ] 最终资源路径和模型登记已完成。
**待确认**:场景类型命名、场景号格式、地表模块尺寸、碰撞体规则、LOD 档位和面数统计工具。
### 5.2 角色
#### A. 人物角色
1. 参照风格图绘制角色设计图,采用 **T Pose**,背景纯白;正面、侧面和关键装备应清晰可见。
2. 通过项目图生 3D、减面、UV 和贴图烘焙流程生成模型。
3. 游戏角色模型目标约 **3,000 面**;面数口径和是否包含配件需在验收时记录。
4. 角色、贴图、材质、Prefab、骨骼和概念图放入:
`AIClient/Assets/Bundles/Characters/{类型}/{英文名称}/`
5. 通过 Unity 验证骨骼、材质、比例、T Pose、Animator 绑定和目标平台性能。
6. 完成后登记 `Doc/ResDesc_Model.md`;动画另登记 `Doc/ResDesc_Animation.md`。
#### B. 非人角色
1. 先确定体型、移动方式、攻击方式、骨骼需求和是否需要飞行 / 多足 / 触手等特殊结构。
2. 按对应动作姿态绘制设计图;若需要建模对照,背景纯白,并提供关键视图。
3. 走与人物角色相同的图生 3D、低模、UV、烘焙和 Unity 验收流程;面数预算按角色类型单独记录,不能直接套用人物预算。
4. 最终目录沿用:`AIClient/Assets/Bundles/Characters/{类型}/{英文名称}/`。
**待确认**:非人角色的标准姿态、骨骼模板、面数预算、动画重定向策略和飞行单位的碰撞规则。
### 5.3 动画
动画资源与绑定对象一起评审,避免模型完成后才发现骨骼或动作缺失。默认建议将动画放在角色目录下:
`AIClient/Assets/Bundles/Characters/{类型}/{英文名称}/Animations/`(**目录方案待确认**)
#### A. 人形角色动画
1. 确认骨骼 / Avatar、单位比例和根节点规则。
2. 建立动作清单:待机、移动、攻击、受击、死亡、技能、胜利 / 失败等,按实际角色裁剪。
3. 统一片段命名、循环设置、Root Motion 规则和 Animator 状态机参数。
4. 在 Unity 中验证过渡、循环首尾、脚底滑动、攻击事件和技能时序。
#### B. 非人角色动画
1. 按移动方式和攻击方式建立动作清单,覆盖多足、飞行、爬行或特殊肢体。
2. 验证根骨骼、碰撞体、寻路方向和攻击判定点与动画同步。
3. 特殊动画不能假设可直接重定向到人形 Avatar,应在生产卡中写明绑定方式。
#### 动画验收与登记
- [ ] 所有片段可在目标 Animator 中播放。
- [ ] 循环、速度、过渡、Root Motion 和事件经过实机或模拟验证。
- [ ] 片段清单、帧率、时长、绑定对象和路径已登记。
- [ ] 生成方式和源文件可追溯。
## 6. 三、独立物件
独立物件沿用场景 / 角色的 3D 生成、低模、UV、烘焙和 Unity 验收流程;若物件需要动画或特效,按相应章节追加门禁。
### 6.1 武器
- 先确定持握点、尺寸、攻击方向、挂点和角色 / 机关兼容关系。
- 设计图应标注正面、侧面、关键结构和材质区域;背景纯白。
- 模型需验证 Pivot、缩放、碰撞、材质和挂点;武器若独立寻址,使用英文名称。
- 暂定成品路径:`AIClient/Assets/Bundles/Items/Weapons/{英文名称}/`。
### 6.2 道具
- 先确定拾取、摆放、交互、破坏或掉落状态。
- 设计图应标明可见面、底部接触面和与场景地表的关系;背景纯白。
- 模型需验证 Pivot、碰撞、交互点、材质和是否需要 LOD / 简化版。
- 暂定成品路径:`AIClient/Assets/Bundles/Items/Props/{英文名称}/`。
**待确认**:武器和道具是否统一放入 `Items`,是否需要独立的登记文件,以及各类别面数预算。
## 7. 四、特效
特效成品目录必须包含使用所需的图片、材质、粒子系统、Prefab 及其他依赖资源:
`AIClient/Assets/Bundles/Effects/{英文名称}/`
特效在 Unity 中制作和持久化;不得用运行时代码临时拼出正式特效资源。
### 7.1 序列帧动画
1. 使用项目画图方案生成 **4×4 序列帧动画**,源图尺寸为 **1024×1024**。
2. 检查 16 帧排列、帧间距、主体中心、透明边缘和播放顺序。
3. 将序列帧缩小为 **256×256** 的运行时图;源图和运行时图均保留可追溯关系。
4. 导入 Unity,按序列帧切片并制作 Particle System / VFX Prefab。
5. 将图片、材质、粒子配置、Prefab 和依赖资源放入 `Effects/{英文名称}/`。
6. 验证播放速度、循环 / 单次、朝向、排序、过度绘制和移动端性能。
### 7.2 粒子动画
1. 使用项目画图方案生成粒子图,源图尺寸为 **1024×1024**。
2. 将粒子图缩小为 **128×128** 的运行时图。
3. 在 Unity 中制作粒子系统和 Prefab,验证贴图采样、混合、生命周期、发射量和回收。
4. 将图片、材质、粒子配置、Prefab 和依赖资源放入 `Effects/{英文名称}/`。
#### 特效验收与登记
- [ ] 序列帧为 4×4、源图 1024×1024、运行时图 256×256;粒子图运行时为 128×128。
- [ ] 背景 / Alpha、混合模式、采样边缘和排序正确;透明要求需在生产卡明确。
- [ ] Prefab 在目标场景中可播放,生命周期和销毁策略正确。
- [ ] 同屏数量、粒子数、Overdraw 和内存达到目标平台要求。
- [ ] 已登记 `Doc/ResDesc_Effect.md` 和其中引用的图片资源。
**待确认**:粒子源图是否强制透明、序列帧切片命名、特效粒子数预算、低端机降级方案。
## 8. 五、声音资源
音乐和音效使用同一套“需求 → 试听样片 → 编辑 / 导出 → Unity 导入 → 播放验证 → 登记”流程。暂定运行时目录为 `AIClient/Assets/Bundles/Audio/{类型}/{英文名称}/`,最终目录需确认。
### 8.1 音乐
1. 明确使用场景:主界面、战斗、Boss、胜利、失败或活动。
2. 记录情绪、速度、循环点、时长、层次切换和是否支持无缝循环。
3. 生成或采购后保留源工程、母带和运行时导出文件,写明授权 / 来源。
4. 按目标平台导出并在 Unity 中验证循环、淡入淡出、暂停恢复、切场景和内存占用。
5. 登记路径、格式、采样率、声道、时长、循环点和生成方式。
### 8.2 音效
1. 建立事件清单:UI、召唤、合成、攻击、受击、技能、警告、Boss、胜负等。
2. 为每个事件指定英文名称、变体数量、随机 / 顺序播放规则和优先级。
3. 编辑音量、起始静音、尾部、响度和循环属性;具体响度标准待确认。
4. Unity 中验证多次触发、并发上限、混音组、距离衰减(如有)和低端设备表现。
5. 登记到 `Doc/ResDesc_Sound.md`。
**待确认**:音频目录、主格式(如 WAV / OGG)、采样率、响度基准、音乐循环格式、音效并发上限和授权字段。
## 9. Unity 导入、打包与发布检查
### 9.1 导入检查
- [ ] 资源放在正确的 `AIClient/Assets/Bundles/` 子目录。
- [ ] 使用 Unity Pipeline 或编辑器完成导入和序列化资源变更。
- [ ] 纹理、模型、音频、动画、材质和粒子设置与生产卡一致。
- [ ] 没有缺失引用、紫色材质、错误坐标、异常缩放、重复 GUID 或无关中间文件。
### 9.2 YooAsset 检查
- [ ] Collector 收集到正确 Package,场景 / 角色 / UI / 特效 / 音频的更新策略符合项目规划。
- [ ] Bundle 中不包含 `Tools/output/`、`TempResource/` 或源工程等中间文件。
- [ ] 资源寻址名、依赖和版本可通过开发期加载模式验证。
- [ ] 打包前对应 `Doc/ResDesc_*.md` 已更新。
### 9.3 运行检查
- [ ] 编辑器模拟模式可加载并使用。
- [ ] 目标平台或等效性能档通过视觉、内存、加载和帧率检查。
- [ ] 资源卸载、切场景、重复播放和异常中断后无明显泄漏或残留。
- [ ] 变更记录包含资源 ID、版本、变更内容、验证环境和已知问题。
## 10. 逐条细化与验证计划
本文下一阶段按下列顺序把“待确认”项变成可执行标准,每完成一条就更新对应章节的验收表和示例:
1. **工具与输入**:确认画图、图生 3D、减面、烘焙、音频编辑工具及版本。
2. **路径与命名**:确认武器、道具、动画和音频的最终目录、英文命名和寻址规则。
3. **尺寸与性能**:确认各类 2D 尺寸、模型面数统计口径、贴图尺寸、粒子预算和音频规格。
4. **设计评审**:用一个场景样例验证“10 种以内组件”和“等待确认”门禁。
5. **2D 样例**:验证一张设计图、一套 UI 单图和一个 JSON→Prefab 面板。
6. **3D 样例**:验证一个场景组件、一个人物角色、一个非人角色、一个武器和一个道具。
7. **动画与特效样例**:验证一套人形动作、一套非人动作、一个 4×4 序列帧和一个粒子特效。
8. **声音样例**:验证一首循环音乐和三类常用音效的导入、混音与登记。
9. **打包回归**:将已验收样例走完 YooAsset 收集、加载、卸载和登记流程。
### 10.1 验证记录模板
```text
验证日期:
资源 ID / 版本:
验证章节:
验证环境:Unity 版本 / 平台 / 性能档
输入文件:
检查项:
结果:通过 / 不通过 / 待确认
问题:
修复记录:
验收人:
关联登记文件:
```
## 11. 首轮待确认清单
| 编号 | 事项 | 影响章节 | 当前结论 |
| --- | --- | --- | --- |
| C01 | “项目画图方案”的固定模型、提示词和参考图 | 2D、特效 | 待确认 |
| C02 | 纯白背景与透明 Alpha 的适用边界 | 2D、特效 | 待确认 |
| C03 | 2D 各类标准分辨率和源文件格式 | 2D | 待确认 |
| C04 | 场景组件不超过 10 种的计数口径和审批人 | 场景 | 待确认 |
| C05 | “面数”是面数还是三角面数,以及统计工具 | 场景、角色 | 待确认 |
| C06 | 非人角色姿态、骨骼和面数预算 | 角色、动画 | 待确认 |
| C07 | 动画目录、片段命名和 Root Motion 规则 | 动画 | 待确认 |
| C08 | 武器、道具最终目录和面数预算 | 独立物件 | 待确认 |
| C09 | 序列帧 / 粒子 Alpha、切片命名和粒子预算 | 特效 | 待确认 |
| C10 | 音频目录、格式、采样率、响度和授权字段 | 声音 | 待确认 |
| C11 | 各类型资源的验收人和审批记录位置 | 全部 | 待确认 |
## 12. 变更记录
| 日期 | 版本 | 变更 | 状态 |
| --- | --- | --- | --- |
| 2026-09-28 | 0.1 | 建立 2D、3D、动画、独立物件、特效、声音的生产流程框架;加入目录、门禁、登记和逐条验证计划 | 框架完成 |