UE4 ウィンドウサイズを変えずに解像度を変更する(Set Screen Resolution、Set Resolution Scale Value、Set Resolution Scale Normalized)

0 0
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲーム中に解像度を変更する方法です。
こちらを参考に。

・UE4 GameUserSettingsを使ってウィンドウモードなどを設定する
http://unrealengine.hatenablog.com/entry/2016/08/22/220000

解像度の設定に「Game User Settings」を使います。

・Game User Settings を使った設定と保存(Get Game User Settings、Apply Settings)
http://kagring.blog.fc2.com/blog-entry-231.html

この「Game User Settings」に対して「Set Resolution Scale Normalized」で
解像度スケールをかけてやります。
GameeUserSettomgs004.jpg
余計なノード混ざってますがこんな感じですね。

GameeUserSettomgs002.jpg
「Set Resolution Scale Normalized」は解像度のスケールを「0.0-1.0」の間で設定します。
「New Scale Normalized」には0.0から1.0の値を指定します。

これだけで、もとのこの画面が
SetResolutionScaleValue001.jpg
スケールを小さくするとこんな感じに解像度が低くなります。
SetResolutionScaleValue000.jpg

リアルタイムでこういった処理をやる場合は、処理負荷が大きかったりするときなのですかね。
ちなみに、この解像度変更はウィンドウのサイズは変わりませんので注意してください。

あとは「Set Resolution Scale Normalized」以外にもこういったノードがあります。

解像度のスケールを「0.0から100.0」で指定する「Set Resolution Scale Value」ノード。
SetResolutionScaleValue003.jpg
「New Scale Normalized」には0.0から100.0の値を指定します。

解像度を直接指定する「Set Screen Resolution」
SetResolutionScaleValue002.jpg
「Resolution」には縦横の解像度の値を入れます。

alwei さんのブログに書いてあるのですが、

これが結構ハマりやすいところで、"SetResolutionScaleValue"を使って値を設定すると、
設定値通りにいかないことがあります。
どうやらこの値はWindowサイズによって上限値と下限値が決められているらしく、
単純に値を設定してそれ通りに設定されないことがあります。

この場合、"Set Screen Resolution Nomalized"を使用すると、
正しく正規化された値を0から1の間で設定可能で、
例えば「解像度を25%まで落としたい」という場合に"0.25"という値を設定すれば正常に適用できます。
下手に"SetResolutionScaleValue"を利用すると下限値の設定に引っかかりやすいので、
"Set Screen Resolution Nomalized"を利用してください。


といったことがあるっぽいので注意が必要そうです。
ページトップ