Torus Solutions 改

Ello 2020-05-13T04:27:58.390Z

#UE4 で Blueprint を使ってグラフィック設定を保存するには、Game User Settings オブジェクトを使う。これは、Get User Settings という関数を使って取得できる。

たとえば解像度を変更するには SetResolutionScaleValue というメソッドを使う。これは最大の解像度を 100 として、何 % の解像度に設定したいかを指定する。たとえばこれに 50 を設定して保存すると、設定ファルには下のように記録される。

sg.ResolutionQuality=50.000000

新しい設定を適用してファイルに保存するには Apply Settings メソッドを呼ぶ。Blueprint だと下のようになる。

設定の内容は GameUserSettings.ini というファイルに保存される。このファイルは Mac だと ~/Library/Preferences/[ゲーム名]/MacNoEditor/ の下に作られる。

Game User Settings の概要は UGameUserSettings のリファレンスをみるとだいたい分かるけど、Blueprint 上の関数名と C++ の関数名が微妙に違うことがあるので、ヘッダファイルを見て確認すると確実です。UE4 インストールディレクトリの中の次のファイルがこれに相当する:

Engine/Source/Runtime/Engine/Classes/GameFramework/GameUserSettings.h

たとえば、上記の SetResolutionScaleValue は次のように宣言されている:

	// Sets the current resolution scale
	UFUNCTION(BlueprintCallable, Category=Settings, meta=(DisplayName="SetResolutionScaleValue"))
	void SetResolutionScaleValueEx(float NewScaleValue);

注意

解像度の変更をエディタの PIE 上で実行すると UE4 がまるごとハングアップしてしまったので、試すときは Standalone Game かパッケージを作る必要がありそう。