Slide 1

Slide 1 text

HoloLensアプリの両手操作の対応 2018/04/17 HoloLens RS4 Preview公開記念勉強会! @ アカツキ ZuQ9Nn(ずきゅ~ん)

Slide 2

Slide 2 text

自己紹介  ZuQ9Nn(ずきゅ~ん)  普段は、Objective-CでiOSのツール系アプリ開発  HoloLensとUnityは趣味レベル  Unity認定試験合格

Slide 3

Slide 3 text

RS4では、HoloLensの操作方法が大きく変わります  OSそのものの標準操作として、両手での操作に対応  今後のアプリ開発でも同じ操作をするように求められる  出来れば、なるべく簡単に対応したい!  どうやって対応すればいいの?

Slide 4

Slide 4 text

MixedRealityToolkit-Unityで対応できるの? 一応できます!

Slide 5

Slide 5 text

なんで一応? それは2018年4月17日時点で公開されているPre-releaseの 2017.2.1.4 Release Candidateを利用するから。 (Githubのmasterにはコードが見当たらず、まだ Dev_Working_Branchに存在、なぜかunitypackage版にはコードが 存在する) 今回は、そちらを利用してノーコーディング での対応方法をご紹介

Slide 6

Slide 6 text

今回の開発環境  Unity 2017.3.1f1  Visual Studio 2017 15.5.6

Slide 7

Slide 7 text

MixedRealityToolkit-Unityを取得 プロジェクト作成、インポート  https://github.com/Microsof/MixedRealityToolkit-Unity  GitHubのreleaseをクリック  HoloToolkit-Unity-2017.2.1.4-rc2.unitypackageをダウンロード  Unityでプロジェクトを作成MRTKをインポート 

Slide 8

Slide 8 text

プロジェクトの設定  Unityのメニュー、Mixed Reality Toolkit > Configure > Apply Mixed Reality Project Settingsを選択  何も変更せずApply Mixed Reality Project Settingsウィンドウの Applyを選択

Slide 9

Slide 9 text

Sceneの設定  Unityのメニュー、Mixed Reality Toolkit > Configure > Apply Mixed Reality Scene Settingsを選択  何も変更せずApply Mixed Reality Scene SettingsウィンドウのApplyを選択  UnityのHierarchyに DefaultCursor、InputManager、MixedRealityCameraParentが自動追加される

Slide 10

Slide 10 text

今回はShpereに両手操作を実装  UnityのHierarchのCreate > 3D Object > Shpereを選択  Shpereを見やすい位置に(x:0, y:0, z:7)  Shpereを選択しInspectorのAdd Componetから TowHandManipulatable.cs(HoloToolkit > Input > Scripts > Utilities > Interactions)をアタッチメント

Slide 11

Slide 11 text

TowHandManiplatable.csの設定  ShpereにアタッチメントしたTowHandManipulatable.csのBounding Box Prefabの プロパティにBoundingBoxBasic.prefab(HoloToolkit > UX > Prafabs > BoundingBoxes)をセット  Manipulaton Modeを今回はMove Rotate Scaleに

Slide 12

Slide 12 text

Unityからプロジェクト出力 Visual Studioで実機にインストール  ポイントは、Unityから出力するときに、Build SettingsでTarget DeviceをAny device にする  あとは、Visual Studioで実機にインストール  実機で動いかすとこんな感じです  https://youtu.be/6kfo_2uIcyA 

Slide 13

Slide 13 text

Any deviceで出力していると  Visual Studioでx86のローカルコンピューターで実行すると  Windows MixedReality のImmersive headsetでも動かせます  今回実行したPCのWindows 10のバージョンはRS4ではなく、Fall Creators Update  テストはしてませんが、HololensでもRS4にアップデートしなくても両手操作の TowHandManipulatable.csが動くはず  Immersive headsetの実機で動かすとこんな感じです。  https://youtu.be/4stPUIXmNls

Slide 14

Slide 14 text

今回作業して強く感じたこと  エラーや問題が起きた場合にどこが問題なのか切り分けしにくい。  考えられる問題箇所  HoloLensのOSそのもの?  Unity?  Visual Studio?  MixedRealityToolkit-Unity?  自分のコード?

Slide 15

Slide 15 text

まとめ  HoloLensの操作が変わったので、アプリも積 極的に対応しましょう  今回の対応であれば、ノーコーディングで対応 コストも少なく済む  問題が切り分けにくいので、安定版が出てから のほうが開発者的に安心感は大きい

Slide 16

Slide 16 text

One More Thing  MixedRealityToolkit-Unity Version Nextについて  2018年5月、Unity2018.1をターゲットに MixedRealityToolkit-Unity Version Nextが提供される ことがアナウンスされている  https://github.com/Microsof/MixedRealityToolkit- Unity/blob/MRTK-Version-Next/MRTK-vNext.md  https://github.com/Microsof/MixedRealityToolkit- Unity/blob/master/Roadmap.md

Slide 17

Slide 17 text

何が変わるの?  今までのMixedRealityToolkit-UnityはHoloLensとWindows MixedReality Immersive headsetのみがサポートされていた が、Version Nextではより多くのデバイスをサポート  具体的にはSteam、Open VR、Open XRに対応  より簡単に開発できるSDKの提供  ドラッグアンドドロップで使える多くのコンポーネントを提供  破壊的変更?(refactoring / restructuring it to both)ディレク トリ構造とか見ている範囲では大きな変更

Slide 18

Slide 18 text

また変わるの!  今まで開発を行っていた人は、ついついネガティブに捉えがちですが、既に決まっています ので今から覚悟と準備をしておきましょう  変更されて覚えなおしの部分のスタート地点は同じです。これから始める人は、version nextになってからでもOK  いち早く情報をキャッチアップしたり、問題点解決策をブログ、Qiitaに投稿しておくと、多 くの開発者から感謝される可能性も高い、これをモチベーションにして乗り越える  HoloLensそのものが進化したので、開発者は、より良いアプリを作成するために、さらな る進化をしなければならない

Slide 19

Slide 19 text

ご清聴 ありがとうございました