Files
Echo/README.md
2026-07-08 20:42:51 +08:00

138 lines
4.4 KiB
Markdown
Raw Permalink 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.
# 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 中启用的场景顺序没有被改乱。