42 lines
11 KiB
Markdown
42 lines
11 KiB
Markdown
|
||
|
||
## Codely Structured Memories
|
||
|
||
### User
|
||
- [2026-09-09 13:43:50] 用户是 10 年 Java 后端开发,可以提供后端接口,但当前项目处于原型验证阶段,暂不需要服务器。
|
||
|
||
### Feedback
|
||
- [2026-08-28 11:36:37] 用户偏好 Unity 操作分步骤执行:一次只做一个明确动作并先验证结果,避免连续执行大量工具调用导致超时。**Why:** 之前连续操作出现 Stream idle timeout。**How to apply:** Unity 场景、Prefab、组件和运行验证都采用“读取→单步修改→确认”的节奏。
|
||
- [2026-08-30 22:44:50] 每实现一个角色技能,都要同步更新《场景和角色设计.md》文档末尾的角色与技能描述表格。**Why:** 用户希望实现进度与设计文档保持同步。**How to apply:** 后续新增或修改角色技能时,在同一任务中追加或更新对应表格行。
|
||
- [2026-08-31 14:52:17] 角色配色应以自然、克制的主体色为主,每个角色加入一到两处对比度较强的颜色作为识别点,避免整体过于花哨或过于朴素。**Why:** 用户希望角色既有视觉记忆点,又保持统一、易建模的造型。**How to apply:** 后续角色提示词使用材质和种族决定主体配色,仅在围巾、护腕、局部毛色等少量位置加入强对比色。
|
||
- [2026-08-31 15:30:02] 角色技能表中的攻击速度应以“普攻间隔(秒/次)”展示,而不是“次/秒”。**Why:** 用户更直观地关注单位每隔多少秒攻击一次。**How to apply:** 后续新增或调整角色数值时统一使用秒/次,并按间隔数值维护平衡。
|
||
- [2026-09-01 14:10:12] 用户在 Unity 脚本或 Animator 问题排查中可优先要求“先改、不运行验证”,此时只执行读取、针对性修改和必要的编译/配置确认。**Why:** Play Mode 或视频验证容易触发 Stream idle timeout。**How to apply:** 除非用户明确要求运行验证,否则遇到类似超时后先不进入 Play Mode。
|
||
- [2026-09-03 14:32:39] 眩晕状态特效应优先使用 Unity Particle System,并以星星贴图作为粒子,而不是用运行时复制多个 Sprite 作为最终实现。**Why:** 用户明确希望得到真正的粒子效果,Sprite 复制只能作为临时占位。**How to apply:** 后续制作眩晕及类似循环状态特效时,优先创建可复用的粒子 Prefab 并接入通用状态系统。
|
||
- [2026-09-04 10:39:23] 后续所有角色图片生成提示词禁止出现米白色衣服,并一并排除象牙白、奶油白、乳白色及其他近似暖白色服装。**Why:** 用户明确要求角色服装不再使用米白色。**How to apply:** 新增或改写任何角色提示词时,服装与护甲优先使用明确的冷色、深色或自然色,并在提示词中写出排除项。
|
||
- [2026-09-04 11:21:06] 角色辨识度优先依靠大轮廓、简化脸部、职业特征大色块和少量核心识别点,不依赖复杂细节或精细贴图;尤其要适配 2.5D 远距离显示。**Why:** 用户希望即使模型和贴图较粗糙,也能一眼识别角色职业与身份。**How to apply:** 后续角色提示词优先设计头部框架、面部符号、服装剪影和能力核心,控制小装饰与高频纹理。
|
||
- [2026-09-04 14:12:02] 需要 Play Mode 验证时先询问用户,由用户手动点击 Play 并反馈结果,不要自动进入 Play Mode。**Why:** 可节约时间并避免 Unity 运行验证导致工具等待或超时。**How to apply:** Unity 动画、角色行为和运行时问题排查中,完成编辑态修改后停在编辑器等待用户验证。
|
||
- [2026-09-05 10:16:49] Unity 运行验证默认不由助手自动进入 Play Mode;完成编辑态修改、编译和场景保存后,等待用户手动点击 Play 并反馈结果。**Why:** 用户希望避免运行验证导致等待或超时。**How to apply:** 角色、动画 Event 和技能接入任务优先做编辑态验证,除非用户明确要求自动运行测试。
|
||
- [2026-09-09 12:11:59] 当用户明确指出现象和修复目标时,优先按用户给出的事实做针对性修改,不继续进行冗长排查。**Why:** 用户明确指出法师没有生成火球,并要求直接给新建火球 Prefab 补脚本。**How to apply:** 先读取目标资产确认,再执行最小必要修改;只有修改仍失败时才扩大排查范围。
|
||
- [2026-09-09 13:43:50] 能量恢复速度应该更慢一些,用户建议改为 3 秒恢复 1 格。**Why:** 1 秒 1 格太快,不利于战斗节奏控制。**How to apply:** 召唤系统能量恢复速率应偏慢,给玩家资源压力。
|
||
- [2026-09-09 20:37:24] 用户希望提前实现数据架构而非临时方案,即使当前阶段功能简单。**Why:** 用户有 10 年后端开发经验,理解数据分层的重要性,希望逐步完善而非推倒重来。**How to apply:** 对于有明确扩展方向的功能(升级、存档、联网),优先设计可扩展架构并临时写死数据,而非等需求明确后再重构。
|
||
|
||
### Project
|
||
- [2026-08-28 14:26:56] 弓箭手远程箭矢的设计要求:保持发射时高度水平飞行,命中目标后直接结算伤害并销毁,不产生实体物理击退。**Why:** 当前玩法希望远程攻击是命中判定而非物理推动。**How to apply:** 后续调整箭矢、Projectile 或弓箭手攻击逻辑时保持这一行为。
|
||
- [2026-08-28 18:06:13] 小游戏对外名称确定为《召唤之战》,整体采用竖屏布局;主界面不需要“技能、背包、属性”入口或相关模块。**Why:** 备案与产品定位已确定,UI 需保持简洁并适配竖屏。**How to apply:** 后续设计备案图、主菜单或游戏 UI 时遵循此名称、方向和功能范围。
|
||
- [2026-08-29 11:44:51] 《召唤之战》战斗设计倾向简化:单位解锁后立即拥有完整技能,升级只提升基础数值;战斗召唤栏采用底部正方形头像卡片,战斗场景第一版优先将背景图贴到现有 BattlePlatform,而非制作完整3D场景。
|
||
- [2026-08-31 11:31:00] 角色图片生成统一采用 3D 卡通、非写实、单角色正视图;人形角色使用标准 A-pose,非人形角色使用稳定自然姿态。**Why:** 便于 3D 建模与动画制作,并符合《召唤之战》的视觉方向。**How to apply:** 后续新增各章节角色提示词时遵循该标准,并记录在《角色与技能说明.md》。
|
||
- [2026-09-02 16:44:35] 主角定位确定为“召唤师优先、法师辅助”的人类召唤师,主要战斗力来自召唤单位,主角仅用基础法术补刀和牵制;视觉上需要通过召唤核心、学院符文和独特剪影与普通法师区分。**Why:** 保持召唤系统的核心地位并提高主角辨识度。**How to apply:** 后续主角技能、模型、动画和 UI 设计都应围绕召唤师身份展开。
|
||
- [2026-09-02 23:50:59] 《召唤之战》状态效果方案确定:所有可控制单位共用 Stun/StatusEffect 系统,眩晕暂停当前 Animator 与战斗逻辑,使用通用头顶星星提示,重点角色以后再补专属眩晕动画。**Why:** 降低首版制作量并保持各单位行为一致。**How to apply:** 新增眩晕、减速、沉默等控制效果时优先扩展通用状态组件,不在技能脚本中直接操作具体角色动画。
|
||
- [2026-09-03 18:09:56] 《召唤之战》大招统一在下一次普攻开始前判定:先通过现有寻敌逻辑获得有效目标,能量满则优先释放大招并消耗能量,跳过本次普攻;没有有效目标时不释放且保留能量。**Why:** 避免普攻命中击杀目标后仍立即触发大招。**How to apply:** 后续新增或修改角色技能时遵循该统一触发时机。
|
||
- [2026-09-03 18:52:21] 《召唤之战》采用 2.5D 战斗呈现,角色设计需要在俯视斜角和远距离下保持清晰剪影与可读的大色块。**Why:** 用户希望角色在实际战斗镜头中仍容易区分。**How to apply:** 后续角色图片、模型、服装和特效设计优先考虑 2.5D 视角下的轮廓识别,不依赖细小装饰。
|
||
- [2026-09-03 19:12:39] 角色图片提示词与游戏内装备分离:盾卫的角色本体图片必须明确不出现盾牌,塔盾作为独立武器/装备资产单独生成与配置。**Why:** 便于后续替换和挂载装备,避免角色模型自带盾牌影响游戏配置。**How to apply:** 后续生成盾卫或其他可换装角色图片时,只描述身体与服装本体,不把可独立配置的装备画进角色图。
|
||
- [2026-09-06 22:14:43] 《召唤之战》当前先确定每关携带 5 种角色,战斗中固定显示 5 张召唤卡;UI 采用大框底图加独立可复用卡片、角色头像和运行时状态元素。**Why:** 先控制竖屏战斗界面复杂度并便于调试。**How to apply:** 后续召唤 UI、卡组和能量系统按 5 个固定卡位设计,不把动态文字、冷却和能量豆烘焙进静态图片。
|
||
- [2026-09-09 12:23:17] 攻击系统已从动画结束 Event 改为攻击命中 Event 触发。UnitBase 通过 OnAttackEffect() 统一处理四种攻击类型:MeleeDirect(近战直接伤害,已实现)、RangedProjectile(远程锁敌飞行物,已实现)、MeleeArea(近战范围,预留)、RangedArc(远程抛物线,预留)。攻击动画结束由脚本自动检测 normalizedTime,不再依赖 OnAttackAnimationEnd Event。**Why**: 用户需要远程攻击等箭矢碰撞后才扣血,而非动画中途直接伤害。**How to apply**: 所有攻击动画只需在命中帧添加 OnAttackEffect Event;近战保持 MeleeDirect,远程单位设为 RangedProjectile 并配置 projectilePrefab/projectileSpawnPoint。
|
||
- [2026-09-09 20:37:24] 召唤能量和冷却系统已完成,玩家角色数据架构已完成:ManaSystem 单例管理能量(最大 10,3 秒恢复 1 点),MainCharacterCombat 扩展能量检查(人类士兵消耗 2,弓箭手消耗 3),SummonCardButton 接入冷却逻辑(5 秒冷却,UI 显示遮罩和倒计时),能量豆 UI 已配置,冷却遮罩在非冷却时完全隐藏。CharacterData 支持基础属性和升级成长,PlayerCharacterData + PlayerDataManager 实现玩家角色等级和属性计算,召唤时传递最终属性给 UnitBase。
|
||
|
||
- [2026-09-09 20:37:24] 玩家角色数据架构已完成:CharacterData 存储基础属性(1级)和成长值(每级加成),PlayerCharacterData 存储玩家角色等级和星级,PlayerDataManager 单例管理玩家拥有的角色和当前卡组(临时写死)。召唤时从 CharacterData + PlayerCharacterData 计算最终属性并传递给 UnitBase.InitializeFromPlayerData()。升级系统正常工作(1级 100血/50攻,3级 120血/60攻)。后续扩展:存档系统、卡组配置界面、升级界面、角色解锁、后端接口。
|
||
- [2026-09-09 22:17:58] 第一关地图重新设计已完成:地图扩展到120单位(Z: -24到96),创建3个波次生成器(WaveSpawner)在Z=25/55/85,添加视觉标识物(旗帜、石柱、石墙)标记战斗区域。摄像机修正:旋转(43,0,0)位置(0,18,-5),朝向+Z方向与主角前进方向一致。召唤系统优化:初始状态无冷却遮罩,冷却时间从5秒改为1秒(能量已控制召唤频率)。
|
||
|
||
### Reference
|
||
- [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。
|