ULevelStreamingDynamic::FLoadLevelInstanceParams 确保执行是要等到场景内容加载完毕
时间: 2024-12-30 19:37:16 浏览: 10
`ULevelStreamingDynamic::FLoadLevelInstanceParams` 是虚幻引擎中用于动态场景加载(Streaming Levels)的一种结构体,当你需要在游戏运行过程中添加新的关卡内容并且需要等待其完全加载完成时,你可以设置这个参数。这个参数包含了关于何时开始和何时结束加载过程的信息,以及一些额外的配置选项。
其中的关键成员可能包括:
- `bWaitForFinish`:一个布尔值,如果设为 true,表示加载操作会阻塞直到场景的所有资源都加载完毕,这对于确保玩家能看到完整的内容至关重要。
- `Timeout` 或 `MaxDuration`:可以设置一个时间限制,防止无限期等待加载,如果超过设定的时间,加载将被强制终止。
- `bStartVisibilityChecking`:控制是否立即开始检查新内容的可见性,有助于优化性能。
使用时,你会创建一个 `FLoadLevelInstanceParams` 对象,然后将其传递给 `ULevelStreamingDynamic::RequestNewScene` 或类似的加载方法,以便告诉引擎按照指定的参数加载新场景。
例如:
```cpp
FLoadLevelInstanceParams LoadParams;
LoadParams.bWaitForFinish = true;
LoadParams.Timeout = FTimespan::FromMilliseconds(3000); // 设置最长等待时间为3秒
// 执行加载
MyStreamingLevel->RequestNewScene(MyNewLevelName, LoadParams);
```
阅读全文