VRChatでDJをするための環境づくりメモ
普通のDJ、配信のDJ、VRchatのDJの違い
OBS使う頻度が違う
配信 ≧ VRchat > 普通
※OBS? ⇒ Open Broadcaster Software Studio
フリーの動画配信ソフト。
https://obsproject.com/ja
普通のDJはリアルのハコでお客さんと対峙しているのだから、
フロアの光景や自分のプレイを動画で流したいなどの
DJやオーナーの要望が無い限り、そもそもOBSの利用は必須ではない。
が、VRChatや配信でプレイするDJの場合は、一旦ストリーミング
サービスに動画や音声データを送ることから始めるので、OBSが
無いと始まらない。
※正確には、VRChatにはミックスした音声だけ送りこむことも
出来るので、OBS無しでも出来なくはない。が、VJ的な要素は
その時点で諦めることになるので、ほぼ100%の人がOBS使ってる。
「遅延」がある
VRChat ≧ 配信 > 普通(←遅延無し)
DJデッキから出した音が、実際にフロアや視聴者の耳に届くまでの
タイムラグのことで、それぞれこういう経路になるから、本来は
VRChatが一番遅延に困らされる作りとなっている。
普通: DJ → 目の前のお客さん
配信: DJ → 動画ストリーミング基盤 → ブラウザ見てる視聴者
VRChat: DJ → 動画ストリーミング基盤 → VRchatサーバー
→ ワールド内のお客さん
が、実際の遅延順序はこう。
配信 ≧ VRChat > 普通(←遅延無し)
理由は、動画ストリーミング基盤の種類の差にある。
いわゆる配信DJは、沢山の人に見て頂く必要等の観点から、
TwitchやYoutube等の閲覧者数が集まりやすく安定した基盤に
ストリーミングデータをUPするのだが、そういうところは
UPしたものがVRChatサーバー側でロード出来る状態になるまで、
結構時間が掛かるそうなのだ。
具体的にはTwitchで10秒前後、Youtubeに至ってはもっと掛かると
聞いたことがある。
対して、VRChat内で一般的に使われている動画ストリーミング基盤は
TopazChatやVRCDNといった種類のもので、こちらは即座にVRChat側に
転送出来る状態になる。東京でTopazChatを使ってるワールド内だと、
実際のDJブースからVRChat内のワールドに音が届くのに、3秒くらい
という感覚で、圧倒的に快適だ。
https://tyounanmoti.booth.pm/items/1752066
※ちなみにTopazChatは、よしたかさん(@tyounanmoti)やVoxelKeiさんが
(@VoxelKei)個人の負担で立ててくれているサービスで、サービスの
運用継続のためにPixivFANBOXにて有志の月額カンパを募っている。
https://tyounanmoti.fanbox.cc/
これだけ利用されているサービスとなると、毎月膨大な請求が届いてる
はずなので、個人の方は無償で良いですよとは仰って頂けているが、
VRDJの方々はなるべく前向きに月額カンパに参加すべきでは、と思う。
TopazChat無いと、どれだけDJストリーミング系のワールドの活気が
下がるかを想像して頂きたい。
落ちるOBSとの戦い
配信DJやVRDJの生命線となるOBSは、イベ中でも容赦なく落ちる。
配信開始にした途端にGPUのパワーを物凄い持っていかれるので、
ちょっとギョッとする。
ちなみに、OBS落ちたら客は乾杯してDJにドンマイするのがお馴染み。
ええ、DJさんが悪い訳ないものね。そりゃそうです。
これについては、おそらくは対策はなさそう。
より早くて安定したWAN回線、より早くて安定したPCを用意する以外に
ないものと思われる。OBSを複数PCでスケールアウトさせて落ちにくく
させる等の方法が取れるのであればお聞きしたいが、見たこと無い。
ワールドが落ちるのとの戦い
VRChatは、人気が高いイベントだと開始早々にそのイベントの参加権で
客が競りあう展開になり、イベント参加用の定員枠が開幕数秒で100%に
なるみたいなことも起きる。これは通称「JOIN戦争」と呼ばれている。
で、そんな感じのワールドでは、あまりにサーバーの負荷が上がり
過ぎると、どんどん動作がモッサリしてカクついた表示になっていき、
最終的にはTimeOutのメッセージなどで問答無用に参加中のワールドを
追い出されてしまうなどのことも起きてくる。
リアルだと追い出されることはないが、VRChatでは容赦なく
追い出されるので、それが嫌ならPCや回線をなるべく
ハイパワーにするしかない。ので、ハマると初期投資が
凄いことになってき始める。振り落とされないように
しがみ付くのがVRChatの世界。
DJとしてのキャラクター設定を考える必要がある
中の人、つまりは「本人」をDJとしたいのか、
用意した「アバター」をDJとしたいのかによって、
操作方法も結構変わるものと思われる。
もし後者を選ぶ場合、普通のDJや配信のDJと違って、
VR用のコントローラーを握ったままPCDJ触る感じになる。
更に凝るなら、身体に位置情報のトラッキングセンサーを
付けてプレイするなども必要になる。
PCDJ操作においてのコントローラーの必須条件は、
①自分の手にストラップなどで固定してしまえること。
②なるべく小さく、PCDJの操作時にぶつかりにくいものを選ぶこと。
※尚、2022/12現在、PCDJ操作という観点では
おそらく一番使いやすいのがValve Indexのコントローラー。
Quest Proのコントローラーも、ストラップを買い足せば使いやすそう。
eteeコントローラーは、使っている人を見たことないのでわからない。
見た感じでは、凄く指の自由度が高そうで良さそうな品に見えるが
納期が不透明なので、購買層に敬遠されているものと思われる。
DJとして「本人」を前に出すなら、こんなことは必要ない。
部屋にカメラを一台用意し、自分のプレイをそのまま
ストリーミングサービスに送り、それをVRChatに転送すればいい。
が、「自分の用意したアバターがDJをしている」という絵面に
したいなら、コントローラー握りながらPCDJ弄るやり方に
馴染まないとダメ。
ちなみにVRDJといえば、この方が達人中の達人。
https://www.sharpnel.com/
例え地球の裏側相手でも同じイベントに参加出来る
この点については配信やVRは非常に強く、
南アフリカ ヨハネスブルグとリアルタイムにクラブイベントが
開催され、そこに双方のDJや演者が入り込むなどのことが
あっさり出来てしまうのが素晴らしい点だ。
リアルだったら下手すりゃ1ヶ月前に言えよという企画が、
前日の晩に「明日俺達のイベントでタイコ叩いてくれヨ!」と
気軽に誘われ、それでホントに叩くことになり、それでも
何とかなったという実例を先日も観た。
これが配信とVRのヤバさだ。コストゼロでこんなウルトラCが
出来てしまうのだ。言語も通じにくい相手とだ。
しかも、イザとなれば通訳出来そうな人をフレンドで探せば
見つかってしまう訳だ。
特にVRは、HMDを被ったことが無い方には実感の沸かない
話かもしれないが、配信の動画を見るものとVRとでは
全くの別物である点を訴求したい。
VRの世界は「奥行き」が存在するので、単眼視点の配信動画とでは
没入感が全く異なるのである。
引っ掛かったところ
HMDを被りながらPCDJコントローラーなんぞ触れないぞ?
⇒ 書いた後にいくつか案を頂いたので加筆修正。方法は三つ。
①HMDをおでこにずらして被る。
②XSOverlay(有償のSteamのソフト)を買う。
③トラッカーとドングルを買い足し、おでこにバンドで固定する。
①は、VRDJ中はHMDをずらし、おでこに被るみたいにして
プレイする方法。キャップ被るとずり落ちて来ず、便利だそうだ。
ただ、それやるとHMDが被ってないと検知して
勝手にスリープモードになったりするので、
自動スリープモードは解除させないといけない。
ちなみにQuest2の場合は、目の間、眉間あたりのところに
センサーがあり、それが被ってるか被ってないかを
検知しているらしいので、そこにガムテ貼り付けたら
スリープしなくなった。
②は、PC使ってVRに入ってる場合に限定されるが、
HMD内の表示にPCのデスクトップなどを挿し込むソフトを使う方法。
これでPCDJソフトのウィンドウをVR内に表示させてしまえば、
PCDJコントローラーのスイッチ配置を完全に指で覚えているDJなら、
被りっぱなしでもプレイ出来てしまうということだ。
XSOverlayはPCDJソフトに限らず、TwitterやDiscodeも見ながらプレイ
出来るという様々な使い方が出来るソフトであり、PCでVRに
ダイブする人は、必携のソフトの一つかもしれない。
尚、②を行っている方の経験則によると、それでも完全に実際のPCDJを
見ずに操作をしている訳ではなく、HMDの隙間からPCDJを見つつ
操作をしているとのことであり、視界が十分でないために、
操作に注意が要るとのコメントを受けている。
そうした方の場合、PCDJのつまみをクロマキャップなどで
少しでも誤操作をしないように工夫をしているそうだ。
③は、HMDの代わりにVIVEトラッカーをおでこに巻き付けて
トラッキングする方法。詳しくはDJ SHARPNELさんのこちらを参照。
ただ、出来るには出来るが、DJプレイ後にHMDにトラッキングを
その場で切り換えられるのは難しそうなので、JOIN戦争が起きてるような
人気イベの場合はDJさんがワールドに再度入れないというような事態が
起こり得そうなため、配信専用の方法といえるものかもしれない。
ケーブルレスでバッテリー駆動にしてると、HMDの電力消費が
早くて困る
⇒Quest 2 の場合は、給電をPCのUSBではなく、ACアダプタから持って
くるようにしたら解消した。ちなみに以下の製品は、Quest 2
ユーザーのVRDJさんが実際に使ってて大丈夫なものである。
Alxum Quest 2用ケーブル 5M
https://www.amazon.co.jp/dp/B0BKPK1N1R/ref=cm_sw_r_api_i_JG1MNPDSF4MQRWBYD852_0?_encoding=UTF8&psc=1
Anker PowerPort III 65W充電器
https://www.amazon.co.jp/dp/B088R6SV4Z/ref=cm_sw_r_api_i_7MWN4VC49BECZ7PJWXHM_0?_encoding=UTF8&psc=1
尚、この件に関しては完全にケーブルレスで、後頭部に外部
バッテリーを括り付けて運用するスタイルの人もおり、ダンス等で
激しく動くことのある人は、そちらのやり方の方が良いかもしれない。
PCDJからの音をヘッドホンで聴いていると、ワールド内の会話が聞けない。
⇒Quest 2 のスピーカーからワールド内の会話だけを音量MAXで出させ、
ヘッドホンの横辺りで喋らせれば、ギリギリ聞こえるとのこと。
OBS配信時の設定状態はどうしておけばいいかが解からない。
⇒これはその人の環境次第だが、実際にVRChat内でVRDJとして
回している人の設定例がこんな風になっていた。
微細な環境の違いの差分は、実際に使いながらチューニングしていく。
おそらくこの設定例はBeatSaberのゲーム配信もやる人の設定なので、
もう少しパフォーマンスチューニング出来るはずだ。
https://vip-jikkyo.net/fps-drops-in-obs-studio
参考までに、TopazChatの推奨設定は以下となっている。
OBS等の動画配信ソフトを使用して、
下記の設定で配信開始してください。
- サーバー: rtmp://topaz.chat/live
- ストリームキー: プレイヤーの中央に表示されている文字列
- ビットレート: 映像2000kbps以下、音声320kbps以下
OBSであれば、下記の設定をすると遅延時間が最短になります。
- 映像 - フレームレート: 60fps
- 出力 - エンコーダ: NVENC
- プリセット: Max Performance
- Profile: High
- Look-ahead: OFF
- 心理視覚チューニング: OFF
- 最大 B フレーム: 0
画面の配信といっても、何を流せば良いか?
⇒一番簡単なのは、VRC内のカメラをストリーミングモードにし、
それで映してるVRchatのウィンドウをOBSで配信すること(※)。
が、ここは本来DJやVJの見せ場的なポイントでもあって、
やれるならまずは↓とかを入れるなどして
少しライブ感をUPする方が良いのだと思われる。
金があるなら有料のヤツなどすれば、もうちょい凝れる。
https://www.plane9.com/
※これ、簡単なのだけどPCが結構ハイスペックじゃないとダメな
パターンで、NVIDIAだと3090以降くらいにしないと安定しない
とのこと。具体的には、セーフティOFF状態のアバター全員を
映せなかったりするそうです。
Questコントローラー持ちながらのPCDJ操作は実際出来そうか?
⇒最初に書き込んでから、いくつか意見が寄せられたので
加筆修正した。まず、やり方は3つに分かれる。
①普通に手でコントローラー握りながらPCDJを操作する。
②コントローラーを握らず、手首に固定してトラッキングだけ
させながらPCDJを操作する。
③Questのハンドトラッキング機能を使う。
多分、こんな感じ。
操作のしやすさ: ③ > ② > ①
トラッキングの飛ばなさ: ①=② > ③
アバターの見映え: ① > ②=③
注意して頂きたいのは、①はかなり手がデカくないとおそらく無理。
親指と中指でEQを回す感じになるので、手が小さくて親指と中指が
くっつくのがギリギリという感じの方には難しいかもしれない。
あと、例え手が大きくても、Questコンの白い輪っかが邪魔なので、
かなりやり辛いことに変わりはない。
いずれのやり方にせよ、予めその日回す曲のプレイリストを
作成しておき、一切PC触らずに曲選択出来るところまで
準備しておけば、やれなくは無さそう。Questコントローラーを
手に固定したままキーボード操作とか、割と無謀。
キーボード操作するには邪魔過ぎる。
慣れるまでは仕込みしてナンボという印象。
②の方法も有力らしいのだが、実際にそのスタイルで回している
経験者に会ったことがないので、メリ/デメがハッキリしない。
いずれ経験者にあったら、その際に加筆する。
③のハンドトラッキング機能は、PCDJ操作のしやすさはダントツ。
何しろコントローラーそのものを握らずに済む、唯一の方法だ。
特にバイナルを音源にしたり、DVSでPCDJを操作しているDJは
見渡した限り③のパターンが多い。
Quest は HMD に周囲をスキャンするカメラが付いており、
常に自身の前方や側面をスキャンしている。そして、それを
利用することで、スキャンした「腕」や「手」の動きを、
コントローラー無しでアバターに連動させることが可能だ。
但し、それでもこの方法を優先的に挙げてなかった理由もあって、
トラッキング範囲がかなり狭いのだ。
PCDJ触ってる最中の真正面とそのちょっと横くらいの
範囲じゃないと、少し側面のデバイスを見ようと横を
向いただけでトラッキング範囲から外れ、腕が明後日の
方向に飛んで行ったりして見た目がホラーになるので、
可能であればコントローラーを握ってやった方が
端からの見た目に関しては、よろしいかもしれない。
これは使うか否かは、個人の判断に任せたい。
Virtual Desktopをストアで買えば、このカメラスキャンタイプの
ハンドトラッキングでVRChatに入れるはずだ。
※2022/12/28現在の調べたこと。また調べつつ、適当に加筆します。
この記事が気に入ったらサポートをしてみませんか?