気ままにI/O

プログラムとかものづくりのインプット・アウトプットのためのブログ。

HoloLens開発でHoloToolkit-Unityを導入&更新しやすくする構成

HoloLensに興味があります。

もう少ししたらきっとほとんどの人がHoloLens的なデバイスを身につけて生活することになると思っています。今のスマホのように。

開発者向けとして北米ではリリースされていて、エミュレータもあるので開発環境を試してみることができます。

今のうちから勉強しようと思って、HoloLensの機能を確認するためのUnityのプロジェクトを作りました。いろいろ試してみて追加していくつもりです。

github.com

 

HoloToolkit-UnityはMicrosoftが公開しているHoloLensをUnityで扱いやすくするためのライブラリ的なものです。

導入する際は、クローンするかダウンロードして必要なファイルを自分のプロジェクトに持ってくる必要があるんですが、今後の更新や修正がやりづらそうだなーという印象だったので、簡単に導入&更新できるよう、以下のような構成にしてみました。 

  1. HoloToolkitはサブモジュールとしてRoot直下に配置する
  2. HoloToolkitをUnityPackageとしてエクスポートするバッチを作成(Tools/exportHoloToolkit.bat)
  3. Unity上から2.のバッチを実行&インポートするためのエディタスクリプトを実装(Assets/Scripts/Editor/HoloToolkitImporter.cs)

これで、Unityエディタ上のメニューからHoloToolkitをインポートできるようになりました。

 

https://raw.githubusercontent.com/wiki/KzoNag/HoloLens-Unity-Sampler/image/screenshot/ss_importholotoolkit.png

 

HoloToolkitに更新があったときは、サブモジュールを最新にしてから再度インポートをすれば変更が反映されるはずです。(未確認ですが。。。)

あと、HoloToolkitは自分でも機能追加や修正するかもしれないのでフォークしたリポジトリを追加しています。

 

インポートのところはUnityPackageにせずに普通にコピーでも大丈夫かもしれませんが、Unityでは直接ファイル操作するとmetaファイル関連で問題が起こりがちです。

なので、HoloToolkitプロジェクトからいったんパッケージをエクスポート、それをメインプロジェクトからインポート、という段階を踏むようにしています。 

Unityはコマンドで制御できたり、エディタを拡張するスクリプトを書くこともできるので、工夫するといろいろ自動化できて楽しいですね。

 

今回はHoloLensには直接関係ない準備の話でした。

いろんな機能をさわってみてまた記録に残せたらなと思います。