Version: 2018.4
言語: 日本語
スタンドアロンプラットフォームの Player 設定
macOS

マルチディスプレイ

マルチディスプレイを使用すると、最高で8つの(アプリケーションの)カメラビューを、最高8つのモニタに同時に表示できます。これは PC ゲーム、アーケードゲーム機、パブリックなディスプレイでの簡単なインスタレーションなどに使用できます。

マルチディスプレイはスタンドアロンモードのみで機能します。また、Windows、Mac、Linux でサポートされます。

プロジェクト内でのマルチディスプレイのプレビュー

異なるモニタディスプレイを確認するには

それぞれの カメラ__を、インスペクター__ を使用して、特定のモニタに表示されるように設定します。 Target Display のオプション ( 図1 ) で、1~8 のディスプレイモニタを割り当てることが可能です。

図1: Camera Inspector の Target Display オプション
図1: Camera Inspector の Target Display オプション

Game ビューの上部左端の Display ドロップダウンメニューを使って ( 図 2 参照)、Game ビューで各ディスプレイをプレビューできます。

図2: Game ビュー の左上の Display プレビュー
図2: Game ビュー の左上の Display プレビュー

マルチディスプレイをアクティブにする

デフォルトのディスプレイは単独モニタになっているため、アプリケーションを実行する際に、追加のディスプレイをスクリプトで Display.Activate を使用してアクティベートする必要があります。それぞれ追加ディスプレイをアクティベートする必要があり、一度アクティベートしたら、ディアクティベートすることはできません。

追加ディスプレイのアクティベートは、新しいシーンを作成するときに行うのが最適です。これを行うには、デフォルトカメラにスクリプトコンポーネントを添付します。 Display.Activate は、起動時に一度だけ呼び出すようにしてください。それをテストする小さな最初のシーンを作成するのもよい方法かもしれません。

参考スクリプト

using UnityEngine;
using System.Collections;

public class DisplayScript : MonoBehaviour
{
    // イニシャライゼ―ションに使用
    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();
        ...
    }
    // Update がフレームごとに1 回呼び出されます
    void Update()
    {

    }
}

対応 API

以下の UnityEngine.Display API 機能に対応しています。

    public void Activate()

特定のモニタを、現在のモニタ幅・高さでアクティベートします。この呼出しは新しいシーンを開始するときに、一度だけ行われる必要があります。 これは、新しいシーン内の Camera やダミーの GameObject に添付されたユーザースクリプトから呼び出すことが可能です。

public void Activate(int width, int height, int refreshRate)

Windows のみ - 特定のディスプレイを、カスタムのモニター幅と高さでアクティベートします。

モニターディスプレイの位置を制御する

デフォルトでは、ユーザーのコンピューターは、コンピューターの X・Y の仮想デスクトップに基づいてディスプレイモニタの相対的な位置をソートします。アプリケーションがソートなしで表示するようにこれをオーバーライドするには、コマンドラインからアプリケーションを起動して下記のコマンドラインフラグを使用してください。

-multidisplay

スタンドアロンプラットフォームの Player 設定
macOS