Files
Cielonos/.claude/docs/technical-preferences.md
SoulliesOfficial 39b43680a9 爆更
2026-07-18 03:16:20 -04:00

120 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Technical Preferences
<!-- 由 /setup-engine 填充。随开发决策更新。 -->
<!-- 所有 Agent 引用此文件获取项目标准和规范。 -->
## 引擎与语言
- **引擎**Unity 6 (6000.3.7f1)
- **语言**C# (.NET Standard 2.1)
- **渲染管线**Universal Render Pipeline (URP) 17.3.0
- **物理**Unity Physics 3D + AI Navigation 2.0.9
## 输入与平台
- **目标平台**PC (Windows)、主机PlayStation / Xbox
- **输入方式**:键鼠 + 手柄(双一等公民)
- **主要输入**:手柄(动作游戏,面向主机)
- **手柄支持**Full
- **触控支持**None
- **平台备注**:二次元 3D 动作游戏;战斗对输入响应要求严格。使用 Input System 1.18.0(新版,非 Legacy
## 命名规范
- **类名**PascalCase`CharacterBase``CombatManager``AttackAreaBase`
- **变量**camelCase字段/局部变量PascalCase属性`currentHealth``MaxHealth`
- **事件**`On` 前缀 + PascalCase`OnPhaseChanged``OnNodeSelected``onAttack``onGetHit`
- **文件名**与类名一致PascalCase`CharacterBase.cs``RunManager.cs`
- **场景/预制体**PascalCase 描述性命名(如 `CityArena``PlayerCanvas``C1_Axe`
- **常量**PascalCase 或 UPPER_SNAKE_CASE 视场景而定
- **架构模式**Submodule轻量工具/ Subcontroller重逻辑组合模式——避免深层继承。Partial Class 按职责拆分(如 `FutureWand.cs``FutureWand_Functions.cs``FutureWand_AnimationCallbacks.cs`)。
## 性能预算
- **目标帧率**60 FPS主机基线
- **帧预算**16.67ms
- **Draw Call**待定——URP Batching 已启用
- **内存上限**:待定——按平台分析
## 测试
- **框架**Unity Test Framework 1.6.0
- **最低覆盖**:数值公式、玩法系统
- **必测项**:数值公式、玩法系统
## 禁止模式
- 深层继承链——使用 Submodule/Subcontroller 组合代替
- 在可用 EventSubmodule 事件广播的场景中直接使用 Singleton 访问
- 原生 Unity Audio——所有音频走 Wwise 中间件
## 自有工具库SLSUtilities 程序集)
> **重要**:以下系统是项目自建的核心工具,非第三方依赖。在涉及 Feedback、动画事件、及通用工具时优先使用这些实现。
- **Feedback 系统** (`Assets/Scripts/SLSUtilities/Feedback/`) — 自研的屏幕反馈框架Cinemachine 震动、后处理效果、时间缩放等),替代 More Mountains Feel
- **FunctionalAnimation 系统** (`Assets/Scripts/SLSUtilities/FunctionalAnimation/`) — 自研的事件驱动动画框架,通过 FuncAnimPayload 在关键帧执行游戏逻辑
- **其它工具** — SLSUtilities 程序集下的其它通用工具类
## 允许的库 / 插件
### Unity Package通过 Package Manager
- Universal Render Pipeline (URP) 17.3.0
- Visual Effect Graph 17.3.0
- Shader Graph 17.3.0
- Timeline 1.8.10
- Input System 1.18.0
- AI Navigation 2.0.9
- Localization 1.5.11
- Burst 1.8.27
- Collections 2.6.2
- Mathematics 1.3.3
- Editor Coroutines 1.0.1
### 第三方(项目内集成)
- **Wwise (Audiokinetic)** — 专业音频中间件(完整项目在 Cielonos_WwiseProject/
- **Odin Inspector (Sirenix)** — 序列化与编辑器增强
- **DOTween (Demigiant)** — 动画缓动库
- **UniRx** — Unity 响应式扩展
- **Behavior Designer (Opsive)** — AI 行为树框架
- **PotaToon** — 二次元/卡通渲染管线(核心视觉身份)
- **MagicaCloth 2** — 物理布料模拟
- **DamageNumbers Pro** — 浮动伤害数字
- **Yarn Spinner** — 叙事/对话系统git: YarnSpinnerTool/YarnSpinner-Unity#current
- **Amplify Shader Editor** — Shader 编辑工具
- **LeanPool** — 对象池优化
### 已弃用(素材保留但不再使用)
- ~~i2 Localization~~ — 已弃用
- ~~LeTai TranslucentImage~~ — 已弃用
- ~~More Mountains Feel~~ — 已弃用,由 SLSUtilities/Feedback 自研系统替代
- ~~Nice Vibrations~~ — 已弃用
### VFX 资源包
- MagicArsenal、Piloto Studio、VFX_Klaus、MasterStylizedFX、MasterStylizedProjectiles、CartoonVFX9X、Hovl Studio、INab Studio、Lana Studio、Vefects、BOXOPHOBIC、Archanor、Ground Impact VFX、HTraceSSGI、EnvironmentWeatherEffect
## Architecture Decisions Log
<!-- 快速引用,链接到 docs/architecture/ 中的完整 ADR -->
- [尚无 ADR — 使用 /architecture-decision 创建]
## 引擎专家路由
- **Primary**unity-specialist
- **语言/代码专家**unity-specialistC# / MonoBehaviour / ScriptableObject 模式)
- **Shader 专家**unity-shader-specialistPotaToon、Shader Graph、URP 自定义 Shader
- **UI 专家**unity-ui-specialistUGUI Canvas + UI Toolkit 混合)
- **额外专家**unity-addressables-specialist若后续采用 Addressables
- **路由备注**:本项目使用 URP + PotaToon 实现二次元渲染。战斗系统使用自研 FuncAnimFunctional Animation事件驱动架构——Shader 工作常与 VFX Feedback 绑定。UI 主要基于 UGUI Canvas部分界面使用 UI Toolkit。
### 文件扩展名路由
| 文件扩展名 / 类型 | 派发专家 |
|-----------------------|---------------------|
| 游戏代码 (`.cs`) | unity-specialist |
| Shader / 材质文件 (`.shader`, `.shadergraph`, `.mat`) | unity-shader-specialist |
| UI / 界面文件 (`.uxml`, `.uss`, Canvas 预制体) | unity-ui-specialist |
| 场景 / 预制体 / 关卡文件 (`.unity`, `.prefab`) | unity-specialist |
| 原生扩展 / 插件文件 | unity-specialist |
| 总体架构评审 | unity-specialist |