Mixed Reality Toolkit で OpenXRのEye Trackingを使う

6.3K Views

February 16, 22

スライド概要

XRミーティング 2022/02/16【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/238330/)
登壇資料。
OpenXRを使ってHoloLens 2のアイトラッキング使おうとしたらとてもくだらない理由ではまってしまった話を共有しました。

profile-image

ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Mixed Reality Toolkit で OpenXRのEye Trackingを使う 2022/02 XRミーティング takabrz1 大阪駆動開発 Takahiro Miyaura

2.

Microsoft MVP for Windows Development 2018-2022 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality) 宮浦 恭弘 (Miyaura Takahiro) ◼ 大阪駆動開発(とHolomagicians)コミュニティに生息 ◼ HoloLens日本販売してからxR系技術に取組む ◼ 普段はよくMixed Reality Toolkitに関する調査している ✓ リリース機能調べたり・・・ ✓ 面白い機能使ってみたり・・・ ✓ 新しい実験してフィードバックしたり・・・ 最近はこちらに Come Back気味 と思ったらDigital Twins ◼ 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura @takabrz1 ※よかったらこれを機にお知り合いになってください

3.

久々にEye Tracking使ってみたら 上手くできなくてちょっと困ったので紹介 2022/02/16 Copyright © 2022 Takahiro Miyaura 3

4.

本日のお題 ◼ OpenXRな環境でEye Trackingにハマった ✓ Mixed Reality Toolkit(MRTK)は導入 ✓ MRTKのエディタ上では問題ない ✓ デプロイすると動かない ✓ ということで暫く色々考えることになった たぶん、みんな知ってるはずなので 完全な備忘録情報です! 2022/02/16 Copyright © 2022 Takahiro Miyaura 4

5.

MRTKこと Mixed Reality Toolkitについて 2022/02/16 Copyright © 2022 Takahiro Miyaura 5

6.

Mixed Reality Toolkitとは XRで利用可能なUnity向けのMicrosoft公式OSSライブラリ ◼Unity向け ◼クロスプラットフォーム ◼最新バージョンはV2.7.3 基本コンポーネントの例 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール ※Unreal向けのMRTKもあります。 2022/02/16 Copyright © 2022 Takahiro Miyaura 6

7.

Mixed Reality Toolkitとは 特徴その1 ◼Unity向け ◼クロスプラットフォーム ◼最新バージョンはV2.7.3 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール 入力シミュレーション ◦ Unity Editor上でハンドトラッキング操作等をエミュレート可能 ◦ 実機にデプロイせずにある程度の動作確認が実現可能 ※Unreal向けのMRTKもあります。 2022/02/16 Copyright © 2022 Takahiro Miyaura 7

8.

Mixed Reality Toolkitとは 特徴その2 ◼Unity向け ◼クロスプラットフォーム ◼最新バージョンはV2.7.3 ✓基本コンポーネント ✓共通のインタラクション ✓UIコントロール クロスプラットフォーム対応 ◦ 入力方法等デバイス毎のInteractionはProfileで自動的に変更 ◦ 同一プロジェクトで複数のxRデバイスに対応できる ※Unreal向けのMRTKもあります。 2022/02/16 Copyright © 2022 Takahiro Miyaura 8

9.

本題 Eye Trackingにハマった 2022/02/16 Copyright © 2022 Takahiro Miyaura 9

10.

結論から先にいうと 設定が悪かっただけでした。 2022/02/16 Copyright © 2022 Takahiro Miyaura 10

11.

ってことで、 設定方法を備忘録として紹介しまっす。 2022/02/16 Copyright © 2022 Takahiro Miyaura 11

12.

初期設定 プロジェクト作成~MRTK導入 3 2 1. Unity を起動します。 2. [プロジェクト] を選びます。 3. [新規作成]を押下します。 4. Unityバージョンの選択が可能ですので 「Unity 2020.3.xxx」を選択します。 4 2022/02/16 Copyright © 2022 Takahiro Miyaura 12

13.

初期設定 プロジェクト作成~MRTK導入 1. [3D]を選びます 1 2 2. プロジェクト名 (「HelloHolograms」など) を入力 します。 3 3. プロジェクトの保存先を入力しま す。 4. [作成] を選びます。 空のプロジェクトが作成されます。 4 2022/02/16 Copyright © 2022 Takahiro Miyaura 13

14.

初期設定 プロジェクト作成~MRTK導入 1. [File]-[Build Settings] の順に選びます。 5 2. [Platform] の一覧で、[Universal Windows Platform] を選び、[Switch Platform]ボタンを押します。 3. 以下の通り設定します。 4 2 3 ✓ [Target Device] を [HoloLens] に設定します。 ✓ [Architecture] を [Arm64] に設定します。 ※HoloLensへのデプロイではx86に設定 ✓ [Build Type]を [D3D] に設定します。 ✓ [Build and Run on]を[USB Device]に設定します。 4. [Add Open Scenes]をクリックし[SamplesScene]を 追加します。 5. 設定が完了したら[X]を押してウィンドウを閉じます。 2022/02/16 Copyright © 2022 Takahiro Miyaura 14

15.

初期設定 プロジェクト作成~MRTK導入 1. 作成したプロジェクトフォルダを 選択します。 2. [Discover Featues] を選びます。 1 2 2022/02/16 Copyright © 2022 Takahiro Miyaura 15

16.

初期設定 プロジェクト作成~MRTK導入 1. [Mixed Reality OpenXR Plugin]を選 択します。 2. [Get Featues] を選びます。 3. [Import]を選びます。 4. [Approve]を選びます。 1 5. [Exit]でツールを閉じます。 2 2022/02/16 Copyright © 2022 Takahiro Miyaura 16

17.

初期設定 OpenXRでEye Tracking使う設定 1. パッケージをインストールすると左記のようなウ インドウが表示されます。 2. [Unity OpenXR plugin(recommended)]を選択しま す。 1 2 2022/02/16 Copyright © 2022 Takahiro Miyaura 17

18.

初期設定 OpenXRでEye Tracking使う設定 1. パッケージをインストールすると左記のようなウ インドウが表示されます。 2. [Show XR Plug-in Management Settings]をクリッ クしてプロジェクト設定を開きます。 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 18

19.

初期設定 OpenXRでEye Tracking使う設定 1. パッケージをインストールすると左記のようなウ インドウが表示されます。 2. [Show XR Plug-in Management Settings]をクリッ クしてプロジェクト設定を開きます。 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 19

20.

初期設定 OpenXRでEye Tracking使う設定 1. [Project Settings]-[XR Plug-in Management]を選択 します。 2 2. [UWP]タブ(Windowsのアイコン)が選択されて いる状態で以下をチェックします。 ✓ Initialize XR on Startup ✓ OpenXR 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 20

21.

初期設定 OpenXRでEye Tracking使う設定 1. [Apply Settings]を選択します。 2 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 21

22.

初期設定 OpenXRでEye Tracking使う設定 1.[Edit]-[Project Settings]-[OpenXR]を選択します。 2.[Interaction Profiles]内の[+]を押し、展開し[Eye Gaze Interaction Profile]をチェックします。 2 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 22

23.

初期設定 OpenXRでEye Tracking使う設定 1. [Next]を選択します。 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 23

24.

初期設定 OpenXRでEye Tracking使う設定 1. [Apply]を選択します。 2 2. [Mixed Reality] – を選択しシーンにMRTKに必要な オブジェクトを追加します。 1 2022/02/16 Copyright © 2022 Takahiro Miyaura 24

25.

初期設定 権限の付与 1.[Edit]-[Project Settings]を選択します。 2.[Player]内の[Publish Settings]内を展開し[GazeInput] をチェックします。 1 2 2022/02/16 Copyright © 2022 Takahiro Miyaura 25

26.

初期設定 MTRKの設定 1.[Inspector]パネルを選択し[Mixed Reality Toolkit]コン ポーネント内のメニューから[Input]を選択します。 2.[Input System]内の[Clone]ボタンをクリックします。 1 3 4 2 3.[Clone Profile]ウィンドウが開くので以下の設定をし て[Clone]ボタンを押下します。 ✓ [Target Folder]:CustomProfiles ✓ [Profile Name]:任意 4.クローンしたProfileを選択します。 2022/02/16 Copyright © 2022 Takahiro Miyaura 26

27.

初期設定 MTRKの設定 2 1.[Inspector]パネルを選択し[Mixed Reality Toolkit]コン ポーネント内のメニューから[Input]を選択します。 2.[Input Data Provider]内の[+ Add Data Provider]ボタン をクリックします。 3.新規行の中の[Type]に[OpenXREyeGazeDataProvier] を設定します。 4.既存行に[OpenXRDeviceManager]があることも確認 してください。 3 2022/02/16 Copyright © 2022 Takahiro Miyaura 27

28.

初期設定 MTRKの設定 3 1.[Inspector]パネルを選択し[Mixed Reality Toolkit]コン ポーネント内のメニューから[Input]を選択します。 2.[Data Provider]内の[Input Simulation Service]を選択 します。※なければ追加してください。 3.[Default Eye Gaze Simulation Mode]を[Mouse]に変更 します。 2022/02/16 Copyright © 2022 Takahiro Miyaura 28

29.

初期設定 EYE Trackingで動作するアプリを作る 3-1 3-2 1.適当にCube等を作り、[Inspector]パネルを開く 2.[Add Component]で[Interactable]を追加する 3.[Interactable]コンポーネントを以下の通り設定する 1.TargetはCubeに指定する 2.Themeは新規に作成 3-3 3.Theme Runtimeに[InteractableColorTheme]を設定 4.Focusedの色を変更 3-4 2022/02/16 Copyright © 2022 Takahiro Miyaura 29

30.

初期設定 EYE Trackingで動作するアプリを作る 1.[Add Component]で[Eye Tracking Target]を追加する 2.[Eye Tracking Target]の[While Locking At Target]アクション に以下を追加する 1.オブジェクト:作ったCube 2 2.アクション:Interactable.Focus 3.値:true 3 3.[Eye Tracking Target]の[On Look Away]アクションに以下を 追加する 1.オブジェクト:作ったCube 2.アクション:Interactable.Focus 3.値:false 4.Unity Editor上ではマウス操作でオブジェクトにカーソルを合 わせると動く 5.HoloLensにデプロイして動かす ※アプリ起動時にアイトラッキングの許可が出ない場合は権限、OpenXRのEye Tracking機能が有効じゃない 2022/02/16 Copyright © 2022 Takahiro Miyaura 30

31.

まとめ 2022/02/16 Copyright © 2022 Takahiro Miyaura 31

32.

まとめ OpenXRでEye Trackingする時のTips ◼ OpenXRな環境でEye Trackingにハマった ✓OpenXRのInteraction ProfileにEye Tracking Profileを! ✓MRTKのInput設定を忘れないで ✓ Input Data Providerに以下がいるよ ✓OpenXR XRSDK Device Manager ✓OpenXR XRSDK Eye Gaze Provider ✓ Unity Editor上でのテストにはInput Simulation Serviceの変更も! 楽しい視線入力体験を! 2022/02/16 Copyright © 2022 Takahiro Miyaura 32

33.

大阪駆動開発 関西を中心に、IT系のおもしろそうなことを 楽しんでやるコミュニティ