【UE4】パッケージ化した後のexeの解像度を指定する方法

補足

本記事は過去(2015-03-04)にブロマガで書いた記事の移植です。

はじめに

やったよ記事2個めだよ続いたよ!

今回は自分がやっとゲームが粗方完成して、

パッケージ化してみた時に出会った問題を記事にしてみました。

パッケージ化の際の解像度は

エディタ側では指定できない


エディタ内でプレイする際は解像度を指定する項目があるのですが、

パッケージ化の際に起動するexeの解像度を指定することは出来ません。

割りと困った問題です・・・







スクショではわかりませんが、そのまま起動すると解像度が1600*900で起動してしまいます。

でかすぎますね・・・



方法は2つあります。

  • configファイルを編集する

  • 起動の際にコマンドでオプションを付ける


です。

今回は後者の「起動の際にコマンドでオプションを付ける」の方を解説します。

というのも、configファイルはディレクトリの奥の方にあり、いろいろ記述が大変なのです。

あと自分がUE4.7になってからそのconfigファイルの場所がわからなくなったからというのもあったりします・・・サーセン

コマンドラインから実行してみる








コマンドについては公式のドキュメントを参照しました。

https://docs.unrealengine.com/latest/JPN/Programming/Basics/CommandLineArguments/index.html







サークル内発表会に向けて作っていた作品ですね(

スクショではわかりませんがこれで指定した解像度 (ついでにFPS)での起動ができました。

でもいちいちコマンドラインから実行するわけにはいきませんよね・・・



そこでショートカットを利用して起動してみようと思います。

ショートカットを作る








ここでexeを右クリックしてショートカットを作成します。







できました。そしてこの出来たショートカットを右クリックしてプロパティを開きます。







ここのリンク先と作業フォルダを編集します。



目的としては相対パスからコマンドラインでexeをオプション付きで起動する

というものになります。



なのでまず作業フォルダを空欄にし、リンク先を



%windir%\system32\cmd.exe /c start "%cd%" "実行するやつ.exe" -ResX=水平解像度 -ResY=垂直像度 -FPS=動作FPS



(例)


%windir%\system32\cmd.exe /c start "%cd%" "Tower_defense_FPS.exe" -ResX=1024 -ResY=576 -FPS=60




とします。



終わったら適応をして起動してみましょう。







これでちゃんと解像度が変わっていれば成功です。

おわりに


要するにパッケージ化後の解像度変更に一手間いるみたいですね、

こればっかりは仕様ですのでしょうがないらしいですね・・・

AnswerHubを見る限りではconfigファイルで解像度を変更する方法は多く見たのですが、

このコマンドから変更する方法は見かけなかったので記事にしてみました。

(15-03-04_16:14 追記)

サムネとタグ付け忘れたのを修正



(15-03-05_15:36 追記)

-FPS=オプションをつけてもFPSが変更できないことが判明。

逆にFPSはエディタ側で指定してあげる必要があるっぽいです。

タイトル画面のレベルブループリントで「ExcuteConsoleCommand」ノードを呼んであげて、

「t.MaxFPS ??」(??は60とか30とか)

と記述してあげてください。

そしてなんとなんとExcuteConsoleCommandノードを使えば解像度もエディタ側で指定出来ちゃうそうです。

「r.SetRes ????x????f」(?にお好きな解像度、最後のfを忘れずに)

と記述すればおkらしいです・・・ナンテコッタイ



でもまあ何らかの事情で設定画面作れなかった場合とかは、

このコンソールからオプションで設定するのもアリなんじゃないかな(半泣き



(16-01-10_21:37 追記)

考えてみれば後半部分はパッケージ前にやることなので

本記事の「パッケージ後~」とはそぐわないので一応棒線引きました。

ちなみに「r.SetRes ????x????f」のfを除くとウィンドウ、つけるとフルスクリーンになるっぽいです。