Unity4.1の新機能 - UnityEngine.Display
これはiOSのAirPlayで動く
どんなことが出来るの?
このクラスは全てのディスプレイ情報を取得出来ます。
つまりマルチディスプレイにしていたらその分のディスプレイ情報が取得できる。
一般的な使い方は複数のカメラを使ってディスプレイごとに違うカメラを使う
これはMacアプリのReflectionを使ってAirPlayで表示したもの。
ちゃんとディスプレイごとに違うカメラを使ってレンダリングが出来てる。
サンプル
ちょっとわかりにくいけどカメラが別々の場所にある
using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public Camera secondCamera; //2つめのカメラ void Start () { //1つめのカメラ(メインカメラ)はメインディスプレイに映るよう設定 Camera.main.SetTargetBuffers (Display.main.colorBuffer, Display.main.depthBuffer); secondCamera.enabled = false; } void Update () { secondCamera.enabled = Display.displays.Length > 1; //マルチディスプレイじゃなかったらfalse if (Display.displays.Length > 1) { Display secondaryDisplay = Display.displays [1]; secondCamera.SetTargetBuffers (secondaryDisplay.colorBuffer, secondaryDisplay.depthBuffer); secondaryDisplay.SetRenderingResolution (Display.main.renderingWidth, Display.main.renderingHeight); // Resolutionはメインと一緒にする(必須じゃないよ) } } }