マルチディスプレイを使用して同時に最大 8 つのモニター上にアプリケーションの異なるカメラビューを最大 8 つまで表示できます。PC ゲーム、アーケードゲーム機、パブリックディスプレイなどの設定に使用できます。
Unity は以下でマルチディスプレイをサポートしています。
一部の機能は、一部のプラットフォームでのみ動作します。互換性の詳細については、ディスプレイ、画面、およびフルスクリーンモードの API を参照してください。
Unity のデフォルトのディスプレイモードは 1 つのモニターのみです。アプリケーションを実行するときは、Display.Activate() を使用して明示的に追加のディスプレイをアクティブにする必要があります。いったんディスプレイをアクティブにすると、非アクティブにすることはできません。
追加のディスプレイをアクティブにする最適なタイミングは、アプリケーションが新しいシーンを作成するときです。これを行うには、デフォルトカメラにスクリプトコンポーネントを添付します。起動時に Display.Activate() を 1 回のみ呼び出すようにしてください。スクリプトをテストするための小さな初期シーンを作成すると便利な場合があります。
using UnityEngine;
using System.Collections;
public class ActivateAllDisplays : MonoBehaviour
{
void Start ()
{
Debug.Log ("displays connected: " + Display.displays.Length);
// Display.displays[0] is the primary, default display and is always ON, so start at index 1.
// Check if additional displays are available and activate each.
for (int i = 1; i < Display.displays.Length; i++)
{
Display.displays[i].Activate();
}
}
void Update()
{
}
}
さまざまなカメラビューをプレビューするには、以下の手順を実行します。
ゲームビューが表示されていることを確認します。
左上隅の Display メニューから、プレビューする_ディスプレイ_を選択します。
Unity は以下の UnityEngine.Display API メソッドをサポートします。
| 方法 | 説明 |
|---|---|
public void Activate() |
特定のモニターを、現在のモニターの幅と高さでアクティベートします。この呼び出しは新しいシーンを開始するときに、1 回行われる必要があります。これは、新しいシーン内の Camera やダミーの GameObject に添付されたユーザースクリプトから呼び出すことが可能です。 |
public void Activate(int width, int height, int refreshRate) |
Windows のみ。カスタムの幅と高さの特定のディスプレイをアクティブにします。Linux と macOS X では、補助的なディスプレイは可能な場合は常にディスプレイの現在の解像度を使用します。 |