お世話になっております。
UE5.4.4とUE5.5.4~UE5.7.1においてフルスクリーン時に解像度を変更すると異なる挙動が発生しております。
再現方法:
1.新規プロジェクトでゲームから空のプロジェクトのブランクを選択
2.プロジェクト起動後にプラットフォーム→Windows→プロジェクトでパッケージ化を行う
3.作成したパッケージを起動しフルスクリーンの状態でコンソールコマンドからr.setRes 640x360fを実行
再現結果
UE5.4.4の場合は解像度が更新され画面がフルスクリーンで拡大されます
UE5.7.1の場合は解像度が更新され画面の下側に黒枠が表示されています
備考
ディスプレイのアスペクト比は16:10
使用したコンソールコマンド:r.setRes 640x360f
指定する解像度次第で結果が異なり画面の右側が見切れる場合もあります
r.ScreenPercentageによる解像度率の変更ではなく意図した値で変更出来ることを期待します
期待する結果
UE5.7.1でもUE5.4.4と同様にフルスクリーン時に解像度を意図した値に変更した際にフルスクリーンで拡大縮小される
お手数おかけしますがご確認お願い致します。
[Attachment Removed]
再現手順
再現方法:
1.新規プロジェクトでゲームから空のプロジェクトのブランクを選択
2.プロジェクト起動後にプラットフォーム→Windows→プロジェクトでパッケージ化を行う
3.作成したパッケージを起動しフルスクリーンの状態でコンソールコマンドからr.setRes 640x360fを実行
再現結果
UE5.4.4の場合は解像度が更新され画面がフルスクリーンで拡大されます
UE5.7.1の場合は解像度が更新され画面の下側に黒枠が表示されています
備考
ディスプレイのアスペクト比は16:10
[Attachment Removed]
お世話になっております。
あけましておめでとうございます。
今年もよろしくお願いします。
また、オフィスがクローズしていたため、返事がおくれました。もうしわけありません。
最近のUEではフルスクリーン時の解像度処理においてディスプレイのアスペクト比を維持する仕様となっています。
ご使用のモニターは16:10である一方、指定されている640×360は16:9のため、フルスクリーン表示時に黒帯が表示されます。
これを回避するためにはディスプレイのアスペクト比に合った解像度をご指定ください。例としては以下の設定が考えられます。たとえば、
r.SetRes640x400f
またDirectX/GLのバージョン、またドライバーやプラットフォームによって異なることがありますが、WindowedFullscreenでは解像度変更が正しく反映されない、もしくは制限される場合があります。解像度を変更する前にアプリケーションがExclusiveFullscreenで動作していることをご確認ください。以下のコマンドで強制的に切り替えることができます。
r.FullScreenMode0
r.SetRes640x400f
Fullscreenの挙動にかんしては、こちらのリンクが参考になるかと思います。
https://forums.unrealengine.com/t/windowed-fullscreen-mode/2067416
お手数ですが、よろしくお願いします。
[Attachment Removed]
お世話になっております。
ご返答ありがとうございます。
最近のUEではフルスクリーン時の解像度処理においてディスプレイのアスペクト比を維持する仕様となっていることについて承知いたしました。
試しに以下の設定で試してみましたが
画面の下側に黒帯は残っている状態で改善はされておりません。
r.FullScreenMode 0
r.SetRes 640x400f
モニターのディスプレイ設定の一覧にある解像度を入れた場合は黒帯が発生せずに表示されていることを確認しております。
800x600
1024x768
1280x800
1280x960
1920x1200(推奨)など
最初の内容に戻ってしまうのですがUE5.7.1においてUE5.4.4と同じ結果を再現することは可能でしょうか。
ご確認お願い致します。
[Attachment Removed]
お世話になっております。
担当者と確認しますが、
おそらく今の行動は仕様通りで、
UE5.4.4の挙動に合わせることをエンジン改善せず難しいと思います。
確認中のため、
しばらくいお待ちください。
[Attachment Removed]
お世話になっております。
ご相談の結果、以前の挙動に戻す場合は、RHI側での変更が必要であることが分かりました。
単一のCLをマージして対応できる内容ではなく、相応の作業量になる見込みですが、まずはスタート地点として、以下の関数についてご確認いただければと考えております。
- RHIGetAvailableResolutions()
- UKismetSystemLibrary::GetSupportedFullscreenResolutions()
改めてのご説明となりますが、現在の挙動自体は仕様どおりの通常の動作であり、どちらかといえばRHIを変更せず、現状のままとすることが推奨されます。
ご期待に沿えず申し訳ありません。
もし他の形でお役に立てることがありましたら、お知らせください。
お手数をおかけしますが、何卒よろしくお願いいたします。
[Attachment Removed]
お世話になっております。
ご返答ありがとうございます。
一旦はRHI側を見ながら対応を検討しようと思います。
また現状のままを推奨することも承知いたしました。
ご確認ありがとうございました。
[Attachment Removed]