今更ながらHoloGiraffeのクローンアプリ作成にチャレンジしてみた

79b9a8029917899ff5f083d6ba366d77?s=47 ZuQ9Nn
July 20, 2018

 今更ながらHoloGiraffeのクローンアプリ作成にチャレンジしてみた

2018/07/21 札幌HoloLens ミートアップ Vol.2 ~夏編~のLT資料

79b9a8029917899ff5f083d6ba366d77?s=128

ZuQ9Nn

July 20, 2018
Tweet

Transcript

  1. 今更ながらHoloGiraffe のクローンアプリ作成に チャレンジしてみた 札幌HoloLens ミートアップ Vol.2 ~夏編~ 2018/07/21 ZuQ9Nn(ずきゅ~ん)

  2. 自己紹介 • ZuQ9Nn(ずきゅ~ん) • Objective-CでiOSのツール系アプリ開発→2018/08か らUnityエンジニアに • 今のところHoloLensとUnityは趣味開発 • HoloLens参考書読書会で登壇したりしてました。

    • Unity認定技術者試験合格
  3. HoloGiraffeのPV

  4. HoloGiraffeとは • Windows Storeにリリース済みのHoloLens専用アプリ (https://www.microsoft.com/ja-jp/p/hologiraffe/9n1n2gd n1cl6) • HoloLensを使って、どこでもキリンを召喚できるアプリ (http://vird.co.jp/product/hologiraffe/)

  5. HoloGiraffeの仕様 • Spatial Mappingで部屋のスキャン後、床のみAir Tapできる • 床にAir Tapでキリン召喚 • 召喚中はAir

    Tapしてもなにも起きない • キリンが天井にぶつかると天井を破壊し穴をあける • 召喚完了後も、床のみAir Tapできる • 召喚後のAir Tapで、すでに召喚済みのキリンが徐々にきえ て新たなキリンが召喚される
  6. かなりなんちゃってですが再現してみたのでと りあえず、見てください

  7. オリジナルとの違い • キリンじゃなくユニティーちゃんを利用 • ワープのアニメーションはMixedRealityToolkitのシェー ダーとスクリプトを利用 • 天井の穴はCubeとQuadの組み合わせで自作

  8. 今回の開発環境 • Visual Studio 2017(15.7.5) • Unity 2018.1.1.6f1 • MixedRealtyToolkit-Unity

    2017.4.0.0(HoloToolkit-Unity-2017.4.0.0.unitypackage)
  9. 作るときのポイント1 (実際にこの作りかは不 明ですが、僕なりの再現方法) • SurfaceMeshesToPlanes.cs(HoloToolkit > SpatialMapping > Scripts >

    SpatialProcessing)を利用し て壁、床、天井を生成 (SurfaceMeshesToPlanes.Instance.MakePlanes) • UpdateメソッドでRayを投げてSurfacePlaneの PlaneTypesで床を判断
  10. 作るときのポイント2 (実際にこの作りかは不 明ですが、作成者本人の資料から推測) • 召喚するキリンは、生成済みで描画のみを制御? • つまりInstantiateではなくclipのアニメーション制御のみ? • https://www.slideshare.net/noshipu/unityhololens

  11. ワープアニメーションについて • 今回はMixedRealityToolkit/Standardシェーダー (HoloToolkit > common > Shaders)と ClipPlanes.cs(HoloToolkit >

    Common > Scripts)を利用
  12. ワープアニメーションについて • Planeの子供にユニティ ちゃんのモデル • ユニティちゃんのモデ ルの子供にClipPlaneと いう名のEmpty Object •

    ClipPlaneのY座標を移 動させることでアニメー ション実行
  13. ワープアニメーションについて • ユニティちゃんのマテリ アルのShaderを MixedRealityToolkit/Sta ndardに • Cull ModeをOffに •

    Clipping Planeにチェック
  14. ワープアニメーションについて • ClipPlaneのEmpty ObjectにはClipPlane.cs をアタッチ • Renderにユニティちゃん の全てのマテリアルのつ いたオブジェクトを指定

  15. Colliderに注意 • ユニティちゃ全体にRigidbodyとBox Colliderをつけて、 そのColliderと天井がぶつかった時に判定してしまう と、表示のアニメーションが終わる前に、天井にあっ たって穴が開いてしまう。 • 今回はユニティちゃんの子供にClipPlaneという名の EmptyObjectを作り、そちらに、RigidbodyとBox

    Colliderを追加しています。
  16. 天井の穴について • 凹みTips 2017/02/18 HoloLensで向こう側が見える窓 を動的に追加してみる (http://tips.hecomi.com/entry/2017/02/18/190949) • hecomi/HoloLensPlaygroundの v0.0.2(https://github.com/hecomi/HoloLensPlaygrou

    nd/releases/tag/v0.0.2)にあるSkyboxのモデル、 HoloLens/MaskedSky、HoloLens/Windowシェーダー を利用
  17. 作ってみて感想、まとめ • クオリティはいまいなところも多いがうごくところまで出来てよかった • マネやパクリはネガティヴに捉えられがちですが守破離という技術のレベルアッ プの一環として行う • アプリのテストと撮影を行うにはそれなりの広い場所が必要 • 豆腐を落とすのはクリアした人には、課題としてオススメ

    • MixedRealityToolkitの機能や無料のアセットでも再現可能 • 完璧に再現できなくても出来たところでOKは気楽 • 最悪完成すらしなくてもバットノウハウを共有しよう