テラシュールブログ

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

NGUIのカメラでスクロールを実装する

何故かカメラを用いたスクロールの記事が無いので、メモ。

スクロールのデモ
http://bit.ly/OKX5Eh

スクリーンショット 2012-08-07 0.17.45

ちなみにカリングを用いたスクロールは下のページで分かりやすく説明してる。

NGUIを使ったスクロールパネル(万年素人からGeekへの道)
http://d.hatena.ne.jp/shinriyo/20120619/p4

NGUIでスクロールを実現するには(Unity3Dのプラグインによる開発)
http://unity3dplugin.blogspot.jp/2012/07/ngui_29.html

カメラを2つ使って実装する場合、ピクセルシェーダーを使わないので高速らしい。
ただし、ちょっと問題もあるらしい。

8.Scrollビュー(2番目のカメラ)(NGUI-日本語ドキュメント)
https://github.com/shinriyo/NGUI-japanese-document/blob/master/source/chapter8.rst

■カメラDEスクロールの設定方法

設定方法はちょっとややこしいケド、難しくはない。

1.セカンダリカメラを作成して、UIViewPortで位置を調整する
2.タッチでスクロールさせたい範囲に[Box Collider]を作成
3.2.で作った[Box Collider]に[UIDrag Camera]をアタッチ
  [Draggable Camera]はセカンダリカメラを指定
4.セカンダリカメラに[UIDraggable Camera]をアタッチ

これだけ。

[Unity3D][NGUI]セカンダリカメラの位置を表示位置を調整する
http://terasur.blog.fc2.com/blog-entry-195.html

スクリーンショット 2012-08-07 0.06.25
範囲にコライダーを配置する的な。

ちなみにUIDraggable CameraのScaleを0に設定すると、
その方向にスクロールしなくなるみたい。
スクロールの範囲は、スプライトの大きさを見てNGUIが設定してくれる。