テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

セカンダリカメラの位置を表示位置を調整する

NGUIでスクロールビューを実現するための第一歩。
まずはセカンダリカメラを制御して、スクロール可能なビューを準備する。

スクリーンショット 2012-07-01 23.41.17

[Unity3D]複数のカメラを使ってみる
http://terasur.blog.fc2.com/blog-entry-153.html

デモ
http://bit.ly/Lq3R0G

■NGUI流・セカンダリビュー制御

基本的にカメラの位置は、CameraのNormalized View Port Rectで制御出来る。
ただし、この方法だと画面に対するXの比率とYの比率で大きさを制御する必要がある。

これは面倒臭いので、
NGUIの[UIViewport]を使ってX座標とY座標で制御する。
この方法だとViewPortの比率が変わってもちゃんと調整してくれる。
比率が変わらないので変な余白が表示される心配もない!

■UIViewportの使い方

前提条件として、MainCameraがある事。

1.新しくCameraを用意し、CameraのDepthにMainCameraより大きい値を設定
  新しいカメラは[HoleCamera]と命名
2.[HoleCamera]に[UiViewport]を登録
3.[MainCamera]から見える位置に、View左上座標のGameObjectと、
  右下座標のGameObjectを配置。名前はそれぞれ[TL]と[BR]。
4.[HoleCamera]の[UiViewPort]に以下の項目を設定
   ・[SourceCamera]に[MainCamera]をD&D
   ・[TopLeft]に[TL]をD&D
   ・[BottomRight]に[BR]をD&D

これで、TLとBRの間にViewPortが設定される。

TLとBRを動かせばビューポートの大きさを制御できるので、カットインとかにも使えるかも。