Open9

バーチャルダンススタジオ・Unityソフトウェア開発日誌

ふぁゔふぁゔ

バーチャルモーションキャプチャーとUnityを用いた、小規模なダンス活動・ダンス撮影・演出を行えるUnityアプリケーションの開発を行う活動のまとめです。

考えたこと、参考にした記事等を、まとめていきます。
失踪しないようがんばるぞ

開発環境

Unity 2021.3.15f1
Oculus Quest (Quest2ではない!!2でやりたい!!!)

ふぁゔふぁゔ

VMCのコントローラー入力で、VR空間内を移動する

EVMC4Uのアセットの中に実装されているコントローラーで移動機能を実装することができる
...が実際にやってみるとラジコン操作なのでちょっと不満。
後述のXR Interaction Toolkitの移動機能を実装し、移動するgameObjectの子にアバターを格納することでアバターが移動しているように見えるようになった!
(移動モーションがないスライド移動なのでホバー移動みたいなアニメーションをつけたくなったら変更しないといけないかも)
https://twitter.com/Favni_rVRC/status/1657094077484244992?s=20

ふぁゔふぁゔ

📝XR-Interaction-Toolkit-Examplesを触ってみる

私はVRChatでダンスをすることが好きなので、移動のクセや設備(ギミック)をVRChatに寄せたい
EVMC4Uの素の実装そのままだとその場から移動ができず、背景モデル等を設置しても動くことができないため不便。
またメニューをVR空間の目の前に呼び出したいので、XR-Interaction-Toolkit-Examplesを触ってみることに
WIP

参考記事

https://note.com/suzuran_amano/n/nc46632cdccf9

ふぁゔふぁゔ

細かな調整をしてみる

TODO

  • 視点がアバターの目と目の間の位置に来ない問題を解決する
  • 落下したときにリスポーンしたい
ふぁゔふぁゔ

視点位置調整のための研究

XR Originの「Tracking Origin Mode」が気になった
コード内コメント郡を和訳(ChatGPT翻訳)
検証中です

NotSpecified(デフォルト)

  • トラッキング原点モードをに設定する。
  • 入力デバイスは最初の既知の位置に対して追跡されます。

Device

Floor

ふぁゔふぁゔ
/// 入力デバイスのデフォルトのトラッキング原点モードを使用します。
NotSpecified,

/// トラッキング原点モードを<see cref="TrackingOriginModeFlags.Device"/>に設定します。
入力デバイスは最初の既知の位置に対して追跡されます。
/// デバイス相対のトラッキング原点を表します。デバイス相対のトラッキング原点は、通常、リセンタリングイベント、電源オン、AR/VRセッションの開始時など、
過去のある時点でデバイスの空間内の位置におけるローカル原点を定義します。
デバイスから提供されるポーズデータは、このローカル原点を基準とした空間内で返されます。
つまり、このモードで返されるポーズには、ユーザーの身長(VRの場合)やデバイスの高さ(ARの場合)は含まれず、
XRデバイスのカメラトラッキングは、手動でオフセットを調整する必要があります。
/// <seealso cref="TrackingOriginModeFlags.Device"/>
Device,

/// トラッキング原点モードを<see cref="TrackingOriginModeFlags.Floor"/>に設定します。
入力デバイスは床上の位置に対して追跡されます。
/// 使用されているXRデバイスによって決まる「床」または他の表面の位置が(0, 0, 0)になるトラッキング原点を表します。
このモードでは、XRデバイスによって報告されるポーズ値には、この表面上のXRデバイスの高さが含まれ、
ユーザーの位置のカメラトラッキングのオフセットを行う必要がありません(VRの場合はユーザーの身長、ARの場合は床からデバイスまでの高さ)。
/// <seealso cref="TrackingOriginModeFlags.Floor"/>
Floor,