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

【虚幻引擎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:新建空白关卡,把对应的关卡里的东西复制到新的空白关卡里去

  • 13
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵境引路人

感谢投喂 ~ ❤

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值