您当前的位置: 首页 >  灵境引路人

【虚幻引擎UE】UE5 仅需6步轻松实现关卡顺滑切换

灵境引路人 发布时间:2022-08-30 10:57:29 ,浏览量:3

【虚幻引擎UE】UE5 关卡切换解决方案

实现关卡顺滑切换,避免因关卡卸载后,未能加载关卡而出现间歇性白屏。

1. 关卡嵌套: 创建主关卡,并设置为游戏入口。 在这里插入图片描述 将需要相互切换的子关卡拖入关卡列表中,并设置为蓝图流送加载 在这里插入图片描述 在这里插入图片描述

2. 加载具体场景的事件: 在这里插入图片描述 这里的as main control变量是游戏实例

游戏实例的创建和设置: 在这里插入图片描述

在这里插入图片描述

3. 加载场景的通用事件:

在游戏实例中创建这一事件,其中用到的函数在后面会具体展开说明。 在这里插入图片描述

用到的变量: 在这里插入图片描述 默认值均设置为None。 在这里插入图片描述

4. 加载loading UI 在这里插入图片描述 这里的Main是一个用户界面变量,这个函数根据自己的需要写就好了 目的是实现关卡切换过程中的等待UI,无关紧要,也可以删掉。

5. 状态设置函数 (1)状态切换-开始执行: 在这里插入图片描述 (2)状态切换-结束执行: 在这里插入图片描述

6. 判断关卡名称 在这里插入图片描述

7. load level 延迟执行函数 C++

创建C++蓝图函数 在这里插入图片描述

cpp代码:

// Fill out your copyright notice in the Description page of Project Settings.


#include "myDelegateFunction.h"

void UmyDelegateFunction::loadLevel(FlevelDelegate delegate)
{
    delegate.Execute();
}

.h 头文件代码:


// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "myDelegateFunction.generated.h"

DECLARE_DYNAMIC_DELEGATE(FsyDelegate);
DECLARE_DYNAMIC_DELEGATE(FlevelDelegate);
/**
 * 
 */
UCLASS()
class WONDER_TWIN_API UmyDelegateFunction : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
		UFUNCTION(BlueprintCallable, Category = "Custom", meta = (Keywords = "loadlevel"))
		static void loadLevel(FlevelDelegate delegate);
};

疑难问题: Q:世界分区开启时,无法使用关卡流送 在这里插入图片描述 相关设置: 在这里插入图片描述 A:新建空白关卡,把对应的关卡里的东西复制到新的空白关卡里去

关注
打赏
1688896170
查看更多评论

灵境引路人

暂无认证

  • 3浏览

    0关注

    28博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2056s