【未解決】 HoloLens で Unity の Button を表示してみる
※ これは 2016/05/21 Unity HoloLens Technical Preview ver.5.4.0beta14(Windows版) 時点の情報です
最新版では動作が異なる可能性がありますのでご注意ください
VR アプリにの UI について、とりあえず Button を表示するとどうなるか試してみます
まずはさくっと下記のような感じで uGUI の Canvas と Button を配置しました
Canvas は UI コンポーネントを配置するための平面なのですが、普通に設定してしまうといろいろ問題があるのでいくつか設定を変更しました
- Layer は UI に変更
- Scale を 0.01 に変更
- Render Mode を「World Space」に変更
- Reference Pixels Per Unit を 1 に変更
この中で一番重要なのは Render Mode で、通常は Screen Space - Overlay(画面にフィットするように Canvas を重ねて表示)にすることが多いです
HoloLens では視点の位置がクリック地点になるので、視野(画面)に UI が重なるとどうやってもクリック地点を移動できなくなるのでこれはまずいです
そこでこれを World Space に変更して、視野(画面)に追従して Canvas が重ね合うことのないようにしました
あとは World Space にすると画面に合わせて UI がスケーリングされなくなるので、視野に対して適度な大きさ・解像度になるように Canvas の Scale を小さくしたり、1 Unit(1m)あたりのピクセル数を 1 px にして高解像度にするようにしました
これでどうなるかな~っと UWP をビルドして HoloLens エミュレーターで実行してみました
視点を Button に合わせて右クリックしても・・・押せませんでした
Unity の uGUI Button はそのまま使っても HoloLens では使えなさそうですね
・・・そもそも Button のクリックという形はちょっと問題あるかも?