Upgrade to Pro — share decks privately, control downloads, hide ads and more …

トラッキングできたら アバターを動かしたい!

トラッキングできたら アバターを動かしたい!

https://connpass.com/event/214152/
トラッキング技術勉強会の登壇資料です

sh_akira

June 11, 2021
Tweet

More Decks by sh_akira

Other Decks in Programming

Transcript

  1. バーチャルモーションキャプチャーとは 5 ➢ トラッキングしてVRMアバターを動かせるアプリ 
 ➢ 改良を続けているキャリブレーション 
 ➢ VRゲームと同時起動可能


    ➢ コントローラーやトラッカーを好きな部位に自由に割り当て可能 
 ➢ コントローラー/キーボード/MIDIのボタンに自由にキー設定可能 
 ➢ OSCでモーションデータの送受信が可能(VMCProtocol) 
 ➢ MR合成に対応
 ➢ 通称 ばもきゃ
 ➢ https://vmc.info/
 オープンソースで全てのソースコードを公開中

  2. 同時起動はOpenVRをOverlayモードで初期化 8 選べる種別:
 • Scene : 通常のVRゲーム (SteamVRの初期化あり/複数起動不可) 
 •

    Overlay : オーバーレイアプリ (SteamVRの初期化あり/複数起動可) 
 • Background : (SteamVRの初期化なし/複数起動可/SteamVRがいないとエラー) 
 • Utility : セットアップ用 (ハードウェアが無くても起動する/複数起動?) 
 →ばもきゃは同時起動したいしSteamVRが必須なのでOverlayを選択 
 
 Scene以外だと通常の方法では3DモデルをHMDに表示できない。 
 SteamVRダッシュボードと同じように2Dのパネルをオーバーレイ表示できる。 

  3. Virtual Motion Capture Protocol (VMCProtocol)とは 11 ➢ バーチャルモーションキャプチャーのあらゆる情報を
 送受信するためのプロトコルとして生まれました。
 ➢

    UDP(OSC)とVRMを前提に、シンプルな数値・文字列の送受信のみで構 成されています。
 ➢ 高度な知識が必要なアバター制御やVR機器の取り扱いを
 ばもきゃ等に任せ、利用者は受信ライブラリを使うだけで
 とてもシンプルにアバター撮影環境を構築できます。
 ➢ https://protocol.vmc.info/  メインメンテナ:gpsnmeajp(@Seg_Faul) 

  4. 14 広がるVMCProtocolの輪 Performer(モーション送信) バーチャルモーションキャプチャー waidayo 360KinectGum ThreeDPoseTracker/TDPT VSeeFace Marionette(モーション受信) EVMC4U

    VMC4UE Virtual Streamer 360 だれでもVsinger Collaboll Oredayo4V/4M VSeeFace VMC-Websocket-OBS ゆかりねっとコネクター VMCProtocolModelViewer VMCProtocolRotationCamera Assistant(拡張情報送信) waidayo QuestOSCTransformSender Simple Motion Tracker VMCOculus Sknuckle VMCSaberTraining vmc2bvh パイロットクロス VMCAvatar-BS VMCProtocolMonitor VMCbroadcaster VMCProtocolRefrector Remote Marionette
  5. VMT (Virtual Motion Tracker)とは 20 ➢ シンプルなOpenVR 仮想トラッカードライバ
 ➢ UDP(OSC)で姿勢を受け取り、トラッカーとして

    SteamVR上で利用できます。
 ➢ 難易度の高いVRトラッキングデバイスの自作をと ても簡単に行えるようになります。
 
 ➢ https://github.com/gpsnmeajp/VirtualMotionTracker 
 作者:gpsnmeajp(@Seg_Faul)
 

  6. DVRSDK (DMM VR Connect SDK)とは 26 ➢ DMM VR ConnectをUnityで使えるSDK


    ➢ 誰でもつかえて無料配布中
 ➢ サンプル開けばすぐに使える簡単設計
 ➢ VRのアプリ作りたいときに困るあれこれが
 詰まったSDKです。
 
 ➢ https://devs.connect.vrlab.dmm.com/ 
 

  7. 27 DVRSDKのコンポーネントたち DVRAuth Connectの認証 ユーザーデータの取得 アバターデータの取得 他者のアバターの取得も可能 DVRStreaming Unityから直接RTMP配信 YouTube/Twitch等に配信可能

    Oculus Quest/Quest2対応 Windowsも対応 DVRCamera 第三者視点カメラ カメラワーク オートシーケンス 複数カメラの制御 DVRAvatar SteamVRのトラッカー処理 VRMの様々な制御 キャリブレーション 表情や指の制御、自動まばたき
  8. トラッカーでアバター動かすには難しいこといっぱい 28 ➢ まずSteamVRでトラッカーちゃんと扱うのが難しい
 ➢ ボタンの取得とかSkeletal Inputも大変
 ➢ アバターは人によって全然大きさも身体の比率も違う
 ➢

    キャリブレーションが大変
 ➢ Final IKを理解するのも難しい
 ➢ 表情の実装も必要だしリップシンクが欲しいし合成が必要
 ➢ そもそもアバターのファイルの管理も要るし・・・
 

  9. 29 SteamVRむずかしいんですけど SteamVR 1.x →トラッカーはIndex番号で管理する SteamVR 2.x →トラッカーは役割(ロール)で管理する (ボタンはBindingして・・・指はSkeletalで・・・) 例えば2.xで腰(Waist)にトラッカーを割り当てて使いたいときは

    PoseのActionをSteamVR_Inputに定義して、SteamVRでそのActionを バインディングして、それをデフォルトバインディングとしてアプリに入れ て、Actionのフルパスを取得して、Actionのハンドルを取得して、 InputSourceハンドルを取得して、ActionとInputSourceからPoseを取得 して、生のMatrixからUnity座標を取得します。
  10. 35 まとめ バーチャルモーションキャプチャー とりあえずアバター動かした くなったらこれ!沢山の連携 ツールでやりたいことがきっ と見つかります。 vmc.info VMCProtocol モーションを送受信したくなった

    らこれ!多彩なビューアーも 揃っているので色々な拡張と組 み合わせられます。 protocol.vmc.info VMT SteamVRの仮想トラッカーが 作りたくなったらこれ!超簡 単に仮想トラッカーデバイス が使えてしまいます。 github.com/gpsnmeajp/VirtualMotionTracker DVRSDK アプリにアバター入れたくなったら これ!難しい事無しで入れるだけ で動きます。VRアプリ開発するとき は最初に入れよう。 devs.connect.vrlab.dmm.com