Posted at

Unity 2017.4.1f1 と Mac でマルチディスプレイ実行

More than 1 year has passed since last update.


やりたいこと


検証環境


  • Unity 2017.4.1f1

  • Mac High Sierra ver 10.13.4

  • HDMI接続したモニター1枚


設定


ディスプレイのActivate

実行開始時にDisplay.Activateされるよう、以下で紹介されているコードを書いて、

適当なオブジェクトにアタッチしておく(マニュアルではデフォルトカメラにつけると紹介されている)

マルチディスプレイ - Unity マニュアル

以下、上記より引用


void Start()
{
Debug.Log("displays connected: " + Display.displays.Length);
// Display.displays[0] は主要デフォルトディスプレイで、常に ON。
// 追加ディスプレイが可能かを確認し、それぞれをアクティベートします。
if (Display.displays.Length > 1)
Display.displays[1].Activate();
if (Display.displays.Length > 2)
Display.displays[2].Activate();
...
}


Player 設定


  1. File > Build Setting > Player Setting > Setting for PC, Mac & Linux Standalone > Other Settings > Rendering > Auto Graphics API for Mac のチェックをはずす

  2. Graphics APIs for Mac 欄の順序で OpenGLCore が一番上にくるようにリストを操作する

参考URL :

Multi-Display Support (Unity 5.3 Mac) - Unity Answers


build


注意点

1番モニター、2番モニター…とあった時に


  • 1番モニターとなる画面上で実行する


    • Unityの画面あるいはfinderの画面を1番モニターの画面上に配置して実行する

    • 2番モニターの画面上で実行すると、2番モニターに1番モニターの内容が表示されて1番モニターが仕事をサボることになる



  • 全画面表示で実行する。Windowedにチェックした状態で実行しても上手くいかなかった


ログの確認

buildして実行している間、Debug.Logの内容は Mac では ~/Library/Logs/Unity/Player.log に記録される。

上記で引用したActivate用のコードを走らせると、ディスプレイの数がカウントされて印字されているはずなので、確認しておく。

ログファイル - Unity マニュアル