vault backup: 2024-07-22 19:21:30
This commit is contained in:
@@ -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.ts:LoadAreaLayer()***
|
||||
- 销毁:manager.LayerManager.RemoveViewTarget(this.preset.LevelAreaPreset.UUID);
|
||||
- 切换
|
||||
- TsAreaListItemView.ts SwitchLevel()
|
||||
- TsMapEnvironmentLayerManager:EnterLevelArea()
|
||||
|
||||
|
||||
|
||||
TsMapEnvironmentAsset.ts:读取JSON缓存所有的道具与资产路径,之后异步加载。
|
||||
|
||||
## 结论
|
||||
1. 舞台DMX可以考虑,加一个Runtime DataLayer,之后塞进LiveArea中。
|
||||
2.
|
||||
|
||||
## 曹老师提供思路
|
||||
使用在进行大世界之后对Sequence中的物体进行重新Binding。
|
||||
|
Reference in New Issue
Block a user