takabrz1 大阪駆動開発 Takahiro Miyaura
HoloLens 1アプリ(HoloToolkitだったもの) を
HoloLens 2アプリ(Mixed Reality Toolkit V2)に
変換できるかチャレンジ
宮浦 恭弘 (Miyaura Takahiro)
 大阪駆動開発コミュニティに生息
 HoloLens日本販売してからXR系技術に取組む
 普段はよくMixed Reality Toolkitに関する調査している
 新しい技術や、MRに使えそうな技術を調べる
技術Tips : https://qiita.com/miyaura
takabrz1 ※よかったらこれを機にお知り合いになってください
 リリース機能調べたり・・・
 面白い機能使ってみたり・・・
 新しい実験してフィードバックしたり・・・
(貢献領域:Mixed Reality)
Microsoft MVP for Windows Development 2018-202 1
某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です
これ知ってますか?
2021/3/22 Copyright © 2021 Takahiro Miyaura
Lunar Module
(月面着陸ゲーム)
Mixed Reality Design Labsのサンプルの1つ
Copyright © 2021 Takahiro Miyaura
2021/3/22
Lunar Module
(月面着陸ゲーム)
Mixed Reality Design Labsのサンプルの1つ
2021/3/22 Copyright © 2021 Takahiro Miyaura
HoloLens 1st Genの頃のもの
HoloLens 2でもやりたい!
2021/3/22 Copyright © 2021 Takahiro Miyaura
とりあえず動いた!
2021/3/22 Copyright © 2021 Takahiro Miyaura
Yoonさんにもウケた(笑)
でも「とりあえず」なんですよね
2021/3/22 Copyright © 2021 Takahiro Miyaura
過去の経緯
Mixed Reality Toolkit V2になるまで
2021/3/22 Copyright © 2021 Takahiro Miyaura
HoloToolkit :
HoloLens用OSSライブラリとして提供開始
MixedRealityToolkit V1 :
HoloLens + WinMRデバイス対応
MixedRealityToolkit V2 :
HoloLens, HoloLens 2, WinMR, OpenVR対応
構造が大きく変わる
Lunar Moduleはこの辺り
ここに移植したい
(個人的興味)
移植の手順
2021/3/22 Copyright © 2021 Takahiro Miyaura
公式ドキュメントでも提供
1. 開発ツールを最新化する
2. プロジェクトを最新のツールに移行する
3. プロジェクトで利用するライブラリをARM版に変更
4. MRTK V2に移行する(過去のMRTKを利用している場合)
5. 操作方法をHoloLens 2向けに再考 & 作り変え
6. (゚д゚)ウマー
 https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview
この段階でHoloLens 2にデプロイ可能なので動きを確認できる
開発ツールを最新化する
2021/3/22 Copyright © 2021 Takahiro Miyaura
HoloLens 2用の開発環境を準備する
 Windows 10 version 1909 or higher.
 最新の Visual Studio 2019 (試したときは16.8.3)
 Windows SDK 10.0.18362.0
 Unity 2019.4.10f1
 UWP - Universal Windows Platform Build Support
 IL2CPP - Windows Build Support (IL2CPP)
今回は上記環境で実施
移植の手順
最新のツールに移行する
2021/3/22 Copyright © 2021 Takahiro Miyaura
公式ドキュメントでも提供
1. 開発ツールを最新化する
2. プロジェクトを最新のツールに移行する
3. プロジェクトで利用するライブラリをARM版に変更
4. MRTK V2に移行する(過去のMRTKを利用している場合)
5. 操作方法をHoloLens 2向けに再考 & 作り変え
6. (゚д゚)ウマー
 https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview
この段階でHoloLens 2にデプロイ可能なので動きを確認できる
最新のツールに移行する
2021/3/22 Copyright © 2021 Takahiro Miyaura
Unity 2019.4系で古いUnityプロジェクトを開いて更新
 ほぼ確実にエラーが出る
 エラーがなくなるようにひたすら修正
一例・・・
 UnityEngine.VR.WSA... → UnityEngine.XR.WSA...
Lunar Moduleは古いMRTKが使われている。
バージョンが古いので公式もUnity 2019へのサポート無
野良ブランチを作ってUnity 2019対応した。
もしHoloToolkit使っていて移植したい場合は使えるかも?
https://github.com/TakahiroMiyaura/MixedRealityToolkit-Unity/tree/htk_unity2019.4
移植の手順
プロジェクトで利用するライブラリをARM版に変更
2021/3/22 Copyright © 2021 Takahiro Miyaura
公式ドキュメントでも提供
1. 開発ツールを最新化する
2. プロジェクトを最新のツールに移行する
3. プロジェクトで利用するライブラリをARM版に変更
4. MRTK V2に移行する(過去のMRTKを利用している場合)
5. 操作方法をHoloLens 2向けに再考 & 作り変え
6. (゚д゚)ウマー
 https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview
この段階でHoloLens 2にデプロイ可能なので動きを確認できる
プロジェクトで利用するライブラリをARM版に変更
2021/3/22 Copyright © 2021 Takahiro Miyaura
ライブラリをARM版で準備する
 独自でDLLを用意している人は注意!
 ARM,ARM64用も用意してあげる必要がある。
Lunar Moduleは古いMRTKが使われている。
HoloToolkit内に独自ライブラリがありARM系が入っていない。
野良ブランチを作ってUnity 2019対応した。
もしHoloToolkit使っていて移植したい場合は使えるかも?
https://github.com/TakahiroMiyaura/MixedRealityToolkit-Unity/tree/htk_unity2019.4
そして4へ
2021/3/22 Copyright © 2021 Takahiro Miyaura
前途多難・・・
2021/3/22 Copyright © 2021 Takahiro Miyaura
ほとんどの機能はMRTK V2へ移行が済んだ
 TagalongのようなSolver系
 イベント制御周り
 Hand Coach(Lunar Moduleで初めてできた機能を逆輸入的なw)
 このってるのはシェーダー周りと空間マッピング位
 あとキーボード?(封印された機能として実装されている)
Lunar Moduleはデザインが凝ってるのでかなり機能が複雑
(移植の題材としてはハード)
|・ω・)b < がんばります!
2021/3/22 Copyright © 2021 Takahiro Miyaura
過去のHoloLens 1アプリ次第ですが移行はできますよ。
懐かしのあのアプリ復活させてみませんか?
2021/3/22 Copyright © 2021 Takahiro Miyaura
大阪駆動開発
関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ
2021/3/22 Copyright © 2021 Takahiro Miyaura

HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ

  • 1.
    takabrz1 大阪駆動開発 TakahiroMiyaura HoloLens 1アプリ(HoloToolkitだったもの) を HoloLens 2アプリ(Mixed Reality Toolkit V2)に 変換できるかチャレンジ
  • 2.
    宮浦 恭弘 (MiyauraTakahiro)  大阪駆動開発コミュニティに生息  HoloLens日本販売してからXR系技術に取組む  普段はよくMixed Reality Toolkitに関する調査している  新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura takabrz1 ※よかったらこれを機にお知り合いになってください  リリース機能調べたり・・・  面白い機能使ってみたり・・・  新しい実験してフィードバックしたり・・・ (貢献領域:Mixed Reality) Microsoft MVP for Windows Development 2018-202 1 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です
  • 3.
  • 4.
    Lunar Module (月面着陸ゲーム) Mixed RealityDesign Labsのサンプルの1つ Copyright © 2021 Takahiro Miyaura 2021/3/22
  • 5.
    Lunar Module (月面着陸ゲーム) Mixed RealityDesign Labsのサンプルの1つ 2021/3/22 Copyright © 2021 Takahiro Miyaura HoloLens 1st Genの頃のもの
  • 6.
  • 7.
    とりあえず動いた! 2021/3/22 Copyright ©2021 Takahiro Miyaura Yoonさんにもウケた(笑)
  • 8.
  • 9.
    過去の経緯 Mixed Reality ToolkitV2になるまで 2021/3/22 Copyright © 2021 Takahiro Miyaura HoloToolkit : HoloLens用OSSライブラリとして提供開始 MixedRealityToolkit V1 : HoloLens + WinMRデバイス対応 MixedRealityToolkit V2 : HoloLens, HoloLens 2, WinMR, OpenVR対応 構造が大きく変わる Lunar Moduleはこの辺り ここに移植したい (個人的興味)
  • 10.
    移植の手順 2021/3/22 Copyright ©2021 Takahiro Miyaura 公式ドキュメントでも提供 1. 開発ツールを最新化する 2. プロジェクトを最新のツールに移行する 3. プロジェクトで利用するライブラリをARM版に変更 4. MRTK V2に移行する(過去のMRTKを利用している場合) 5. 操作方法をHoloLens 2向けに再考 & 作り変え 6. (゚д゚)ウマー  https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview この段階でHoloLens 2にデプロイ可能なので動きを確認できる
  • 11.
    開発ツールを最新化する 2021/3/22 Copyright ©2021 Takahiro Miyaura HoloLens 2用の開発環境を準備する  Windows 10 version 1909 or higher.  最新の Visual Studio 2019 (試したときは16.8.3)  Windows SDK 10.0.18362.0  Unity 2019.4.10f1  UWP - Universal Windows Platform Build Support  IL2CPP - Windows Build Support (IL2CPP) 今回は上記環境で実施
  • 12.
    移植の手順 最新のツールに移行する 2021/3/22 Copyright ©2021 Takahiro Miyaura 公式ドキュメントでも提供 1. 開発ツールを最新化する 2. プロジェクトを最新のツールに移行する 3. プロジェクトで利用するライブラリをARM版に変更 4. MRTK V2に移行する(過去のMRTKを利用している場合) 5. 操作方法をHoloLens 2向けに再考 & 作り変え 6. (゚д゚)ウマー  https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview この段階でHoloLens 2にデプロイ可能なので動きを確認できる
  • 13.
    最新のツールに移行する 2021/3/22 Copyright ©2021 Takahiro Miyaura Unity 2019.4系で古いUnityプロジェクトを開いて更新  ほぼ確実にエラーが出る  エラーがなくなるようにひたすら修正 一例・・・  UnityEngine.VR.WSA... → UnityEngine.XR.WSA... Lunar Moduleは古いMRTKが使われている。 バージョンが古いので公式もUnity 2019へのサポート無 野良ブランチを作ってUnity 2019対応した。 もしHoloToolkit使っていて移植したい場合は使えるかも? https://github.com/TakahiroMiyaura/MixedRealityToolkit-Unity/tree/htk_unity2019.4
  • 14.
    移植の手順 プロジェクトで利用するライブラリをARM版に変更 2021/3/22 Copyright ©2021 Takahiro Miyaura 公式ドキュメントでも提供 1. 開発ツールを最新化する 2. プロジェクトを最新のツールに移行する 3. プロジェクトで利用するライブラリをARM版に変更 4. MRTK V2に移行する(過去のMRTKを利用している場合) 5. 操作方法をHoloLens 2向けに再考 & 作り変え 6. (゚д゚)ウマー  https://docs.microsoft.com/ja-jp/windows/mixed-reality/develop/porting-apps/porting-overview この段階でHoloLens 2にデプロイ可能なので動きを確認できる
  • 15.
    プロジェクトで利用するライブラリをARM版に変更 2021/3/22 Copyright ©2021 Takahiro Miyaura ライブラリをARM版で準備する  独自でDLLを用意している人は注意!  ARM,ARM64用も用意してあげる必要がある。 Lunar Moduleは古いMRTKが使われている。 HoloToolkit内に独自ライブラリがありARM系が入っていない。 野良ブランチを作ってUnity 2019対応した。 もしHoloToolkit使っていて移植したい場合は使えるかも? https://github.com/TakahiroMiyaura/MixedRealityToolkit-Unity/tree/htk_unity2019.4
  • 16.
  • 17.
    前途多難・・・ 2021/3/22 Copyright ©2021 Takahiro Miyaura ほとんどの機能はMRTK V2へ移行が済んだ  TagalongのようなSolver系  イベント制御周り  Hand Coach(Lunar Moduleで初めてできた機能を逆輸入的なw)  このってるのはシェーダー周りと空間マッピング位  あとキーボード?(封印された機能として実装されている) Lunar Moduleはデザインが凝ってるのでかなり機能が複雑 (移植の題材としてはハード)
  • 18.
    |・ω・)b < がんばります! 2021/3/22Copyright © 2021 Takahiro Miyaura
  • 19.
  • 20.