Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Oculus Interaction SDK 概説 / xrdnk-caunity-LT4
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Denik
May 17, 2022
Programming
12k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Oculus Interaction SDK 概説 / xrdnk-caunity-LT4
Denik
May 17, 2022
More Decks by Denik
See All by Denik
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
9.9k
XR Interaction Toolkit 2.0.0 正式リリース記念パピコ / xrdnk-xrmtg-lt-20220316
xrdnk
0
10k
Unidux を用いたマルチシーン構成の画面遷移 / xrdnk-unity-otonanolt-2021
xrdnk
0
5.9k
Unity Cloud Save でプレイヤーデータのクラウド保存しよう / xrdnk-yokohamaunitylt9
xrdnk
0
1.7k
Feel でゲームのエフェクトを豪華にしよう / xrdnk-yokohamaunityLT8
xrdnk
1
2k
Unidux Scene Transition Hands-on / xrdnk-unidux-scene-transition-hands-on
xrdnk
1
490
新MLAPIでマルチゲームを作ってみた / xrdnk-gotandaunityLT19-presentation
xrdnk
1
4.3k
三種の神器とMVRPパターン / xrdnk-three-sacred-treasures-and-mvrp-pattern
xrdnk
1
7.5k
MLAPIでマルチゲームを作ってみた / xrdnk-roppongiunityLT8-presentation
xrdnk
1
3.2k
Other Decks in Programming
See All in Programming
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
220
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
180
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
580
Claude Team Plan導入・ガイド
tk3fftk
0
200
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
380
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
230
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
霧の中の代数的エフェクト
funnyycat
1
390
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
440
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Designing for Performance
lara
611
70k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
Context Engineering - Making Every Token Count
addyosmani
9
1k
Building AI with AI
inesmontani
PRO
1
1.1k
The Language of Interfaces
destraynor
162
27k
エンジニアに許された特別な時間の終わり
watany
108
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Google's AI Overviews - The New Search
badams
0
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
390
Transcript
Oculus Interaction SDK 概説 2022/05/20 CyberAgent.unity #4 Denik (@xrdnk) Unity
/ VR Engineer
自己紹介 Denik (@xrdnk) ◼ Unity / VR エンジニア ◼ MyDearest,
Inc. ◼ 今夏発売予定 Dyschronia 制作中
アジェンダ ◼ はじめに ◼ 機能紹介 ◼ Grab Interaction ◼ Hand
Grab Interaction ◼ Poke Interaction ◼ Ray Interaction ◼ Hand Pose Detection ◼ おわりに
はじめに
Oculus Interaction SDK Oculus Integration SDK v37 (22年2月) から追加された ハンド/コントローラのインタラクション機能がまとまっている
SDK 基本的にはノーコードでコンポーネントポチポチで使える 対応プラットフォームは Quest / Quest 2 のみ
導入例 Chess Club VR Finger Guns ForeVR Darts
出来ること ◼ VR 基本インタラクション (Grab・Poke・Ray) ◼ Grab 時の Hand Pose
指定とその Pose を簡単に作るツール ◼ Hand Pose の検知 ◼ タッチリミッター (手が平面を通過するのを防ぐ) ◼ 曲面キャンバス
機能紹介
Grab Interaction
Grab Interaction ◼ 主にコントローラ向けの汎用グラブインタラクション
Grab Interactor Grab Interaction の主体側:コントローラ側につける
Grab Interactable Grab Interaction の客体側:物体側につける
Grabbable (v37 は Transformable だった) Interactable に対して Grab 時に Transform
に何らかの制約を加えることが出来るコンポーネント
One Grab Transformers 片手 Grab 時に指定の Transform 変換操作が可能に Default は
OneGrabFree (位置・回転・スケール操作) OneGrabTranslate 位置操作のみ(コンストレイト設定可能) OneGrabRotate 回転操作のみ(コンストレイト設定可能)
Two Grab Transformers 両手 Grab 時に指定の Transform 変換操作が可能に Default は
TwoGrabFree (位置・回転・スケール操作) TwoGrabFree 位置・回転・スケール操作 (スケールのコンストレイト設定可能)
Hand Grab Interaction
Hand Grab Interaction ◼ ハンドトラッキング向きのグラブインタラクション ◼ 手の掴み動作を細かく指定出来る
Hand Grab Interactor Hand Grab Interaction の主体側:手側につける
Hand Grab Interactable Hand Grab Interaction の客体側:物体につける
Grab Types Hand Grab Interaction の Grab にはタイプがある Pinch Grab
指定された指で「摘まむ」 Palm Grab 手のひら全体で「掴む」
Grab Rules Hand Grab 時のルールを 決めることが出来る 右図例 Pinch Grab Rules
◼ 親・人差し指は利用する ◼ 中・薬・小指は無視する Palm Grab Rules ◼ 人差し・中・薬指は利用する ◼ 親・小指は任意
Hand Grab Point グラブポイントを設定して掴める点とする
Hand Pose Grab 実行時の手の姿勢を細かく調整することが出来る
Hand Pose Recorder 実際に Play Mode 時の Hand Pose を録画して
Hand Pose データを ScriptableObject として書き出せる
Poke Interaction
Poke Interaction 平面物体とダイレクトタッチインタラクションが出来る機能
Poke Interaction の概要図
Poke Interactor Poke Interaction の主体側:指・拳・掌・手などにつける
Poke Interactable Poke Interaction の客体側:面を持つコンポーネントにつける
Hand Poke Limiter Visual 手の突き抜けを防止するコンポーネント 利用前 利用後
Ray Interaction
Ray Interaction ◼ レーザーを当てるインタラクション ◼ ハンドインタラクション版もついている
Ray Interactor Ray Interaction の主体側:手・コントローラ側につける
Ray Interactable Ray Interaction の客体側:物体や Canvas などにつける
Curved Canvas Canvas や Mesh Renderer など Interactable が面の場合は曲面にすることも可能
Hand Pose Detection
Hand Pose Detection ◼ 手の姿勢を検知する機能 ◼ 検知時に何らかのイベントを発火することが出来る
Shape Recognizer 手の形状のデータを細かく指定できる
応用例 サムズアップのポーズで右方向に向かせると視点が右に移動する 手のひらを上に向かせるとテレポート移動の準備が開始される
おわりに
実際開発したくなったら Interaction SDK のコンポーネントは細かく分割されているので どれを利用するか一瞬分からなくなりますが,機能単位で Prefab が 提供されているので脳死でそのまま利用しましょう Interactor と
Interactable がセットであります
総括 ◼ Oculus Interaction SDK の紹介 ◼ VR 用インタラクションがより自然になるような設定が豊富 (細かい
Hand Grab 設定や Poke Interaction など) ◼ プラットフォーム対象が Quest のみであれば インタラクションのフィーリングが良くなるので導入してもいいかも (現状はマルチプラットフォーム向けではない感じ…)