The jonki

呼ばれて飛び出てじょじょじょじょーんき

【Unity】マルチティスプレイ環境でも快適にフルスクリーン風スタンドアロンアプリを実現する

タイトル分かりにくくてすみません、今回はUnityのアプリをマルチディスプレイ環境で実行した際のお話です(Win限定)。

Unityでビルドした.exeアプリをマルチディスプレイ環境でフルスクリーンで動かすと、もう片方のスクリーンをクリックした瞬間にアプリが最小化して隠れてしまいます。例えばデモのときなどにログを見たり、他のアプリから操作したい、ということは容易に想像できます。何か設定あるんだろう?と思い質問したところ、仕様と返ってきました…

UnityAnswers, Window is minimizing when I click other screen in dual monitor.


そのためWindows限定になりますが、ウインドウモードでアプリをフルスクリーン風に見せるハックを紹介します。方法はTTBaseのプラグインであるHideTitleBarを使って、ウインドウ最大化時のウインドウフレームを消す、という単純なものです。

準備 TTBase

ウインドウのヘッダー部分を消して表示領域を稼いでくれるアプリを入れます。

  1. まずTTBaseと呼ばれる駐屯タスク管理アプリをダウンロード。
  2. 次にHideTitleBarというTTBaseのプラグインをダウンロード
  3. hidetitle1001を解凍し、中のhidetitle.ini.txtをhidetitle.iniリネーム
  4. hidetitle1001をまるごとttb10100下ににコピー
  5. TTBase.exeを実行
  6. 試しにブラウザなどを最大化すると、確かにタイトルバーが消えています。

準備 Unity

  1. [Editor]->[Project Settings]->[Player]でPlayer Settingsを開く
  2. [Resolution and Presentation]で[Run in Background]と[Resizable Window]にチェック

実行!

Unityで.exeを出力し、ウインドウモードで実行します。これでウインドウを最大化すると見事にフルスクリーン風に見えるようになります。マルチディスプレイ環境で行っても任意のディスプレイに簡単に出せますし、他のウインドウをクリックしてもアプリが最小化することがありません。

まとめ

Windowsのハックでなんとか乗り切りましたが、やっぱり公式にサポートしてほしいなぁ。(切実)