この記事は Unity Assets Advent Calendar 2016 2日目の記事になります。
HoloLensは視野角が狭いため、Holoを出しても『アレどこ行った?』となっちゃったりします。
そのためVR以上に対象の位置を示すガイド表示が重要となり、HoloLensのUnity開発便利集のHoloToolkitにも注視カーソルの付近に矢印で方向を示すDirectionIndicatorというスクリプトが用意されていたりします。
Off Screen Indicator
HoloToolkitで用意されているDirectionIndicatorと比較すると、DirectionIndicatorでは追跡対象のオブジェクトにアタッチして使うのに対し、Off Screen Indicatorは管理用のゲームオブジェクトがシーンに1つあり、それにアタッチされているスクリプトに追跡対象を追加していくような感じになっています。
HoloToolkitのDirectionIndicator.csスクリプトの使い方
参考 Holograms 210 Chapter 4 – Directional indicator
1. 例としてHoloToolkitに含まれる HoloToolkit\Input\Tests\Cursor.unity シーンを使用
2. 肝心の矢印のモデルデータがHoloToolkitに含まれていないため、Holograms 210 にあるProject files https://github.com/Microsoft/HolographicAcademy/archive/Holograms-210-Gaze.zip を入手。DirectionalIndicator.prefabが含まれているHologramsフォルダごと自分のプロジェクトにインポート。
3. あとは上の画像のように追跡したいオブジェクトにDirectionIndicator.csをアタッチしてそれぞれの変数を設定。
DirectionIndicatorでできるカスタマイズ
Direction Indicator: カーソルのオブジェクト
Direction Indicator Color: カーソルの色
Visibility Safe Factor: Allowable percentage inside the holographic frame to continue to show a directional indicator.
Meters From Cursor: Multiplier to decrease the distance from the cursor center an object is rendered to keep it in view.
ただ、スクリプトの内容がシンプルなので、自分でカスタマイズ、例えば距離に応じて表示を変えたりといったことも容易にできるToolkitらしい良質なサンプル。
Off Screen Indicatorの使い方
1. 例としてHoloToolkitに含まれる HoloToolkit\Input\Tests\Cursor.unity シーンを使用
2. Managersオブジェクトに\OffScreenIndicator\Scripts\OffScreenIndicator.csをアタッチ。OffScreenIndicator\DemoScenes\FPSVRTest.unityのLogicオブジェクトを参考に次のように設定
Off Screen IndicatorかHoloToolkitのDirectionIndicatorの違いは管理の考え方。前者はマネージャオブジェクトで集中管理して、後者は追跡したいオブジェクトに処理を持たせる。
どちらを使うかは作るモノによりけり。目的にあったほうを選ぼう。
Unity Assets Advent Calendar 2016 記事一覧へ
HoloLensオススメ周辺機器
ゆーじさんのほしい物リスト
http://www.amazon.co.jp/registry/wishlist/1PVLXLR7OIEG1/