読者です 読者をやめる 読者になる 読者になる

しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

【未解決】 HoloLens で Unity の Button を表示してみる

C# HoloLens Windows 10 Windows ランタイムアプリ VR UWP Unity

※ これは 2016/05/21 Unity HoloLens Technical Preview ver.5.4.0beta14(Windows版) 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

VR アプリにの UI について、とりあえず Button を表示するとどうなるか試してみます

まずはさくっと下記のような感じで uGUI の Canvas と Button を配置しました

f:id:matatabi_ux:20160521051033p:plain

Canvas は UI コンポーネントを配置するための平面なのですが、普通に設定してしまうといろいろ問題があるのでいくつか設定を変更しました

f:id:matatabi_ux:20160521051216p:plain

  • 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 エミュレーターで実行してみました

f:id:matatabi_ux:20160521052641g:plain

視点を Button に合わせて右クリックしても・・・押せませんでした

Unity の uGUI Button はそのまま使っても HoloLens では使えなさそうですね

・・・そもそも Button のクリックという形はちょっと問題あるかも?