Unreal Engineでウィジェットの表示サイズを変えるDPIスケールがありますが、
選択式で変更したかったのでApplicationScaleをいじる方法を試します。
ApplicationScale
ProjectSettingにApplicationScaleという項目を変更すると全体のWidgetの大きさが変わるようです。
変更する関数
以下の関数を作成します。
UTestObject.h
class PROJECTNAME_API UTestObject : public UObject
{
GENERATED_BODY()
UFUNCTION(BlueprintCallable, Category = "Test")
static void SetApplicationScale(float NewValue);
};
UTestObject.cpp
#include "Engine/UserInterfaceSettings.h"
void UTestObject::SetApplicationScale(float NewValue) {
UUserInterfaceSettings* UISettings = GetMutableDefault<UUserInterfaceSettings>(UUserInterfaceSettings::StaticClass());
if (UISettings) {
UISettings->ApplicationScale = NewValue;
}
return;
}
使用例
結果
・実行時にApplicationScale経由でウィジェットサイズを変えられます。
・ProjectSettingを実行時に変更して大丈夫なのか分かりませんが、一応パッケージ化しても動いてました。
バージョン:UE5.2.1