Files
Echo/README.md
T

138 lines
4.4 KiB
Markdown
Raw Normal View History

2026-07-08 19:53:15 +08:00
# Echo
Echo 是一个基于 Unity 的交互叙事 / 探索项目。当前项目版本为 `0.1.1`,核心开发内容集中在 `Assets/_Project`,包含场景加载、标题界面、游戏内流程、交互、任务、叙事、设置、结局和 LLM 聊天相关系统。
## 环境要求
- Unity `2022.3.62f3`
- Git LFS `3.x` 或更高版本
- 推荐使用 Unity Hub 打开项目根目录
主要 Unity 包:
- Universal RP `14.0.12`
- Input System `1.14.2`
- TextMesh Pro `3.0.7`
- Timeline `1.7.7`
- ProBuilder `5.2.4`
- Unity Recorder `4.0.3`
## 快速开始
```powershell
git lfs install
git clone <repo-url>
cd <repo-folder>
git lfs pull
```
然后用 Unity Hub 打开仓库根目录。首次打开时 Unity 会重新生成 `Library`,导入资源会比较久,属于正常情况。
如果资源显示为很小的文本指针,或者贴图 / 模型丢失,通常是 LFS 资源没有拉下来,重新执行:
```powershell
git lfs pull
```
## 运行入口
Build Settings 当前启用的场景顺序:
1. `Assets/_Project/Scenes/PreVer/Scene_Loading/LoadingScene.unity`
2. `Assets/_Project/Scenes/PreVer/Scene_Title/TitleScene.unity`
3. `Assets/_Project/Scenes/PreVer/Scene_InGame/inGame.unity`
开发调试时可以从 `TitleScene``inGame` 进入;需要验证完整流程时从 `LoadingScene` 开始。
## 项目结构
```text
Assets/
_Project/ 项目自有内容,主要开发目录
ThirdParty/ 第三方美术、UI、模型、贴图等资源
Plugins/ 插件与运行库,例如 DOTween
TextMesh Pro/ TextMesh Pro 资源
Packages/ Unity 包依赖清单
ProjectSettings/ Unity 项目设置
```
`Assets/_Project` 主要目录:
```text
Animations/ 动画资源
Art/ 项目自有美术资源
Audio/ 音频资源
Data/ ScriptableObject、任务、叙事、道具等数据
Docs/ 系统设计与技术文档
Input/ 输入配置
Prefabs/ 角色、环境、UI 等预制体
Scenes/ 项目场景
Scripts/ 项目 C# 代码
Settings/ 项目运行设置
Shaders/ Shader 与渲染相关资源
```
## 核心代码位置
- `Assets/_Project/Scripts/Core`:场景加载、存档、设置、任务、叙事、触发器、输入锁等基础系统
- `Assets/_Project/Scripts/Interaction`:交互与条件校验
- `Assets/_Project/Scripts/Inventory`:物品与库存相关逻辑
- `Assets/_Project/Scripts/Player`:玩家控制与玩家状态
- `Assets/_Project/Scripts/UI`:标题、暂停菜单、设置面板、任务 UI、叙事 UI 等
- `Assets/_Project/Scripts/EndingSystem`:结局流程与胜利条件
- `Assets/_Project/Scripts/LLM Manager`LLM 对话、Facts、Function Calling 相关逻辑
## 文档
项目内已有一批系统文档,放在:
```text
Assets/_Project/Docs
```
常用入口:
- `InteractionSystem_Technical_Reference.md`
- `TaskSystem_Technical_Reference.md`
- `NarrationSystem_Technical_Reference.md`
- `SettingsSystem_Technical_Reference.md`
- `LLM_Facts_and_FunctionCalling_Setup.md`
- `EndingSystem_Technical_Reference.md`
## 版本控制约定
需要提交:
- `Assets`
- `Packages`
- `ProjectSettings`
- 所有需要的 `.meta` 文件
- `.gitignore`
- `.gitattributes`
- `README.md`
不需要提交:
- `Library`
- `Temp`
- `Obj`
- `Build` / `Builds`
- `Recordings`
- `Logs`
- `UserSettings`
- Visual Studio / Rider / 其他 IDE 自动生成文件
- 导入前的 `.unitypackage` 包文件
- `.pdb` / `.mdb` 调试符号及其 `.meta`
- Addressables / StreamingAssets 下自动生成的 `aa` 内容
`Assets/ThirdParty` 不要整体忽略。这里面的大贴图、模型、音频、视频、PSD、PDF、DLL 等二进制资源已经通过 `.gitattributes` 交给 Git LFS 管理。这样第三方资源仍然会随项目同步,但不会直接塞进普通 Git 历史。
如果以后确实需要保留某个原始 `.unitypackage` 文件,可以在 `.gitignore` 里给那个具体文件加例外规则;默认情况下,仓库只保留导入后的可用资源。
## 注意事项
- 不要手动删除或重新生成已有资源的 `.meta` 文件,否则 Unity 引用可能丢失。
- 第三方资源升级时,尽量单独提交,方便回滚。
- 第一次打开项目、切换分支或更新大量资源后,Unity 重新导入较慢是正常现象。
- 构建前确认 Build Settings 中启用的场景顺序没有被改乱。