feat: Implement Room Streaming System
- Add RoomStreamingManager to manage room loading and unloading based on player proximity. - Create StreamingBudgetConfigSO for memory and performance budgeting of the streaming system. - Introduce TransitionDirector to handle seamless and atmospheric fade transitions between rooms. - Develop WorldGraph to represent room connectivity and facilitate neighbor queries and distance calculations. - Implement RoomNode and RoomEdge classes to structure room data and connections.
This commit is contained in:
@@ -269,6 +269,7 @@ Data/
|
||||
├── World/
|
||||
│ ├── Map/ 地图与房间配置
|
||||
│ └── Shop/ 商店配置
|
||||
├── Streaming/ 流式加载配置(StreamingBudgetConfigSO)
|
||||
├── UI/
|
||||
│ ├── Panels/ UI 面板配置
|
||||
│ └── InputIcons/ 按键图标集 SO(每设备一个文件,通过 Inspector 直接引用,不走 Addressables)
|
||||
@@ -296,6 +297,7 @@ Data/
|
||||
| `SET_` | 设置 | `SET_GlobalSettings.asset` |
|
||||
| `ABL_` | 能力 | `ABL_DoubleJump.asset` |
|
||||
| `ICN_` | 按键图标集 | `ICN_KeyboardMouse.asset`、`ICN_Xbox.asset` |
|
||||
| `STR_` | 流式加载配置 | `STR_BudgetConfig_Default.asset` |
|
||||
|
||||
### 3.3 事件频道 SO 特别规则
|
||||
|
||||
@@ -491,7 +493,7 @@ UI Toolkit/
|
||||
| `Room_{Region}` | 该区域的关卡场景 + 区域专属资产 | Local | 进入区域时加载 |
|
||||
| `Boss_{Name}` | Boss 专属 Prefab + 场景 | Local | Boss 战开始前加载 |
|
||||
| `Audio_Music` | BGM 音频(FMOD bank 引用) | Remote(可选)| 按需流式加载 |
|
||||
| `Config` | 运行时需要动态加载的配置 SO | Local | 按需加载 |
|
||||
| `Config` | 运行时需要动态加载的配置 SO(含 `STR_BudgetConfig_Default`、`Config/FootstepCatalog` 等) | Local | 按需加载 |
|
||||
|
||||
**划分原则**:
|
||||
1. **生命周期相同的资源放同一组**——一起加载、一起卸载
|
||||
@@ -522,6 +524,7 @@ Boss_CaoZhi
|
||||
# 配置数据类(带路径前缀区分)
|
||||
Config/FootstepCatalog
|
||||
Config/DifficultyEasy
|
||||
Config/StreamingBudgetConfig
|
||||
```
|
||||
|
||||
**强制要求**:所有 Address 必须在 `AddressKeys.cs` 中定义对应常量,**禁止在代码中硬编码字符串**。
|
||||
|
||||
Reference in New Issue
Block a user