vault backup: 2024-07-22 19:21:30

This commit is contained in:
2024-07-22 19:21:30 +08:00
parent c0db44f626
commit bc7c3de934
2 changed files with 22 additions and 1 deletions

View File

@@ -120,6 +120,8 @@ Build - Build Minimap
| **6** | 决定是否应该为此数据层中的Actor生成HLOD。仅当启用"动态加载Is Dynamically Loaded"时可用。 |
| **7** | 决定启用了"动态加载Is Dynamically Loaded"的数据层在运行时加载、卸载还是激活。 |
| **8** | 决定数据层是否影响Actor的运行时加载。 |
***默认只在Editor下生效可以将其类型切换为Runtime从而使其在游戏过程中也可以通过逻辑控制某一Layer的显隐。***
### 使用蓝图或者c++控制DataLayer加载
通过**UDataLayerSubsystem**的SetDataLayerState()来控制DataLayer的加载与卸载。
@@ -164,5 +166,24 @@ https://github.com/EpicGames/UnrealEngine/commit/51d38831de4da7df196eecaf13f3d4b
1. 枝江地图针对小房间、DMX、巨蛋DMX、舞蹈室以及舞台分别使用了DataLayer。
2. ***LvieArea***可以关联DataLayer并让其一起加载。比如乃琳卧室的LiveArea Map_SceneBedroom_Nailin以及BP_LiveArea_11关联了DL_SeasideCity_StageA。
- 加载
-  TsAreaListItemView.ts
- widget.IsLoad.OnCheckStateChanged.Add((bChecked)=>{this.OnLoadStateChanged(bChecked);});
- 加载manager.LayerManager.AddViewTarget(this.preset.LevelAreaPreset.AreaGuid, this.preset.LevelAreaPreset.Description);
- ***创建ADirectorReplicationViewTarget一个带有UWorldPartitionStreamingSourceComponent的Actor。***
- ***TsLevelAreaManager.tsLoadAreaLayer()***
- 销毁manager.LayerManager.RemoveViewTarget(this.preset.LevelAreaPreset.UUID);
- 切换
- TsAreaListItemView.ts SwitchLevel()
- TsMapEnvironmentLayerManagerEnterLevelArea()
TsMapEnvironmentAsset.ts读取JSON缓存所有的道具与资产路径之后异步加载。
## 结论
1. 舞台DMX可以考虑加一个Runtime DataLayer之后塞进LiveArea中。
2.
## 曹老师提供思路
使用在进行大世界之后对Sequence中的物体进行重新Binding。