Slide 1

Slide 1 text

visionOS engineer オンラインLT会 vol.6 PolySpatial 向け HandGesture ライブラリを製作した話 2024/06/26

Slide 2

Slide 2 text

登壇者情報 Graf fi ty(ג) ॴଐUnityΤϯδχΞ
 ઐ໳ྖҬɿα΢ϯυϓϩάϥϛϯά UnityΛத৺ͱͨ͠৘ใൃ৴ͳͲΛߦ͍ͬͯ·͢ɻ 2 visionOS engineer オンラインLT会 vol.5 著書&査読協 力 @8bitdots https://qiita.com/Cova8bitdot @cova8bit.bsky.social

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Apple Vision Pro 専 用 タイピングゲーム『Ninja Gaze Typing 』 4 プロダクト紹介 - Ninja Gaze Typing

Slide 5

Slide 5 text

Apple Vision Pro 専 用 タイピングゲーム 『Ninja Gaze Typing 』 5 プロダクト紹介 - Ninja Gaze Typing WWDCの基調講演 visionOS説明部分にて アイコンが掲載されました

Slide 6

Slide 6 text

目 次 1. Hand Gesture Tool for Apple Vision Pro の紹介 2. 製作にあたって遭遇した技術的課題

Slide 7

Slide 7 text

目 次 1. Hand Gesture Tool for Apple Vision Pro の紹介 2. 製作にあたって遭遇した技術的課題

Slide 8

Slide 8 text

Unity のAssetStore でPolySpatial向けのハンドジェスチャーライブラリをリリースしました Hand Gesture Tool for Apple Vision Pro の紹介 https://assetstore.unity.com/packages/tools/input-management/hand-gesture-tool-for-apple-vision-pro-287273

Slide 9

Slide 9 text

Unity のAssetStore でPolySpatial向けのハンドジェスチャーライブラリをリリースしました Hand Gesture Tool for Apple Vision Pro の紹介 https://assetstore.unity.com/packages/tools/input-management/hand-gesture-tool-for-apple-vision-pro-287273

Slide 10

Slide 10 text

ライブラリの特徴 Hand Gesture Tool for Apple Vision Pro の紹介

Slide 11

Slide 11 text

ライブラリの特徴 Hand Gesture Tool for Apple Vision Pro の紹介 Q. あれ?Unity公式がハンドジェスチャー ライブラリ出してませんでしたっけ?

Slide 12

Slide 12 text

GWあたりに公開されたXRHand1.4.x から HandGesture アセット作成機能が追加されました。が、実装済みの機能は少ないです Hand Gesture Tool for Apple Vision Pro の紹介 指の条件設定 HandShape Asset 指の形以外の条件設定 HandPoseAsset

Slide 13

Slide 13 text

今回作ったライブラリはUnity公式のライブラリに 比 べて以下の改善点があります Hand Gesture Tool for Apple Vision Pro の紹介 1. カスタム条件を作成可能 • Unity公式は現状指の曲げ具合のみ 2. ポーズを複数組み合わせてモーションの検知が可能 • Unity公式は現状シンプルなポーズ検知のみ • 製作したライブラリ • ビームの構え→発射のようなシーケンシャルな ジェスチャーを設定可能 3. UnityEditor上で設定した 手 のポーズを確認可能 • Inspector 上で設定条件を反映した 手 のモデルを表 示 します

Slide 14

Slide 14 text

目 次 1. Hand Gesture Tool for Apple Vision Pro の紹介 2. 製作にあたって遭遇した技術的課題

Slide 15

Slide 15 text

製作中に遭遇した思わぬ落とし 穴 15 製作にあたって遭遇した技術的課題 1. 定義にあるはずのボーン(関節)が無い! 2. 定義にないはずのボーン(関節)がある!

Slide 16

Slide 16 text

製作中に遭遇した思わぬ落とし 穴 16 製作にあたって遭遇した技術的課題 1. 定義にあるはずのボーン(関節)が無い! 2. 定義にないはずのボーン(関節)がある!

Slide 17

Slide 17 text

定義にあるはずのボーン(関節)が無い! 17 製作にあたって遭遇した技術的課題 XRHand では各種指の関節以外に以下の関節情報が取得できます • Palm( 手 のひら) • Metacarpal( 手 の甲の根本の関節) • Wrist( 手 首 )

Slide 18

Slide 18 text

定義にあるはずのボーン(関節)が無い! 18 製作にあたって遭遇した技術的課題 XRHand では各種指の関節以外に以下の関節情報が取得できます • Palm( 手 のひら) • なんとVisionOS側からは取れない! • https://varrall.substack.com/p/hand-tracking-in-visionos • 下記画像の通りそもそも定義がVisionOSにはない • Unity.XRHand は様々なXR系デバイスを横断的に利 用 可能にするため このような事象が起きる

Slide 19

Slide 19 text

定義にあるはずのボーン(関節)が無い! 19 製作にあたって遭遇した技術的課題 XRHand では各種指の関節以外に以下の関節情報が取得できます • Palm( 手 のひら) • なんとVisionOS側からは取れない! • https://varrall.substack.com/p/hand-tracking-in-visionos • 下記画像の通りそもそも定義がVisionOSにはない • Unity.XRHand は様々なXR系デバイスを横断的に利 用 可能にするため このような事象が起きる • Palmの位置や 方 向はジェスチャーにはかなり重要な情報 • 対策 • 他の関節から推測する • 手首 →親指の付け根 方 向ベクトルと 手首 →中指の付け根 方 向ベクトルの外積から求める • 手 のひら周辺の関節の平均(重 心 )で代 用

Slide 20

Slide 20 text

製作中に遭遇した思わぬ落とし 穴 20 製作にあたって遭遇した技術的課題 1. 定義にあるはずのボーン(関節)が無い! 2. 定義にないはずのボーン(関節)がある!

Slide 21

Slide 21 text

定義にないはずのボーン(関節)がある! 21 製作にあたって遭遇した技術的課題 VisionOS 側は • 25: 手首 →肘 方 向を 示 す .handForearmWrist • 26: 肘関節を 示 す .handForearmArm があります。 一方 XRHandにはこの定義がありません! が、PolySpatial SDKを調べると独 自 のEnumが 定義されており、これを無理やり XRHandJointID 型としてキャストして使うことでBone情報を 取得可能です。 https://docs.unity3d.com/Packages/[email protected]/api/ UnityEngine.XR.VisionOS.VisionOSHandJointID.html

Slide 22

Slide 22 text

まとめ • HandGesture を使ったコンテンツ開発のための専 用 ツールを開発・リリースしました • https://assetstore.unity.com/packages/tools/input-management/hand-gesture-tool-for-apple-vision-pro-287273 • HandGestureをそのまま実現しようとすると関節情報をがっつり 色 々計算しないと難しいです • 本ツールは 面 倒な計算部分を肩代わりし、 非 エンジニアでもポーズを簡単に作れるように 設計しています • 実機で動作確認しないとわからないという開発フロー改善のため Editor上でのポーズ確認が出来るのが 非 常に 大 きいです 22 最後に

Slide 23

Slide 23 text

Hand Gesture Tool for Apple Vision Pro ぜひご活 用 ください 最後に https://assetstore.unity.com/packages/tools/input-management/hand-gesture-tool-for-apple-vision-pro-287273