185 lines
10 KiB
Markdown
185 lines
10 KiB
Markdown
# F05nwzkQ0ioUxRkNaV8cEBvzn6b
|
||
|
||
Source: https://dianchukeji.feishu.cn/wiki/F05nwzkQ0ioUxRkNaV8cEBvzn6b
|
||
|
||
|
||
# 一、工作概述
|
||
1.完成前两天的方法论和提示词梳理沉淀
|
||
2.进行棋盘模块、生成器模块和合并模块的功能开发
|
||
3.尝试icon的批量生成和UI的成套生成
|
||
# 二、主要产出
|
||
## 2.1-前两天工作过程中的提示词和方法论的沉淀梳理:
|
||
对前两天前期验证和调研过程中产出的方法论和提示词进行梳理
|
||
主要包含模块:方向调研、策划案生成、Schema生成、美术icon和UI生成
|
||
文档链接:
|
||
## 2.2-棋盘模块、生成器模块和合并模块的功能开发:
|
||
### 2.2.1配置数据层与数据加载
|
||
目前尝试AI配置的提示词偏向硬性指标向的,如生成器生成范围为1~2级,遮挡的物品数量占比要超过50%等,目标是快速获得一个贴近主流产品如四季合合的功能表现,明天会尝试在此基地上,通过目标/体验指向来看AI是否能根据体验区配置参数,同时还会设置一个对照组,例如一开始就让AI以体验为目标直接配置的参数,检测保底标准对最终效果的可能影响
|
||

|
||
### 2.2.2棋盘模块 (BoardController)
|
||
**棋盘初始化:**
|
||
- 根据BoardData.InitGridNum(49)计算7×7网格尺寸
|
||
- 动态生成GridCell对象,自动设置正交世界坐标(居中排列)
|
||
- 无Prefab时运行时生成白色方块Sprite + BoxCollider2D
|
||
**初始布局填充 (****PopulateInitialLayout****):**
|
||
- 读取BoardLayout.json的49条配置
|
||
- 三种覆盖状态处理:
|
||
- none → 直接SpawnItemAt
|
||
- half_cover → 设置半遮挡状态 + ForceSpawnItemAt(物品可见但不可拖动)
|
||
- full_cover → 设置全遮挡状态 + ForceSpawnItemAt(物品不可见不可交互)
|
||
|
||
> [嵌入电子表格: WWkQspMG8hqU8stEZn2c...]
|
||
|
||
**生成器放置 (****SpawnGenerators****):**
|
||
- 以曼哈顿距离从棋盘中心向外寻找空格
|
||
- 优先将生成器放置在最靠近中心的可用格子
|
||

|
||
### 2.2.3物品实体 (ItemEntity)
|
||
**视觉表现:**
|
||
- 尝试从Resources/Icons/{icon_id}加载Sprite,失败时用品质颜色方块代替
|
||
- 根据visual_scale缩放,显示Lv{level}标签
|
||
**拖拽交互(****OnMouse*****系列):**
|
||
- 拖拽前置检查:全遮挡/半遮挡格子中的物品不可拖动
|
||
- 放下逻辑优先级:
|
||
- 拖拽时提升sortingOrder到100避免遮挡
|
||
### 2.2.4合并系统 (BoardController.TryMerge)
|
||
**合并判定 (****CanMerge****):**
|
||
- 检查 Level + ItemName + Category 三者完全相同
|
||
- 不考虑品质(Rarity)差异
|
||
- 需非满级且有合并目标
|
||
**合并链:**
|
||
- 基础链:玉石矿屑(Lv1) → 原生玉原石(Lv2) → 雕花玉簪(Lv3) → 平安扣玉佩(Lv4) → 和田玉扳指(Lv5)
|
||
- 奢华链:和田玉扳指(Lv5) → ... → 祥瑞玉如意(Lv12, 满级)
|
||
- 两链通过item_jade_04.merge_target_id = "item_luxury_01"贯通
|
||
**合并后遮挡传播 (****PropagateUncover****):**
|
||
- 合并目标若为半遮挡格:合并后该格变为无遮挡
|
||
- 触发传播:该格上下左右1格范围内的全遮挡格 → 变为半遮挡
|
||
- 形成连锁解锁机制:玩家逐步从中心向边缘解锁棋盘
|
||
### 2.2.5生成器系统 (GeneratorEntity)
|
||
**生成逻辑:**
|
||
- 仅支持手动点击生成(is_auto_spawn: false)
|
||
- 点击时判断拖拽距离 < 0.15f → 视为点击而非拖拽
|
||
- 加权随机从output_pool选取产出物品(Lv1:100, Lv2:25, Lv3:6 — 指数递减)
|
||
- 生成到随机空格
|
||
**状态管理:**
|
||
- 满仓暂停:空格为0时触发pause_and_warn,有空格时自动恢复
|
||
- 体力不足:显示橙色"体力不足"提示
|
||
- 正常状态:显示白色"点击生成"
|
||
**可拖动:** 生成器可拖拽至其他空格重新放置
|
||
### 2.2.6体力系统 (StaminaManager)
|
||
|
||
> [嵌入电子表格: WWkQspMG8hqU8stEZn2c...]
|
||
|
||
- Update()中被动计时恢复
|
||
- 生成器点击时调用TryConsumeStamina()扣除体力
|
||
- 若物品不可生成则退回体力
|
||
- OnStaminaChanged事件驱动UI刷新
|
||
### 2.2.7合并表现 (MergeAnimator)
|
||
- **缩放脉冲**:合并产物先放大1.3倍再恢复,时长0.3秒
|
||
- **位置特效**:合并位置生成临时黄色方块,缩放+淡出
|
||
- **VFX/SFX预留**:SpawnVFX和PlaySFX为TODO桩代码,等待资源接入
|
||
### 2.2.8尚未实现(仅有数据模型和配置,无运行时逻辑)
|
||
|
||
> [嵌入电子表格: WWkQspMG8hqU8stEZn2c...]
|
||
|
||
## 2.3-UI和icon批量制作
|
||
### 2.3.1-icon图标
|
||
在昨天切割模块之后新增的批量命名流程:
|
||
使用的是AI生成的批量命名工具,目前需要人工调整图片和命名对应的序号,后续看能不能开发AI自动识别/生图时直接在图片底部加上对应的名称标签让AI识别。
|
||

|
||
### 2.3.2-UI整图生成
|
||
使用GameUI完成整图的UI生成:
|
||
目前效果还算不错,风格整体一致性高,但还是需要做一些局部的重新生图,效率起伏比较大,目前还没有有效的解决方案,只能多生几版/用其他AI生图软件进行整套的调整。
|
||

|
||
# 三、收获和反思
|
||
## 3.1-AI与引擎的兼容性:
|
||
目前Unity引擎通过MCP插件已经能很好的功能需求,但是如果想要细调一些功能和布局比较困难,例如很多时候claude生成的可调场景组件,不够人性化,很多需要调的参数需要在开始时明确指出,**无法自动识别需要调节的参数**并以合理的布局呈现。有的组件挂的位置比较奇怪比较难找。**UI理解不够**,自动生成的UI布局普遍比较随意,缺少类似web端这样规范人性化的设计适配,几乎都需要人工去调整,后面会探索能否通过提供一些训练材料或参考让AI理解并自动完成摆放。
|
||
# 四、明日计划
|
||
1.开发订单系统,实现订单功能适配配置导入。
|
||
2.完成基础的美术包装,做初版视觉验证,完成订单系统开发后,尝试接入美术素材,验证基础的包装可行性,并设计标准让AI打分评估+人工审核。
|
||
3.开发参数评估系统,探索一下UI自动化人性化生成。
|
||
# 五、当前进度和规划
|
||
时间
|
||
任务
|
||
交付物
|
||
验收标准
|
||
完成情况
|
||
备注
|
||
**周一**
|
||
**W1-1**
|
||
**方向确认 + 工具链熟悉 + 工程搭建**
|
||
1. 确定二合类主题与驱动方式(一句话定义)
|
||
2. 验证 AI 工具链(Claude Code + untiy、美术icon和UI的AI生成工具)可用性
|
||
3. 初始化 Unity 工程,搭建基础脚手架
|
||
1. 主题定义文档
|
||
2. Unity 初始工程骨架
|
||
3. AI 工具链测试记录
|
||
1. 能清晰表述“做什么主题的二合类、合到什么”
|
||
2. Unity 工程可顺利编译运行无报错
|
||
3. AI 生成脚手架代码流畅,工具链无阻塞
|
||
1.完成主题确定,首条玉石合成链确定
|
||
2.完成整套工具可行性验证
|
||
3.完成AI生成最小可运行方案验证
|
||
**周二**
|
||
**W1-2**
|
||
**物品链 Schema + AI 配置生成**
|
||
1. 设计并定义 item_chain_schema.json
|
||
2. 使用 AI 批量生成 12-20 级物品链配置数据
|
||
3. 编写并跑通 JSON 解析器代码
|
||
1. item_chain_schema.json(确定表头字段)
|
||
2. 包含 12-20 级物品的 item_chain.json 数据文件
|
||
3. JSON 解析加载代码
|
||
1. Schema 字段完整(ID/等级/合成规则/图标ID等)
|
||
2. 配置文件可被解析器正确读取加载
|
||
3. 12+ 种物品等级在编辑器/棋盘上可通过色块+数字明确区分
|
||
1.完成物品、生成器、订单、棋盘、广告投放点、功能检测点的Schema验证
|
||
2.完成配置的读取验证
|
||
**周三**
|
||
**W1-3**
|
||
**棋盘 + 合并核心逻辑**
|
||
1. 实现 7×7 网格数据与视图
|
||
2. 实现拖拽/点击交互与吸附逻辑
|
||
3. 实现同等级物品合并判断、栈管理与产出逻辑
|
||
4. 接入基础合并正反馈(缩放动画)
|
||
1. 棋盘管理器与网格渲染代码
|
||
2. 拖拽交互与合并管理器代码
|
||
3. 基础合并动画脚本(如 DOTween 缩放弹跳)
|
||
1. 7×7棋盘正常渲染,拖拽手感跟手且松手自动吸附网格
|
||
2. 两个同 Level 物品合并正确产出 Level+1 物品;不同 Level 不可合并
|
||
3. 合并成功时有明显视觉正反馈
|
||
80%
|
||
1.棋盘生成逻辑完善,可生成7×7网格并能处理遮挡物体和生成器状态,吸附手感未调整
|
||
2.合并逻辑完成,能正常执行合成逻辑
|
||
3.未完成合成效果反馈
|
||
**周四**
|
||
**W1-4**
|
||
**生成器系统**
|
||
1. 实现生成器倒计时与产出逻辑
|
||
2. 实现点击产出与冷却机制
|
||
3. 编写冷却 UI 表现(遮罩/进度条)
|
||
4. 处理满格阻挡逻辑
|
||
1. 生成器管理器代码
|
||
2. 冷却 UI 组件代码
|
||
3. generator_config.json
|
||
1. 1 个生成器可按设定时间自动/手动产出 Level 1 物品
|
||
2. 冷却期间不可点击,UI 有明确倒计时显示
|
||
3. 棋盘无空位时生成器停止产出且不报错
|
||
4. 产速体感合理(3-10秒/个区间)
|
||
90%
|
||
1.实现生成器的点击生成好冷却逻辑
|
||
2.实现生成器在棋盘满格状态的生成逻辑
|
||
3.生成器产速未做平衡调整
|
||
**周五**
|
||
**W1-5**
|
||
**基础 UI + AI 美术占位 + 周度验收**
|
||
1. 搭建游戏 UI 骨架(棋盘区+资源条占位)
|
||
2. 确立 AI 美术 Prompt 模板,批量生成/配置色块占位图
|
||
3. 跑通完整核心闭环,进行 W1 验收
|
||
1. 游戏主界面 UI 骨架 Prefab
|
||
2. art_prompt_template.md(初版)
|
||
3. 12-20 级物品占位图资源
|
||
4. W1 核心闭环可运行版本
|
||
1. UI 布局在标准分辨率下显示正常,无重叠错位
|
||
2. 12 种物品占位图辨识度高,绝不混淆
|
||
3. **W1 验收门达成**:可流畅演示“生成器产出 → 拖拽合并 → 产生高级物品”的完整闭环,物品链有解、无卡死、无根本性 Bug
|
||
规划风险提醒:**探索与收口失衡【最高优先级】、空间压力设计失误、订单节奏不合理、广告点打断体验、合成反馈不够满足、 美术风格不统一、 第一版系统定义过早、单人 AI 工具使用不熟** |