From b84af36ea72688f6cec31f25a2c639c179a1d1cf Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Wed, 24 Jul 2024 10:30:06 +0800 Subject: [PATCH] vault backup: 2024-07-24 10:30:06 --- 03-UnrealEngine/LevelScene/World Partition(世界分区).md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/03-UnrealEngine/LevelScene/World Partition(世界分区).md b/03-UnrealEngine/LevelScene/World Partition(世界分区).md index 1b9968c..48391a1 100644 --- a/03-UnrealEngine/LevelScene/World Partition(世界分区).md +++ b/03-UnrealEngine/LevelScene/World Partition(世界分区).md @@ -165,6 +165,8 @@ https://github.com/EpicGames/UnrealEngine/commit/51d38831de4da7df196eecaf13f3d4b ## 最终结论 1. Sequence不能控制DMX是因为大世界存在垃圾,需要使用上面的重新构建命令重新构建一下,问题就解决了。 2. 舞台DMX可以考虑,加一个Runtime DataLayer,之后塞进LiveArea中。 + 1. 这样可以保证看不到的Actor也会被加载。 +3. 在异世界地图中也用到了WorldPartitionRuntimeStateVolumn。BP_LiveArea_12_1 ## 笔记 1. 枝江地图,针对小房间、DMX、巨蛋DMX、舞蹈室以及舞台分别使用了DataLayer。 @@ -175,6 +177,8 @@ https://github.com/EpicGames/UnrealEngine/commit/51d38831de4da7df196eecaf13f3d4b - widget.IsLoad.OnCheckStateChanged.Add((bChecked)=>{this.OnLoadStateChanged(bChecked);}); - 加载:manager.LayerManager.AddViewTarget(this.preset.LevelAreaPreset.AreaGuid, this.preset.LevelAreaPreset.Description); - ***创建ADirectorReplicationViewTarget,一个带有UWorldPartitionStreamingSourceComponent的Actor。*** 之后Attach到LiveArea上并且重合。 + - class TsDirectorViewTarget extends UE.DirectorReplicationViewTarget。里面有一个定时器,判断是否加载完,加载完,调用OnLoadComplete()(客户端加载逻辑。) + - ***在游戏状态下把TsDirectorViewTarget删除,4级会显示没有加载这个场景。*** - ***TsLevelAreaManager.ts:LoadAreaLayer()*** - 遍历LiveArea的CareLayers,将LiveArea对应的DataLayer的状态设置为Actived。 - 销毁:manager.LayerManager.RemoveViewTarget(this.preset.LevelAreaPreset.UUID);