ウラデブ

AR、MR、プログラミングとかとか・・・

初めてのHoloLens開発 〜 樽から猫にゃん

ども、ウラさんです。
んでは、HoloLens開発をやってみよーっ!

完成品はこちら。

f:id:urasansan:20170301133037j:plain

樽からネコにゃんを出します。(なぜ?)

 

 んでは、環境構築から。
HoloLens開発の情報は結構あるので助かります。
ただ、バージョンが違ったりで既に古くなっている情報も多々あるので軽く書いときます。
ここの情報も直ぐに古くなっちゃう可能性も大ですがね・・・

 

ちなみに、「Windows10 Home」でやってます。
HomeだとHoloLensエミュが動かないのですが実機があるので問題なしです。

 

先ずは、「Visual Studio 2015 」をさくっと入れましょう。
VSが入ったら一度HoloLensで動く物を作るのが良いでしょう。
この段階で躓いてるとこの後のUnity入れてとかでどこが悪いのか分からなくなっちゃうので・・・

VSを起動して、新規プロジェクト作成で「空白のアプリ (ユニバーサル Windows)」を選択。
C++でもC#でもなんでもOK
出来たらビルドして、HoloLensで動かして完成ですっ!
コードなんて一切書かなくて良いです。
マウスでポチポチやれば良いです。
HoloLensはUWPアプリ(ストアアプリ)がそのまま動くので、HoloLens用に何もしなくて良いのです。
VSとHoloLensのペアリングだけすれば良いだけ。

この段階でうまく行かない場合は、VSのインストールオプションが間違ってるとかだと思うよ。(適当)

 

HoloLensでUWPアプリ動かしてもしゃーないので、ちゃんとHoloLensアプリ作りましょ。
って事で「Unity」入れます。
現時点で最新の「Unity 5.5.1f1」を入れました。
インストール途中なぜかエラーがでました・・・
UWPビルド関連のインストールに失敗してるみたい。(署名無しかな?)

とりあえず、続行してUnityのインストールを完了させて。
UnitySetup-Metro-Support-for-Editor-5.5.1f1.exe」を後から入れました。
なんだろ、他の人は平気なのかしら・・・?
無事にUnityが入ったら、「HoloToolkit-Unity」をここからダウンロードして解凍しときましょ。


Unityで新規プロジェクト作成して、HoloToolkit-Unityの「Assets」の中身をぶち込みます。

f:id:urasansan:20170301140313j:plain
「HoloToolkit-Examples」はいらないよ。



HoloToolkit-Unityがガンガン更新されてるようで、ここからの手順は色々と情報があったのですが、2016年3月1日の段階では以下方法で良いみたい。

f:id:urasansan:20170301141113j:plain

まず、HoloLens用の設定をしちゃいます。
「HoloToolkit」→「Configure」→「Apply Hololens Project Settings」
を開いて、「Apply」をポチっと。
Unityを再起動するぜーって聞いてくるので、再起動。

再起動したら。
「HoloToolkit」→「Configure」→「Apply Hololens Scene Settings」
を開いて、「Apply」をポチっと。

これで、設定は完了するみたい、かなり楽。

 


ゴリゴリ作る前にちゃんと動く環境か確認。
最初からシーンにある、「Main Camera」と「Directional Light」を削除。

f:id:urasansan:20170301142057j:plain

HoloToolkitの「HoloLensCamera」プレハブをシーンへ追加。

 

f:id:urasansan:20170301142158j:plain

HoloToolkitの「SpatiaMapping」プレハブをシーンへ追加。

 

「HoloToolkit」→「Build Windows」を開いて。
「Build Visual Studio SLN」をポチ。

f:id:urasansan:20170301142557j:plain

 

ビルドが終わったら、Visual Studioで開いてUWPアプリと同じように実機で実行。
メッシュが現れれば環境構築は成功って事で。
HoloToolkitですげー簡単に作れるっ!

 

無事動く事が分かったので、イベント取得しましょ。
エアタップが取れないと何も始まらないのでね。

f:id:urasansan:20170301144332j:plain
HoloToolkitの「InputManager」プレハブをシーンへ追加。

 

f:id:urasansan:20170301144402j:plain
HoloToolkitの「Cursor」プレハブをシーンへ追加。

スクリプトを書くので、「AirTap.cs」を作成。

using HoloToolkit.Unity.InputModule;
using追加して。

IInputClickHandler
ハンドラー追加して。

public void OnInputClicked(InputClickedEventData eventData)
こいつが、エアタップされたら呼ばれる。

 
gameObject.AddComponent<Rigidbody>();
こんなのをOnInputClickedに書けば、エアタップでオブジェクトに重力が適用される。

f:id:urasansan:20170301150907j:plain
アセットストアで拾ってきた無料の樽にスクリプト追加。


f:id:urasansan:20170301150943j:plain
メッシュが出来てから、樽をエアタップすれば地面にボコンって落ちてきますよ。


メッシュが邪魔なので

f:id:urasansan:20170301151148j:plain「Draw Visual Meshes」を切っとく。

イベント取得出来たのであとはUnityの知識ですな・・・
エアタップで樽からネコちゃんが飛び出すスクリプトをがんばって書けば良いだけです。
結構苦労したけど・・・

 


って事で、動いてるのはこんな感じ。

 

 

あら、かわいいっ!
HoloToolkitのおかげでかなり簡単に作れました。
すでにUnityゴリゴリな方なら大した苦労も無くHoloLensアプリは作れるでしょう。

ちなみに、「Hlographic Remoting」が便利なのでぜひっ!

f:id:urasansan:20170301154937j:plain
使い方はググる先生が教えてくれます・・・

 

さーて、Unityをちゃんとやるかなぁーっ!
では、またっ!