SlideShare a Scribd company logo
PUN2 × OculusQuest で
ハンドトラッキング同期実装
(プロジェクト公開しました)
登壇者:KENTO
Twitter : @okprogramming
仕事 : XR関連のR&D
Twitter : @Up_frontier
Twitter : @gaprot_jp
なぜ話すのか
大変だったので同じ苦労する人が
一人でも減りますように
サンプル
サンプルプロジェクト
https://github.com/ForJobOk/OculusHandSync
Apk(2人プレイ)
https://github.com/ForJobOk/OculusHandSync/releases/tag/ForPublish
①お互いのクライアントに手のメッシュを生成
②手の座標を送り合う
③送られてきた座標データで
相手クライアント側の手を動かす
ハンドトラッキングの同期
見た目 データ
通常のハンドトラッキング実装に必要なPrefab
手のデータ
通常のハンドトラッキング実装に必要なPrefab
手の見た目
通常のハンドトラッキング実装に必要なPrefab
手のボーン
通常のハンドトラッキング実装に必要なPrefab
ハンドトラッキング同期実装の準備
自クライアントの手を動かすためだけの情報。
この情報を自クライアントの自身のアバター、
及び相手クライアント側の自身のアバターに反映させる。
ハンドトラッキング同期実装の準備
アバターの手のメッシュを生成。OVR Meshをそのまま利用。
ハンドトラッキング同期実装の準備
PlayerSyncが自クライアントの手のメッシュにボーン情報を渡して動かす。
相手クライアントとボーン情報を送り合う。
受け取ったボーン情報で相手クライアントの手のメッシュを動かす。
送信
受信
Tips
・プレイヤー入室時の場所をカスタムプロパティで設定
・カメラリグ配下のカメラを任意の方向、座標に移動
Tips
・プレイヤー入室時の場所をカスタムプロパティで設定
・カメラリグ配下のカメラを任意の方向、座標に移動
プレイヤー入室時の場所を
カスタムプロパティで設定
入退室が自由のルームでの
プレイヤー生成位置はどうするか
→プレイヤーにカスタムプロパティで番号を与える
※ActorNumberは再入室するたびに値が加算される
Tips
・プレイヤー入室時の場所をカスタムプロパティで設定
・カメラリグ配下のカメラを任意の方向、座標に移動
座標
カメラはユーザーのHMDの動きに追従するため、直接座標は動かせない。
カメラリグを移動させるだけでは求める位置への移動は不可。
カメラリグ
カメラ
例)カメラをA地点に移動させたい
座標の計算
回転
カメラはユーザーのHMDの動きに追従するため、直接回転させることはできない。
カメラリグを回転させるだけでは求める向きへの回転は不可。
カメラリグ
カメラ
例)カメラをA地点に向けたい
回転の計算
ここまでの内容をまとめた記事
【Unity(C#),PUN2】OculusQuestのハンドトラッキング同期実装
https://qiita.com/OKsaiyowa/items/80fb857a285ee4aed95c
【Unity(C#),PUN2】ルームの入退室に対応したプレイヤー生成位置、色の振り分け
https://qiita.com/OKsaiyowa/items/118be61ddaa175aae3e6
【Unity(C#)】VRカメラを任意のポジションに移動する方法
https://qiita.com/OKsaiyowa/items/47e06cf62498ef3abe9e
リンク
PUN2で始めるUnityオンラインゲーム開発入門
https://zenn.dev/o8que/books/bdcb9af27bdd7d
アップフロンティア株式会社 note
https://note.com/upfrontier

More Related Content

Similar to PUN2 × OculusQuest でハンドトラッキング同期実装(プロジェクト公開しました)

初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウKentarou Mukunasi
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選
虎の穴 開発室
 
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
Sadao Tokuyama
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
 
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
 
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
Sadao Tokuyama
 
初めてのプラグイン開発
初めてのプラグイン開発初めてのプラグイン開発
初めてのプラグイン開発
ikikko
 
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
Takashi Yoshinaga
 
Herlockサービス紹介
Herlockサービス紹介Herlockサービス紹介
Herlockサービス紹介
SONICMOOV CO.,LTD.
 
はじめようArcore (修正版)
はじめようArcore (修正版)はじめようArcore (修正版)
はじめようArcore (修正版)
Takashi Yoshinaga
 
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
Kazuhiro Hara
 
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてNAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
Takuji Kawata
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ
Takehisa Ikeda
 
Flutterとプラットフォーム依存の処理の対応について
Flutterとプラットフォーム依存の処理の対応についてFlutterとプラットフォーム依存の処理の対応について
Flutterとプラットフォーム依存の処理の対応について
Satoshi Noda
 
20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasyYoichi Shirasawa
 
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
Yukiyoshi Sasao
 
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
UnityTechnologiesJapan002
 
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Takahiro Miyaura
 
Project Prague を試してみました
Project Prague を試してみましたProject Prague を試してみました
Project Prague を試してみました
Atsushi Yokohama (BEACHSIDE)
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
Preferred Networks
 

Similar to PUN2 × OculusQuest でハンドトラッキング同期実装(プロジェクト公開しました) (20)

初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選【とらラボLT】go言語でのweb apiの作り方3選
【とらラボLT】go言語でのweb apiの作り方3選
 
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
SADAO TOKUYAMA の L.E.A.P カンファレンス な 話
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
 
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
知っ徳!納徳! Magic Leap《概要編+L.E.A.P編》+ インディペンデント クリエイタープログラムについて
 
初めてのプラグイン開発
初めてのプラグイン開発初めてのプラグイン開発
初めてのプラグイン開発
 
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
 
Herlockサービス紹介
Herlockサービス紹介Herlockサービス紹介
Herlockサービス紹介
 
はじめようArcore (修正版)
はじめようArcore (修正版)はじめようArcore (修正版)
はじめようArcore (修正版)
 
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
 
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 についてNAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
 
赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ赤外線センサーを使ったインタラクティブコンテンツ
赤外線センサーを使ったインタラクティブコンテンツ
 
Flutterとプラットフォーム依存の処理の対応について
Flutterとプラットフォーム依存の処理の対応についてFlutterとプラットフォーム依存の処理の対応について
Flutterとプラットフォーム依存の処理の対応について
 
20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy20120623 cv勉強会 shirasy
20120623 cv勉強会 shirasy
 
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
ArtTrack: Articulated Multi-Person Tracking in the Wild : CV勉強会関東
 
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
今だから聞きたい 「一番新しい xRアプリの作り方」 2020年 最新版
 
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
 
Project Prague を試してみました
Project Prague を試してみましたProject Prague を試してみました
Project Prague を試してみました
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 

Recently uploaded

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 

Recently uploaded (7)

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 

PUN2 × OculusQuest でハンドトラッキング同期実装(プロジェクト公開しました)