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毒虎さん。

 が、「自分の用意したアバターがDJをしている」という絵面に
 したいなら、コントローラー握りながらPCDJ弄るやり方に
 馴染まないとダメ。

右から音鳴つむぎさん、Jentagawaさん、椿妃杏里さん。3人共VRDJです。

 ちなみにVRDJといえば、この方が達人中の達人。
 https://www.sharpnel.com/

例え地球の裏側相手でも同じイベントに参加出来る
 
この点については配信やVRは非常に強く、
 南アフリカ ヨハネスブルグとリアルタイムにクラブイベントが
 開催され、そこに双方のDJや演者が入り込むなどのことが
 あっさり出来てしまうのが素晴らしい点だ。
 リアルだったら下手すりゃ1ヶ月前に言えよという企画が、
 前日の晩に「明日俺達のイベントでタイコ叩いてくれヨ!」と
 気軽に誘われ、それでホントに叩くことになり、それでも
 何とかなったという実例を先日も観た。
 これが配信とVRのヤバさだ。コストゼロでこんなウルトラCが
 出来てしまうのだ。言語も通じにくい相手とだ。
 しかも、イザとなれば通訳出来そうな人をフレンドで探せば
 見つかってしまう訳だ。

いきなり前日に演奏頼まれ、地球の裏側とイベやった
ジャンベ奏者Maru-17さんとDJ Favisamaさん

 特に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コンの白い輪っかが邪魔なので、
 かなりやり辛いことに変わりはない。

Quest 2のコントローラー。
貴乃花くらいのデカい手のサイズの人で、親指と中指がこれぐらいの自由度。
これより手が小さいと、↓の画像のようにEQつまもうにも、なかなかやり辛くなってくる。
輪っかが邪魔過ぎて3,4番のデッキ使わないと、操作が非常にしにくい。
参考までに、VALLE INDEXコントローラーの場合だと、干渉する輪っかが無いので
かなり操作しやすい。
人差し指と親指で摘む余裕もある。
Quest Proコントローラーだとこんな感じ。輪っかが無くなり、かなり良くなった。
コントローラーの握った感じの大きさも、Quest 2 コントローラーと変わらないので、
親指と中指で摘むことで、Quest 2 コントローラーと同じ感覚でEQ操作も可能。
が、それでもいずれのコントローラーにも言えることだが、1,2番デッキで回すのはちと無謀。
両手同時にEQ操作出来ないと困る人は多いはず。 
ちなみに上図はTRACTORの2デッキタイプだが、実際の持ち主のお話では、
割と余裕を持って使えてるとのことです。
※手で持っている状態の写真はちょっと自分では撮れないが、
写真は実際にぶつかる時の状態を再現しているとのこと。

  いずれのやり方にせよ、予めその日回す曲のプレイリストを
  作成しておき、一切PC触らずに曲選択出来るところまで
  準備しておけば、やれなくは無さそう。Questコントローラーを
  手に固定したままキーボード操作とか、割と無謀。
  キーボード操作するには邪魔過ぎる。
  慣れるまでは仕込みしてナンボという印象。

  ②の方法も有力らしいのだが、実際にそのスタイルで回している
  経験者に会ったことがないので、メリ/デメがハッキリしない。
  いずれ経験者にあったら、その際に加筆する。

  ③のハンドトラッキング機能は、PCDJ操作のしやすさはダントツ。
  何しろコントローラーそのものを握らずに済む、唯一の方法だ。
  特にバイナルを音源にしたり、DVSでPCDJを操作しているDJは
  見渡した限り③のパターンが多い。

  Quest は HMD に周囲をスキャンするカメラが付いており、
  常に自身の前方や側面をスキャンしている。そして、それを
  利用することで、スキャンした「腕」や「手」の動きを、
  コントローラー無しでアバターに連動させることが可能だ。

  但し、それでもこの方法を優先的に挙げてなかった理由もあって、
  トラッキング範囲がかなり狭いのだ。

  PCDJ触ってる最中の真正面とそのちょっと横くらいの
  範囲じゃないと、少し側面のデバイスを見ようと横を
  向いただけでトラッキング範囲から外れ、腕が明後日の
  方向に飛んで行ったりして見た目がホラーになるので、
  可能であればコントローラーを握ってやった方が
  端からの見た目に関しては、よろしいかもしれない。
  これは使うか否かは、個人の判断に任せたい。
  Virtual Desktopをストアで買えば、このカメラスキャンタイプの
  ハンドトラッキングでVRChatに入れるはずだ。

※2022/12/28現在の調べたこと。また調べつつ、適当に加筆します。

この記事が気に入ったらサポートをしてみませんか?