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:
@@ -25,9 +25,11 @@ namespace BaseGames.World
|
||||
[SerializeField] private string _targetTransitionId; // 目标房间出生点 ID
|
||||
|
||||
[Header("过渡类型")]
|
||||
[Tooltip("Room:极短淡出,无加载画面,相邻房间边界专用。\n" +
|
||||
"Scene:完整淡出 + 加载画面,大区域/地图间切换专用。")]
|
||||
[SerializeField] private TransitionType _transitionType = TransitionType.Room;
|
||||
[Tooltip("Seamless:无缝切换,流式系统标准选项,绝大多数房间门使用此类型。\n" +
|
||||
"AtmosphericFade:短暂淡出 + 区域名提示,适合跨大区域边界。\n" +
|
||||
"Room:极短淡出,不走流式系统(仅用于非流式独立场景切换)。\n" +
|
||||
"Scene:完整淡出 + 加载画面,大区域/地图间传送专用。")]
|
||||
[SerializeField] private TransitionType _transitionType = TransitionType.Seamless;
|
||||
|
||||
[Header("触发方式")]
|
||||
[SerializeField] private bool _autoTrigger = true; // true = 玩家进入触发器自动触发
|
||||
|
||||
Reference in New Issue
Block a user