【虚幻引擎UE】UE5 实现项目基本设置(包含窗口全屏、分辨率、音量、渲染等)

一、窗口/全屏切换

1、蓝图切换窗口化和全屏化:

在这里插入图片描述
另外,可以在进入系统时,读取上一次的设置信息。

2、C++切换窗口化和全屏化:

首先创建蓝图函数库的C++类,然后贴入.h和.cpp代码,在VS中点击重新生成。
在这里插入图片描述

(1)窗口化

.h

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

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/GameEngine.h"
#include "EngineGlobals.h"
#include "MinimizeWindow.generated.h"

/**
 * 
 */
UCLASS()
class BEIDOU_API UMinimizeWindow : public UBlueprintFunctionLibrary
{
    
    
	GENERATED_BODY()

public:
		UFUNCTION(BlueprintCallable)
		static bool SetWindow_Minimize();
};

.cpp

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


#include "MinimizeWindow.h"

bool UMinimizeWindow::SetWindow_Minimize()
{
    
    
	UGameEngine* gameEngine = Cast<UGameEngine>(GEngine);
	if (gameEngine)
	{
    
    
		TSharedPtr<SWindow> windowPtr = gameEngine->GameViewportWindow.Pin();
		SWindow* window = windowPtr.Get();
		if (window)
		{
    
    
			window->Minimize();
			return true;
		}
	}
	return false;
}

(2)全屏

.h

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

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/GameEngine.h"
#include "EngineGlobals.h"
#include "MaximizeWindow.generated.h"

/**
 * 
 */
UCLASS()
class BEIDOU_API UMaximizeWindow : public UBlueprintFunctionLibrary
{
    
    
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable)
		static bool SetWindow_Maximize();
};

.cpp

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


#include "MaximizeWindow.h"

bool UMaximizeWindow::SetWindow_Maximize()
{
    
    
	UGameEngine* gameEngine = Cast<UGameEngine>(GEngine);
	if (gameEngine)
	{
    
    
		TSharedPtr<SWindow> windowPtr = gameEngine->GameViewportWindow.Pin();
		SWindow* window = windowPtr.Get();
		if (window)
		{
    
    
			window->Maximize();
			return true;
		}
	}
	return false;
}

二、分辨率设置

1、蓝图通过执行控制台命令来实现分辨率设置:
在这里插入图片描述

r.setRes 960*720w

控制台命令说明:
窗口化 w
全屏 f
分辨率 960*720

(可以改成其他分辨率,但超出分辨率支持范围会自动忽视,支持范围具体包含哪些可以在UE5中查看。)

三、渲染设置(阴影、抗锯齿、期处理、图像质量、延时光照、贴图质量)

同上,蓝图通过执行控制台命令来实现渲染设置,具体命令如下:

(命令后加1 开启 0 关闭)

(1)阴影:

sg.ShadowQuality 0

调整阴影质量。关闭后画面变亮消耗变低。

(2)抗锯齿:

r.PostProcessAAQuality 0   

切换各种抗锯齿(TemporalAA 和 FXAA等)。

(3)后期处理:

sg.PostProcessQuality 0

开启/关闭后期滤镜。

(4)屏幕渲染图像质量:

r.ScreenPercentage 35

用于减小内部实际渲染分辨率。

(5)开启/关闭延迟光照

r.TiledDeferredShading 0

能够关闭基于 Tile 的延迟光照技术(GPU粒子的光影则没有退回方法),关闭后灯光效果下降。

(6)贴图质量:

sg.TextureQuality 3

用于切换贴图质量。

详见:

(1)其他命令参考1
(2)其他命令参考2

四、音量设置

(1)根据内容生成声音对象,并播放。
在这里插入图片描述
(2)当播放声音时执行Volume函数。
在这里插入图片描述
(3)Volume函数调用SetVolume函数
在这里插入图片描述
(4)SetVolume函数获取滑条数值更改音量大小。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35079107/article/details/126659399