仮想トラッカーを追加して3点トラッキングでもフルトラのように振る舞える、「Standable: Full Body Estimation」のバージョン2.0がリリースされました。新規に書き直されて、新機能と共に設定UIも実装しています。既にバージョン1を購入していた場合は無料でアップデートされます。
Standable単体での利用に加えて、他のトラッカーと併用するための機能も追加されています。特に、トラッキングが失われたときにStandableへフォールバックする機能は有用そうです。
バージョン2.0ではVirtual Desktopと併用した際に遅延などが生じる問題があるようで、2.0.1で一時的な回避策が用意されました。肘の挙動などについても今後改善を検討しているそうです。
尚、もし問題があってバージョン1.1に戻したいときは、Steamのベータ版設定から戻すことができます。
バージョン2.0時点での情報です。バージョン2.1からの情報は公式マニュアルが非常に分かりやすく書かれているので、是非そちらを参照してください。
【2024/12/21追記】🎉Standable:FBEの公式マニュアルが開設されました。🎉
リリース間近のバージョン2.1向けに書かれていますが、2.0でもある程度は利用可能です。
もう説明動画を観る必要はありません。
とても分かりやすい公式情報となっているので、是非確認してみてください。
【2024/12/28追記】バージョン2.1がリリースされました。
新機能の概要
設定UIの実装
- 座ったり寝転んだときのポーズをコントロール
- 腰の動きが調整可能に
- 再起動不要でトラッカーをオン・オフ可能に
- トラッキング状態に応じてトラッカーモデルの色が変わる
- 「Standabuddies」と呼ばれる、新しいトラッカーアイコン
IKと推定の改善
- 身体が手についてくるような動きをしないように
- 寝転がったときの改善
- 自然な歩行に改善
- ポーズの遷移をスムーズに
高度な推定オプション
- 椅子に座ったときのポーズを追加
- 両手を肩の近くに置き、胸をダイナミックに動かす?
混在トラッキング機能
- 既存のトラッカーとStandable仮想トラッカーが混在可能
- トラッカーとリンクして、Standableにフォールバックできるように
- トラッカーの動きをスムーズに補間
クイックキャリブレーション
- アバターに合わせてトラッカーのアラインメント調整を行う事が可能に
- 棒立ちのポーズを使った、混在トラッキング使用時のクイックキャリブレーション
- スマートオフセット機能による、一貫した混在トラッキング時のクイックキャリブレーション
基本の使い方
初期設定
SteamVRのアドオンでStandableが有効になっていることを確認しておきます。
※以下はバージョン 2.0での情報です
初回起動時だけ、床の高さを設定する必要があります。一度行えば、次からは行う必要はありません。床の高さを設定するには、コントローラーを床に置いた状態で立ち上がります。3回ポップ音が鳴れば設定完了となります。
床の高さを設定した後は、「Lock Floor Offset」にチェックを入れておきましょう。
【追記】バージョン2.0.1からは詳細設定に「Set Floor To Controller」ボタンが追加されました。コントローラーを床に置いたあと、立ち上がらなくてもそのボタンを押せば床の高さを設定できます。もし、床の高さがマイナスになってしまう場合は、本などの上にコントローラーを置いてみる方法があります。色々と困ったらReset Profile Fileボタンを押してから立ち上げ直してみましょう。(※/Steam/steamapps/common/Standable Full Body Estimation内にあるiniファイルが削除されます。)
キャリブレート方法
通常通り、VRChatのキャリブレーションモードを実行します。(キャリブレート時に表示されるモデルは、「System」に設定しておくのがオススメです。)
VRChat側のキャリブレーションモードの状態でTポーズ(手のひらは下)を取ると、1回クリック音が鳴ってトラッカーがアバターへスナップされますので、両手のトリガーを同時押しして確定します。その後、腕を下ろして棒立ちのポーズを取ると2回目のクリック音が鳴ってStandable側の調整が完了します。
キャリブレーション時は正面を見るようにしましょう。足元を見たりしないようにしてください。ズレます。
トラッカーの位置を調整する
設定画面右上にある、Alignment機能を使ってトラッカーの位置を調整できます。足の距離・足の回転・全体の奥行きの3つを調整します。機能が有効になっているときはボタンが水色になります。
それぞれのボタンを押して有効にした状態で、コントローラーを前後左右に動かしたり、回転させたりして位置を調整します。また、3つ同時に調整を行う事も可能です。
足の距離(Stance) | コントローラーを近づけたり遠ざけたりする |
---|---|
足の回転(Rotation) | コントローラーを回転させる |
全体の奥行き(Depth) | コントローラーを前後に動かす |
詳細設定から位置を調整する
右下のバージョン番号をクリックすると、詳細設定が開きます。(※バージョン2.1からはAdvanced Settingsと書かれるようになりました)
ここにデフォルトの数値を入れて設定することも可能です。アバター毎に微調整する必要が無い場合や、どのアバターでも位置が大体同じ場合は、予めここで設定しておくとキャリブレーション時に調整しなくて済むので楽です。
バージョン2.1からは数値入力ではなくスライダーでの調整に変更されています。
Tポーズキャリブレーションを無効にする
キャリブレーション完了後、うっかりTポーズを取ってキャリブレーションモードに入るのを防ぐために、「Tpose Calibration」をオフにできます。基本的には無効にしなくても大丈夫です。
ポーズのカスタマイズ機能
座ったときの足の深さや広がり具合を調整して、ポーズをカスタマイズします。
バージョン2.1ではスライダーのデザインと並び順が変更されました。ぱっと見で分かりやすくなったので、迷いにくくなったと思います。
床に座ったときのポーズ
「Sit Depth」と「Sit Spread」のスライダーを調整します。
「Sit Depth」は座ったときの足の深さの調整です。スライダーを右に動かすと足を伸ばして座るようになります。「Sit Spread」は足の広がり方の調整で、スライダーを右に動かすと足を広げて座るようになります。
両方のスライダーを左に動かすとあぐらをかいた状態になり、右に動かすと足を投げ出して座る形になります。
寝転がったときのポーズ
「Lay Depth」と「Lay Spread」のスライダーを調整します。
先程と似たような感じです。お好みの感じになるまで自由に弄ってみてください。
(リアルで寝転がる姿勢が取れないので端折ります……。)
椅子に座ったときのポーズ
「Seat Estimation」が有効の時に使用されます。
「Seat Depth」で足の伸ばし具合を調整し、「Seat Spread」で足組みの状態を調整します。
その他設定例。
椅子に座る際は、まずはその場で少しかがんでから椅子に座ります。背もたれに向かって倒れ込むような動きをすると上手く行きやすいです。かがんだ後に後ろ方向への移動があると座ったと認識してくれる感じがします。ゆっくりと座ると反応してくれませんが、動画のように素早く座る必要はなさそうです。
こちらはバージョン2.1で「Seat Estimation Sensitivity」が追加されましたので、感度を調整可能です。Advanced Settingsの一番下にあるOtherの項目内に調整用スライダーがあります。
腰の動きの調整
腰の動きは、詳細設定で調整ができます。
「Hip Counterbalance」を大きくすると、頭を動かしたときに腰がバネの動きのように激しく動くようになります。
肘の回転オフセットの調整
詳細設定にある「Elbow Roll Offset」で肘の角度を調整できます。色々とポーズを取ってみて、思ってたよりも肘が上がっていないと思ったときに調整します。
仮想トラッカーをオン・オフする
StandableのUI上でトラッカー名をクリックすると、濃い灰色になってトラッカーがオフになります。
上の画像ではElbow(肘)トラッカーがオフになっています。例えば肘だけをVRChat側の制御にしたい場合にElbowをオフにすることができます。
トラッカーは左の電源ボタンで一括オン・オフ可能です。
他のトラッカーと組み合わせて使う
VIVEトラッカーやHaritoraXなど、SteamVRで認識されている他のトラッカーと組み合わせて使うことができます。設定UI右下の「Mixed Tracking」の欄で各種設定が行えます。
バージョン2.1ではAdvanced Settings内のMixedTrackingという項目内に集約されています。
プロキシトラッカーの使用(Use Proxy Trackers)
「Use Proxy Trackers」をオンにしておくと、Standableを他のトラッカーとリンクさせて使用することができます。
Tポーズキャリブレーションを行うと、Standableトラッカーに他のトラッカー(動画ではHaritoraXワイヤレス)がスナップされます。Tポーズキャリブレーションで両手トリガーを引いて確定した後は、そのまま腕を下ろして直立(棒立ちのポーズ)することで設定が完了します。
多少ズレているぐらいであれば位置を合わせてくれるようなので、VRChatのキャリブレーション時に鏡を見ながら位置合わせをする必要がなくなります。
「Pencil Pose」使用時は両足をくっつけてTポーズを取りましょう。
他のトラッカーと併用している際は、両足をくっつけてTポーズを取り、VRChat側でキャリブレーションを確定したら両腕を下ろして直立します。Pencil Poseを有効にした状態でキャリブレーションする場合、両足を少し開いた状態でキャリブレーションしてしまうと足がクロスしてしまいます。
Standableトラッカーは最も近いトラッカーとリンクされるので、トラッカーの位置によっては間違った物とリンクされてしまうことがあります。詳細設定からLink range(リンク距離)を調整してみてください。
フォールバック機能
設定UI及びVR上で水色になっているStandableトラッカーは、実在するVIVEトラッカーなどとリンクされた状態になっています。この状態でVIVEトラッカーなどがトラッキングを失うと、Standableの仮想トラッカーにフォールバックが行われるようになります。
例えばトラッカーの電池が切れたり、ベースステーションから隠れてしまった場合にフォールバック機能がトリガーされ、Standableトラッカーに切り替わります。フォールバック中はトラッカーがオレンジ色で表示されます。
動画ではHaritoraXワイヤレスの電源をひとつだけオフにしたときの挙動を確認できます。Haritora Configrator使用時のHaritoraXは1つでも接続が切れるとトラッカー全体が動作しなくなるので、このような挙動になります。
詳細設定では、フォールバックに移行する時間や条件の設定が行えます。「トラッカーを見失ったとき」や「あり得ない距離」に飛んだとき、「完全に切断されたとき」にフォールバックすることが可能です。VIVEトラッカーを使用していて頻繁にトラッキングが飛ぶ場合に有効かもしれません。
また、PICO 4 UltraとPICO Motion Trackerを使用していて自動スリープしてしまうときも、フォールバック機能があると身体が飛んでしまうのをある程度防げます。
トラッカーオーバーライド機能
設定UIにあるトラッカーの右上に小さな円があります。円が空欄の状態がデフォルトです。
トラッカー右上の小さな円をクリックして「~」アイコンにすると、Standable側の仮想トラッカーだけに切り替わります。もう一度クリックすると「🔄(回転する矢印)」アイコンになり、3DoF(回転のみ)での動作に切り替わります。
Standableのみに設定
「~」アイコンに切り替えることで、HaritoraXワイヤレス(動画内ではオレンジのトラ)が切り離されてStandableトラッカーのみで動作していることが確認できます。例えばPICO Motion Trackerを使っていて、長時間座ったり寝転がりたいときにも有用です。HaritoraXで長時間椅子に座ると姿勢が安定しないときにも使えます。
3DoF動作に設定
「🔄(回転する矢印)」アイコンに切り替えると、HaritoraXワイヤレスの回転だけを取得するようになります。(3DoFのみに)
動画では一括変更しましたが、通常は腰や胸といったトラッカーに使用する機能だと思います。例えば胸トラッカーに設定すると、ずり落ちてきてもトラッカーの高さが変わらないはずです。
大幅にアップデートされ、調整が利くようになった
バージョン2.0へアップデートされたことで設定UIが用意されるようになり、座ったときの足の状態も調整できるようになりました。肘トラッカーの回転オフセットも調整できるので、肘だけ欲しいって場合にも有用だと感じました。もちろん、VIVEトラッカーなどと併用した際にもフォールバックやスムージングなどの便利な機能が用意されていますので、既にトラッカーを持っている人にとっても嬉しいアップデートです。
機能が増えたことでややこしくなりましたので、慣れるまで時間が掛かりそうです。まだ他のトラッカーを組み合わせた際の動作を把握し切れていません。より詳しい情報はバージョン2.1アップデート時に公開された公式マニュアルを見るのが良いと思います。
他の仮想トラッカーと併用できる?併用しても良い?
例えば肘だけStandableを使用したり、全体のプロキシトラッカーとして併用するといったことは可能です。
但し、Virtual DesktopやPICO Motion Trackerの仮想トラッカー部分にプロキシトラッカーとして設定すると、Tポーズキャリブレーション時に仮想トラッカーの位置がStandable側のトラッカー位置に移動してしまうので、不自然な挙動になる可能性があります。Standableトラッカーの位置を上手く調整する(※バージョン2.1から可能)か、必要な部分だけ有効にして使用するといった手段を取る必要がありそうです。
Virtual Desktop使用時の問題回避策について
2.0.1から詳細設定の一番下にVirtual Desktopセクションが追加されました。
「Auto Detect VD Issues」にチェックを入れた状態であれば、一時的な回避策が使用されます。
それでもまだ問題がある場合は手動で回避策を実行するようにします。手動にする場合は「Disable Velocity Math」にチェックを入れて、「Auto Detect VD Issues」のチェックを外してみてください。PICO Connect使用時に違和感を覚える場合も、手動で回避策を選択すると良いかもしれません。
CPU負荷が高い?
Standable実行中は「VRServer」の負荷が高くなるようです。バージョン2.0では、Ryzen 7 5800X3D環境で20%程度CPU負荷が上がっているのを確認しました。(Intel CPUでも同様の高負荷が報告されています。)これはStandableの動作に必要な計算処理なのか、それとも何か不具合が起きていて無駄な処理が発生しているのかは不明です。
一時的にStandableを使用しない際は、Standableをオフにする(Standable UI上の電源ボタンを押す)と負荷は下がります。SteamVRアドオンを無効にする必要はありません。
バージョン2.1で修正されそう
バージョン2.1ではパフォーマンスや精度が向上するとのことで、ベータ版の様子を見る限りではCPU負荷は小さくなったと思われます。正式リリースを待ちましょう。
(おまけ)UIを翻訳してみた
今のところ英語のみなので、スクリーンショットを画像編集して日本語に訳してみました。
しかし、どういった動作なのかイマイチよく分からなくて直訳になっている部分や、勘違いしている部分もあると思います。2.1アップデート後はUIが大きく変更されるのであまり役に立たなくなりますが、参考程度にどうぞ。
2024/05/24:参考動画や、フォールバック機能などを追記
2024/07/25:CPU負荷について追記
2024/09/24:2.1アップデート予定について追記
2024/10/09:微修正
2024/10/10:PICO Connect及びPICO Motion Tracker関連の情報を追記
2024/10/12:文面の修正と動画の追加、ベータ版でのCPU負荷について追記
2024/11/07:寝ているときの動画を追加
2024/12/21:公式マニュアルが公開されたので情報を追記
2024/12/28:バージョン2.1がリリースされたのでいくらか加筆