見出し画像

HTC Vive XR Elite 初期設定の覚え書き(VIVEフェイシャルトラッカー編)


はじめに

以下の前編もお読みいただけると幸いです。

VIVEフェイシャルトラッカーを取り出そう

1.付属品類の確認

  • VIVEフェイシャルトラッカー(XR用)

  • 専用フェイスガスケット

  • ガスケットスペーサー 2個

  • セットアップガイドと安全ガイドと保証ガイド

2.セットアップWEBページへ

HTCがセットアップガイドと称する物を確認します。
書かれているのは"WEBを見ろ"です。

上記が"WEBで見ろ"のリンク先になります。
本体の時と同じく書かれているリンクから飛ばされる形ですね。

VIVEフェイシャルトラッカーを取り付ける

上記の説明がしっかりしているので、確認したら問題ないです。

1.HMDとフェイシャルトラッカーのガスケットを取り外します。
ガスケットに互換性がないのでHMDのガスケットは仕舞います。

2.HMDのレンズ右下のUSB Type-Cポートを確認します。
こんなところにUSBポートが!って言われる事が多いです。

3.HMDのIPD調整レバーを一番外(~75mm)側に寄せましょう。
せっかく調整したIPDですがもう用なしです……。フェイシャルトラッカーが自動で調整してくれるようになります。
またレンズの視度調整はフェイシャルトラッカーが邪魔になるので調整が難しくなります。IPDも変わるし、トラッキングに目を動かすと視度が歪むので、いっそのこと視度調整は±0の方がいいかもしれません。

4.フェイシャルトラッカーの下にある折りたたんでいる部分を開きます。
開いた先には口元を捉えるカメラがあるので触らないようにしましょう。

5.開いて本体側にあるロックレバーを確認し解除しましょう。

6.HMDのUSBポートに合せて垂直にはめましょう。斜めに刺すと破損する可能性があるので注意しましょう。薄いので。
HMDのレンズと水平から奥になるまでしっかり差し込みます。手前に来ているとトラッキング精度に影響が出ます。HMDと隙間無くはめましょう。

7.取り付けが完了したらロックレバーでロックしたら完成です。
専用ガスケットを取り付けます。ガスケットスペーサーは付けるとトラッキングしやすくなりますが、視覚上の使用感は落ちるので難しいところです。メガネをするのであれば必須となります。

アイトラッキング初期設定をしよう

VIVEフェイシャルトラッカーを取り付けてHMDのスリープが解除されると、初回の自動IPD設定アイトラッキング設定が開始されます。

こちらの設定もバッテリーモードではなく、メガネモードで行うことを推奨します。付け外ししたり目との距離を広げたりと動かします。

以下のリンクは、初回ではなく2回目以降の説明だと思っていただいたほうがよいと思いますが、参考にはなりますので見ておきましょう。

アイトラッキングが正常に終わらない、上手くいかないときは、裸眼でガスケットスペーサーを取り付けましょう目とセンサーの距離が重要です。
箱の中でガスケットスペーサーは2枚重なっているので、1枚ずつはずして試して使いましょう。

VIVEホームに進み、前回のセットアップ編でのSteamVRの設定をしていれば完了です。SteamVRの"OPENXR APIレイヤーの管理"の設定を行っていない場合には設定を行ってください。

SteamVR "OPENXR APIレイヤーの管理" の設定例

VRプラットフォームで使ってみよう

VRChatやバーチャルキャストで使う際の設定をしていきましょう。

VRChatで使う設定をしよう(簡略)

VIVEストリーミングハブの設定>VIVEストリーミング>入力から"OSC経由でアバターデータをVRChatにストリームする"のアイ/フェイシャルトラッキングデータにチェックを入れている場合、そのままVRCで使用できます。
(SRanipalなどは必要ありません。しかし公式外使用をする場合には必要)

VRC内のオプション>OSC>有効で公式内の動作はします。
ブレンドシェイプの"まぶた"やボーンの"目"などに対応しています。
詳しくは公式を確認してください。
また"2023.2.1 Build 1295"以前にアップロードされたアバターには対応していないため、再アップロードが必要になります。

アバターアニメーションには対応していなかったと思いますが、左右独立もできたか不明です。現在は対応している可能性があります。
もしそれらをする場合にはSRanipalを使用して独自にOSCデータを作成、取得する必要があります。アバターもそれに対応が必要です。
"バーチャルキャストで使う設定をしよう"でSRanipalをセットアップする方法の説明も行いますので、御一読していただければ幸いです。

バーチャルキャストで使う設定をしよう

私のVRメインプラットフォームになりますので、こちらが主題になります。

バーチャルキャストではSRanipalの使用が必須になりますので、以下のセットアップを行いましょう。

SteamからVIVE Console for SteamVRをセットアップします。
無料なのでライブラリに登録しましょう。

セットアップが完了したのち、ライブラリからVIVE Console for SteamVRを選び、管理>ローカルファイルを閲覧からファイルの場所を開きます。
名前を変えていなければVIVEDriverフォルダが開くはずです。
そこからApp>SRanipalとフォルダを開いていき、sr_runtime.exeを見つけます。こちらはずっと使うことになるので、ショートカットを作るなどしていつでも開けるようにしましょう。

使用方法ですが、PCのVIVEストリーミングハブを起動し、HMDからVIVEホームのVIVEストリーミング(PCへの接続を行う)を選択します。
接続方法は前回のUSBもしくはWi-Fiで行います。

VIVEストリーミングハブがストリーミング中になり、SteamVRが正常に動作(HMDの表示がSteamVRホーム)していることを確認したら、先程作成したショートカットからsr_runtimeを起動します。これがSRanipalになります。VRCでもお世話になる可能性がありますので覚えておきましょう。

タスクバーのインジケーターのSRanipalの目がこの色なら成功です。
アイ、フェイスなどによって色が違うので、ViveProEyeとは違う色です。
認識に失敗している場合は目が光りません。

こちらはVIVEストリーミングハブがストリーミング中でSteamVRが起動している状態で行ってください。SteamVRが起動しているが準備完了などの場合はストリーミング中にしましょう。

これらを行う際に"適切なUSBケーブルを使用してください"と出る場合や、ストリーミングハブのヒントにエラーが表示される場合があります。これらは通信速度が足りていない場合に出ます。
ストリーミンググラフィックの設定で画質を落とすなどして速度を確保しましょう。通常使用では問題ないがフェイストラッキングを使用すると通信量が激増するのが原因のようです。
USBを使用する場合は、できるだけUSBハブを介さずに直接PCのUSB 3.1以上に接続するのが正解のようです。これは準備編でも書きましたが通信速度を妨げるものがあるとやはり失敗するようですね。

ここからはバーチャルキャスト側の設定を行います。
バーチャルキャストをSteamもしくはSteamVRホームから起動します。
PCデスクトップのバーチャルキャストアプリの歯車から詳細設定>デバイスを開きます。そして以下の画像のように設定してください。

PC側のバーチャルキャスト画面から設定します。

"ViveProEyeの眼球のトラッキングを使用する"が全ての"VIVEのアイトラッキング"の設定になります。……修正要望だしておきましょう。

値のX補正値とY補正値は、眼球の動きの倍率です。1だとほぼ動きません。どのくらい動かすかはアバターの設定にもよりますので確認してください。
大げさに動いた方がカメラ写りは良くなりますが、顔を貫通するほど動いてしまう場合もあるので要チェックです。
(バーチャルキャスト内の話ですが、VR内のモニターカメラでは画質によっては正常に見えないので、表示画質を上げるか、ストリーミングカメラを通してからモニターで見ましょう)

"ViveProEyeの瞼トラッキングを使用する"にチェックをいれた場合。
フェイシャルトラッカーからまぶたのトラッキングを行います。
左右別々に動作するのでウインクなどが行えます。
このさいには自動まばたきは停止します。

"VIVEフェイシャルトラッカーを使用する"にチェックをいれた場合。
"aiueo"のブレンドシェイプに対応して動かすことが出来ます。
(VRM規格にはパーフェクトシンクが設定されていない為、あくまで口を動かすだけになります)

"表情変更中でも眼球操作を使用する"にチェックを入れた場合。
コントローラーから変更できる表情4種類を使用しているさいにも、アイトラッカーの眼球の動きを上乗せすることが出来ます。そのさいはまぶたの動きはトラッキングしません。

これでバーチャルキャスト内でVIVEフェイシャルトラッカーの使用ができるようになりました。

が、ここで注意点なのですが……。
とりあえず口を捉えるカメラの折りたたみを開くのを忘れないでください。
ここで開いて居らずトラッキングしないという方がまれにいるようです。

VRMアバターで眼球や口の動きなどの詳細設定

以下の項目をUnityで各自設定しましょう。
口に関してはブレンドシェイプの"aiueo"の設定になります。
下記のサイトは目ボーンの設定ですね。

アイトラッキングを目ボーンではなくブレンドシェイプで行う場合には、VRMLookAtBoneApplyerを削除してVRMLookAtBlendShapeApplyerをアタッチして使用します。

VRoidなどでは基本として設定されていますが、購入アバターによってはどちらも設定されていない場合があります。

パーフェクトシンクとは?

フェイストラッキングによって聞くことになる単語だと思います。
こちらはフェイシャルトラッカーなどによって顔の全体表情や舌などのトラッキングができる設定になります。
これには複数の種類があり
・OpenXRの規格(UnityやUEなどで使うベースになる規格)
・SRanipal SDKの規格(Viveなどが使用)
・Meta SDKの規格(QuestProが使用)
・iOSの規格(iPhoneやiPad、FaceRigなどで使用)
の汎用のOpenXRを除く3種類の規格があります。
MetaとiOSではトラッキングする位置と対応するブレンドシェイプが異なります。後者はFaceRigなどカメラトラッキングがメインだからですね。
VRではMeta互換規格がほとんどでしょうか。

VRC(要公式外設定)やFaceRigなどではパーフェクトシンクが使えますが、バーチャルキャストでは使えません
何故かというと、バーチャルキャストで採用されているVRM規格にパーフェクトシンクが設定されていないからですね。
これを対応してもらうには、VRMを規格化しているVRMコンソーシアムに要望を出すしかありません。
パーフェクトシンクは標準規格にも定義されていないので。

設定はここまで

VIVEフェイシャルトラッカーはここまでの設定で使えると思います。
IPDが変わったり電力喪失するとアイトラッキングの再トラッキングが必要などありますが、設定そのものは難しくありません。
個人的な意見ではありますが、元から有線のViveProEyeに比べると、無線でPCと繋いでいる分だけ面倒が増えている感じがします。エラーの大半がPCとの間の通信問題ですからね。

それではここまで読んでいただきありがとうございました!
以下は雑記になります。

バーチャルキャストで某氏が舌を動かしてなかった?

これなんですが、登録できる表情4つ(コントローラ上下左右)を使って、舌のブレンドシェイプを設定して、その方向に動かしていただけですね。
特にフェイシャルトラッカーは関係ありません。
"aiueo"が必要無いアバターであればその部分に何らかのアクションをいれることで色々な変化を付けることは可能ですね。
(さすがにしゃべると大変なことになりますけど)

メガネモード推奨しすぎじゃない?

設定するときは付け外しに便利だから。だけではなく、有線で電力を使うならバッテリーモード必要ないんですよね。本体にも10分程度のバッテリーがあるので変な途切れ方をしない限りは有線で問題ありません。

重量バランス的にどうなの、というのは実のところバッテリーモードでもバッテリーが重いうえにバランスが悪いので。ずり上がってきたり下がったりと忙しいだけです。頭頂部バンドがないから中心支えできませんからね。

実はXREliteに付属する頭頂部向けバンドがあるのですが、メガネモードで使用しつつ、後頭部に引っかけるように使うと安定します
使用方法だと頭頂部に乗せているのですが、後頭部バンドとして使うのがベストだと私は思います。ゴムなので伸びますし。
メガネモードだとずり下がるという人は試してみてください。
(VIVEフェイシャルトラッカー専用ガスケットもしくはナローガスケット時のみで、通常のガスケットでは使用できない方法です)

こちらはあらたにXRElite用のデラックスキットが発売されるので、バッテリーを使用してもバランスが取れるようになるかと思います。

視界が歪んで目を動かすのが辛い?

視度調整を±0にしましょう。レンズなので中央のスイートスポット以外は歪んでしまうのはパンケーキレンズの宿命です。
目を動かす以上スイートスポットから外れがちになってしまうので、視度調整は使用出来ないと思った方がいいです。

メガネやコンタクトレンズ、VRsatile/ヴァーサタイルなどを使うことになるでしょう。ただしメガネはアイトラッキングのセンサーの邪魔にならないものを使わないといけませんが。
(メガネのレンズが通常より大きい物やツルが光を反射しない物)
VRsatile/ヴァーサタイルも公式推奨されていません。サイズ的に幅ギリギリです。専用ガスケット以外では入らないので使えません

正直、XREliteってどうなん?

アイトラッキングができるものとしては……。
ProEye>>Focus3≧QuestPro>>XRElite 弱になります。
設定面でも精度でもProEyeを超える機種は今のところありません。
Focus3とQuestProはフレネルとパンケーキレンズの差があるので見た目上はQuestProなのですが。MetaSDKしか使えないので汎用のFocus3の方がよいですね。解像度もFocus3の方が高いです。VRCならQuestProでしょうか。

レンズサイズが他の機種はどれもXREliteより大きいという点で目を動かしたときの視野が違ってきますね。XREliteはどうしても小型化と視度調整のせいでレンズが小さいので目を動かすとレンズの端を見てしまいます。

ViveProEyeは終売品のため、手に入れるには中古しかありません。
QuestProも2023年末に製造部品の納品を完了したということで、終売に近づいています。在庫がなくなり次第という感じでしょうか。
Focus3は今のところビジネスモデルとしてHTCの主力から変わらないということなので、Focus3を買った方が安全かも?という面がありますね。

小型である、バッテリーを必要としないので軽い、後頭部に当る物が無い、という点がXREliteの利点となりますので、それが必要か否かですね。
所謂、VR睡眠のような後頭部に何もない方がよいのなら良いのでは?

私個人としては、重量という身体上の制限を抱えていなければFocus3の方が良かったと思います。軽いというその1点においてはXREliteを超える物がないので。(アイトラなしなら存在するが、値段がより高い)

アイトラッキングを搭載したSONY PSVR2がSteamVRで使えるようになるアダプターを2024年8月に販売します。
ただし、公式ではPCでの使用でアイトラッキングは非対応となっています。
こちらは非公式互換エミュレータのiVRyさんが対応してくれることに期待ですね。 (初代PSVRをSteamVRで使えるようにしたところです)

Pimax?しらないこですね……。

以上!

続きはこちら


いいなと思ったら応援しよう!