マルチディスプレイを使って同時に最大 8 つのモニター上にアプリケーションの異なるカメラビューを最大 8 つまで表示できます。PC ゲーム、アーケードゲーム機、パブリックディスプレイなどの設定に使用できます。
Unity は以下でマルチディスプレイをサポートしています。
一部の機能は、一部のプラットフォームでのみ動作します。互換性の詳細については、Display、Screen、FullScreenMode の各 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] は主要なデフォルトのディスプレイで、常にオンです。ですから、インデックス 1 から始まります。
// その他のディスプレイが使用可能かを確認し、それぞれをアクティブにします。
for (int i = 1; i < Display.displays.Length; i++)
{
Display.displays[i].Activate();
}
}
void Update()
{
}
}
さまざまなカメラビューをプレビューするには、以下の手順を実行します。
ゲームビューにいることを確認します。
左上隅の Display メニューからプレビューするディスプレイを選択します。
Unity は以下の UnityEngine.Display API メソッドをサポートします。
メソッド | 説明 |
---|---|
public void Activate() |
特定のモニターを、現在のモニターの幅と高さでアクティベートします。この呼出しは新しいシーンを開始するときに、一度だけ行われる必要があります。これは、新しいシーン内の Camera やダミーの GameObject に添付されたユーザースクリプトから呼び出すことが可能です。 |
public void Activate(int width, int height, int refreshRate) |
Windows のみ。カスタムの幅と高さの特定のディスプレイをアクティブにします。Linux と macOS X では、補助的なディスプレイは可能な場合は常にディスプレイの現在の解像度を使用します。 |
デフォルトでは、ユーザーのコンピューターは、コンピューターの X, Y の仮想デスクトップに基づいてディスプレイモニターの相対的な位置をソートします。アプリケーションがソートなしで表示するようにこれをオーバーライドするには、コマンドラインからアプリケーションを起動して、-multidisplay
コマンドラインフラグを使用してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.