Oculus Interaction SDK 概説 / xrdnk-caunity-LT4
by
Denik
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Oculus Interaction SDK 概説 2022/05/20 CyberAgent.unity #4 Denik (@xrdnk) Unity / VR Engineer
Slide 2
Slide 2 text
自己紹介 Denik (@xrdnk) ◼ Unity / VR エンジニア ◼ MyDearest, Inc. ◼ 今夏発売予定 Dyschronia 制作中
Slide 3
Slide 3 text
アジェンダ ◼ はじめに ◼ 機能紹介 ◼ Grab Interaction ◼ Hand Grab Interaction ◼ Poke Interaction ◼ Ray Interaction ◼ Hand Pose Detection ◼ おわりに
Slide 4
Slide 4 text
はじめに
Slide 5
Slide 5 text
Oculus Interaction SDK Oculus Integration SDK v37 (22年2月) から追加された ハンド/コントローラのインタラクション機能がまとまっている SDK 基本的にはノーコードでコンポーネントポチポチで使える 対応プラットフォームは Quest / Quest 2 のみ
Slide 6
Slide 6 text
導入例 Chess Club VR Finger Guns ForeVR Darts
Slide 7
Slide 7 text
出来ること ◼ VR 基本インタラクション (Grab・Poke・Ray) ◼ Grab 時の Hand Pose 指定とその Pose を簡単に作るツール ◼ Hand Pose の検知 ◼ タッチリミッター (手が平面を通過するのを防ぐ) ◼ 曲面キャンバス
Slide 8
Slide 8 text
機能紹介
Slide 9
Slide 9 text
Grab Interaction
Slide 10
Slide 10 text
Grab Interaction ◼ 主にコントローラ向けの汎用グラブインタラクション
Slide 11
Slide 11 text
Grab Interactor Grab Interaction の主体側:コントローラ側につける
Slide 12
Slide 12 text
Grab Interactable Grab Interaction の客体側:物体側につける
Slide 13
Slide 13 text
Grabbable (v37 は Transformable だった) Interactable に対して Grab 時に Transform に何らかの制約を加えることが出来るコンポーネント
Slide 14
Slide 14 text
One Grab Transformers 片手 Grab 時に指定の Transform 変換操作が可能に Default は OneGrabFree (位置・回転・スケール操作) OneGrabTranslate 位置操作のみ(コンストレイト設定可能) OneGrabRotate 回転操作のみ(コンストレイト設定可能)
Slide 15
Slide 15 text
Two Grab Transformers 両手 Grab 時に指定の Transform 変換操作が可能に Default は TwoGrabFree (位置・回転・スケール操作) TwoGrabFree 位置・回転・スケール操作 (スケールのコンストレイト設定可能)
Slide 16
Slide 16 text
Hand Grab Interaction
Slide 17
Slide 17 text
Hand Grab Interaction ◼ ハンドトラッキング向きのグラブインタラクション ◼ 手の掴み動作を細かく指定出来る
Slide 18
Slide 18 text
Hand Grab Interactor Hand Grab Interaction の主体側:手側につける
Slide 19
Slide 19 text
Hand Grab Interactable Hand Grab Interaction の客体側:物体につける
Slide 20
Slide 20 text
Grab Types Hand Grab Interaction の Grab にはタイプがある Pinch Grab 指定された指で「摘まむ」 Palm Grab 手のひら全体で「掴む」
Slide 21
Slide 21 text
Grab Rules Hand Grab 時のルールを 決めることが出来る 右図例 Pinch Grab Rules ◼ 親・人差し指は利用する ◼ 中・薬・小指は無視する Palm Grab Rules ◼ 人差し・中・薬指は利用する ◼ 親・小指は任意
Slide 22
Slide 22 text
Hand Grab Point グラブポイントを設定して掴める点とする
Slide 23
Slide 23 text
Hand Pose Grab 実行時の手の姿勢を細かく調整することが出来る
Slide 24
Slide 24 text
Hand Pose Recorder 実際に Play Mode 時の Hand Pose を録画して Hand Pose データを ScriptableObject として書き出せる
Slide 25
Slide 25 text
Poke Interaction
Slide 26
Slide 26 text
Poke Interaction 平面物体とダイレクトタッチインタラクションが出来る機能
Slide 27
Slide 27 text
Poke Interaction の概要図
Slide 28
Slide 28 text
Poke Interactor Poke Interaction の主体側:指・拳・掌・手などにつける
Slide 29
Slide 29 text
Poke Interactable Poke Interaction の客体側:面を持つコンポーネントにつける
Slide 30
Slide 30 text
Hand Poke Limiter Visual 手の突き抜けを防止するコンポーネント 利用前 利用後
Slide 31
Slide 31 text
Ray Interaction
Slide 32
Slide 32 text
Ray Interaction ◼ レーザーを当てるインタラクション ◼ ハンドインタラクション版もついている
Slide 33
Slide 33 text
Ray Interactor Ray Interaction の主体側:手・コントローラ側につける
Slide 34
Slide 34 text
Ray Interactable Ray Interaction の客体側:物体や Canvas などにつける
Slide 35
Slide 35 text
Curved Canvas Canvas や Mesh Renderer など Interactable が面の場合は曲面にすることも可能
Slide 36
Slide 36 text
Hand Pose Detection
Slide 37
Slide 37 text
Hand Pose Detection ◼ 手の姿勢を検知する機能 ◼ 検知時に何らかのイベントを発火することが出来る
Slide 38
Slide 38 text
Shape Recognizer 手の形状のデータを細かく指定できる
Slide 39
Slide 39 text
応用例 サムズアップのポーズで右方向に向かせると視点が右に移動する 手のひらを上に向かせるとテレポート移動の準備が開始される
Slide 40
Slide 40 text
おわりに
Slide 41
Slide 41 text
実際開発したくなったら Interaction SDK のコンポーネントは細かく分割されているので どれを利用するか一瞬分からなくなりますが,機能単位で Prefab が 提供されているので脳死でそのまま利用しましょう Interactor と Interactable がセットであります
Slide 42
Slide 42 text
総括 ◼ Oculus Interaction SDK の紹介 ◼ VR 用インタラクションがより自然になるような設定が豊富 (細かい Hand Grab 設定や Poke Interaction など) ◼ プラットフォーム対象が Quest のみであれば インタラクションのフィーリングが良くなるので導入してもいいかも (現状はマルチプラットフォーム向けではない感じ…)