Narazaka::Blog

奈良阪という人のなにか

VRChatのすべて(すべてではない)

VRChat口伝ノウハウ結構膨大にある気がするので、思いつくものを一度一括で吐き出してみようというやつです。

これを読めばVRChatの全てが分かる!!(大嘘

基本的にリンク集+αという感じですが、めちゃくちゃ色々手を広げて書いているので間違ってるとこ見つけたらコメントに書いてください。

なおこの記事はVRChat Advent Calendar 2020の6日目のやつです。

adventar.org

VRChatとは

普通のPC、VRヘッドマウントディスプレイありPC、Oculus Questシリーズ等でできるVRSNSです。

人が常時いて、自由度がかなり高くて、ノウハウも溜まっており、ゆるやかに社会が形成されています。VRという環境における「新しい体験」のほとんどはここで味わえるといっても過言ではない、非常な多様性を持ったプラットフォームです。

(VRChatよりもさらに機能的に何でも出来るプラットフォーム(NeosVR等)はあるんですが、良い意味であまり異次元の体験すぎない塩梅という感じがあります。)

基本

とりあえずVRChat始めようかなと思う人は以下を見ると良いです。始めた人も改めて読むと発見があるかも。

vrchatjp.playing.wiki

日本人の多いpublic

日本人たるもの、やはりまずは日本語で日本人とコミュニケーションしたいものです。

ワールド検索で「Japan」といれると色々出てくるのですが、それは罠というのが海外プラットフォームであるVRChatの辛いところ。

基本的には以下の紹介にある所にいくと良いです。まずは「[JP]TUTORIAL WORLD」または「[JP] QUEST日本人向け集会場」にいくのが吉。

vrchatjp.playing.wiki

ただしチュートリアルと書いてあるからと言って別にNPCや案内キャラクターが居るわけではないので、基本的には自分で文字を読んでいく感じですね。

人がたむろしている事は多いので空気感はつかめるかも知れません。 たまに親切な人がいて案内してくれたりもします。(VRChatには「トラストランク(ユーザーランク)」と呼ばれる初心者を区別できる仕組みがあるのでそれで判断されます)

なおインターネットサービスの常としてここにもいわゆる荒らしが居る可能性もあるので、運悪く当たった場合は再ログインするなどしてください。

マイク

VRChatは基本的に音声コミュニケーションを前提としたプラットフォームなので、コミュニケーションする場合はマイクがあることが望ましいです。

マイクがない場合や、あるいはマイクがなぜか入らない状態になった場合(あるある)は基本的にすべて身振り手振りで乗り切る必要があります。デスクトップの場合も首を縦に振る、横に振るのアクションで乗り切りましょう。

いちおう手に「ペン」を仕込んでいるアバターや固定の文字を出せるアバターが存在したり、ペンやキーボードがあるワールドも存在するので、マイクが半永続的に使えない場合はそれらでコミュニケーションする手段もありえます。

(いずれもPCのみ Questだとマイクがデフォルトであるので一旦)

アバターを探す

以下がおすすめ

vr-lifemagazine.com

操作体系

基本の操作体系はこちらに。

vrchatjp.playing.wiki

以下では初見で説明されないがちな所をあげます。

パニックボタン

VRChatではアバターに何でも仕込めるので、荒らしに対応するために「即座にフレンド以外のアバターを全部見えなくする」ための「セーフモード」あるいは「パニックモード」と呼ばれるショートカットがあります。

  • デスクトップ:両方のシフトキー+ESCキー
  • VRコントローラー:両方のトリガーまたは両方のグリップ+両方のメニューボタン
  • XBoxコントローラ:両方のトリガー+バックアンドメニューボタン

ただし操作に慣れていない時には意図せず押してしまうこともあり、突如アバターが見えなく、人の声が聞こえなくなってしまうので混乱することもあると思います。

f:id:narazaka:20201206154941p:plain
突然こんなキャプションが出てくる

曰く、 「あなたはセーフモードを有効にしました。 フレンド以外の人は全て音声ミュート・アバター非表示・その他アバター機能が無効化されます。 元に戻すにはSafetyメニューから他のSafetyモードにしてください。」

とのことなので、解除するにはSafetyメニューに行って普段使っているモード(おそらくNormalなど)にしたりすると良いです。

この機能はSafetyのCustomモードの所が強制的に変更されるため、普段Customで色々やってる人は再設定が必要です。

コントローラー設定

ゲームパッドVRの場合コントローラーの設定を変更することが出来ます。

ゲームパッドの場合

otasyumi.site

VRコントローラーの場合(Indexと書いてあるが他の場合でも手順は一緒)

note.com

「プレイスペースムーバー」

VRChat内で「浮きたい」「沈みたい」という状況が出てくる場合があります(上のものを見たいとか色々)。

VRChat外のVR操作補助ソフト「OpenVR Advanced Settings」を入れることでこれが可能になります(PCVR/Oculus Link等PCを使ったVR環境のみ)。 昔使われていたソフト名の名残で「PlayspaceMover」と呼ばれることが多いですが、現行はこちらの「OpenVR Advanced Settings」がおすすめです。

導入記事 vr-lifemagazine.com

機能解説記事 vr-maniacs.com

上に登りたい

VRChatterと煙は高いところへ上るので、よく屋根の上に登っている人がいたりします。

これは前に進みながらジャンプを連打するという操作で可能です。結構コツが必要ですが……。

ワールドに寄りますが垂直の壁でもこれで登れるため、意外と色々なところにいけます。

擬似的になら前述の「プレイスペースムーバー」こと「OpenVR Advanced Settings」で位置調整することでも移動可能です。

また飛行アバターを使うという手段もあります。

以下のワールドに飛行アバターがいくつかあります。

vrchat.com

また自分でアップロードするなら以下にあるアセットを使うと比較的実装がスムーズです。

nademofu.booth.pm

ジャンプが出来ないワールドではVRChat内手段が全て無効なので、前述の「OpenVR Advanced Settings」による移動のみが利用できます。

トラストランク

VRChatにはいわゆる荒らし対策のためにトラストランク(信用ランク)という物が存在します。

内訳など詳しくはこちら→ VRChatでトラストレベル別にできること

トラストランクを上げる大きなモチベーションとして、「Visitor(初期ランク)からNew Userにならないとアバターが自分でアップロード出来ない」というのがあります。

トラストランクを上げるには

荒らし対策という性質上、ハックされる可能性を避けるために方法が明示されることはありません。

VRChatとしては「単純に遊べば――探索したり、友達を作ったり、コンテンツを作ったりすることに時間をかければ、自然に上がる」的な言及しかありません。

また公式で「トラストランクを上げるのに寄与しない」行為は言及されています。

  • 立ちっぱなし・アイドリング(AFK)
  • 低労力のコンテンツを大量にアップロードする
  • 大量にフレンドをつくる

一方でトラストランクを上げるハックとして以下のような口伝ノウハウがしばしば上げられています。これらはある程度経験的に確からしいと思われるため、参考にすることに一定の価値があると思いますが、原則として所詮確度が低い憶測以上のものではありません。これらに従ったからといってすぐ上がるというわけではないことに注意して下さい。

  • 多くのワールドを遊ぶ
  • ワールドを公開する
  • トラストランクの高い人とフレンドになる
  • フレンドになる場合トラストランクの高い側からフレンド申請をする
  • 沢山フレンドを作る(上記で否定されているとはいえ常識的な数までは的な)

一般的にどのくらいでトラストランクが上がるのか

比較的トラストランクの高い人を含む十数人程度とフレンドになって数時間程度普通にプレイすればNew Userには上がる事が多いという感覚がありますが、個人差は大きいようです。

Visitorは無差別にフレンドを増やせる

この前提となる「比較的トラストランクの高い人を含む十数人程度とフレンドになる」ですが……

日本人が比較的居る時間帯(夜8時、9時~深夜2時程度が目安)にJPチュートリアルワールドやその他「日本人が多いワールド」のインスタンスに入り、自分が日本人らしいということを示せば(普通に日本語で話せば)周囲からフレンド申請を送ってもらえることが多いです。

むしろフレンド申請を送ります、あるいは送って下さいと言及するのも良いです。Visitorがある程度無差別にフレンドを増やすことは普通のことだと広く認識されており、その点で躊躇する必要はありません。

なお日本人あるいは日本語話者がいなさそうな場合は別インスタンスに入り直すことをおすすめします。

SNSを活用する

Twitterで「#VRChatはじめました」タグでスクショなどを上げるとVRChatユーザーに捕捉されるという文化があります(JPチュートリアルワールドに書かれています)。

ツイートにフレンド募集などと書くと有効かも知れません。(ただ筆者はこの文化が形成される前にVRChatを始めたので肌感が分かっていません。全然有効じゃなかったらごめんなさい……。)

SteamアカウントでもVRChatアカウントでもOK

昔はSteamアカウントでプレイしているとこのトラストランクが上がりませんでしたが、今は上がるようですので、初期ログインはどちらでもOKです。

SteamアカウントとVRChatアカウントを連携してアップロード可能に

Steamアカウントオンリーだとコンテンツアップロードはできません。

VRChatのサイトで「Login」→「Registration」と行ってVRChatアカウントを作成し、そのアカウント情報を使う必要があります。

Steamアカウントでログインしている場合は、以下の記事のようにアカウント統合を行う必要があります。

vrherokichi.com

課金でトラストランク上げをショートカット

最近「VRChat Plus」(VRC+)という課金(サブスクリプション)機能が公開され、そこにトラストランクを1回限り上げるという特典が付いています。

VRChatにアバターなどをアップロードするのがどうしても待ちきれない、あるいはフレンドを作るなどの作業がとても面倒だという人は課金すると即ショートカットできます。

ただしこの「VRChat Plus」は現状どちらかと言えば機能に対して割高感があり、ある程度寄付的な側面が強いものだと思われるので、特に始めてすぐ年額契約などはあまりおすすめしません。

VRChatにお金を払いたくなる程度にプレイしたらそのときに考えるでも遅くないと思います。(筆者は機能登場時点で既に2年数ヶ月遊んでおり、これまで十分楽しませてもらったと思ったのでほぼ寄付的な感覚で年額課金をしました)

トラストランクは下がることがある

迷惑行為を繰り返していると有名だったユーザーがかつてUser等だったにもかかわらずVisitorになっていた例が存在します。

以下の行為などで下がりやすいのでは無いかと言われています。

  • 数多く通報される
  • 数多くブロックされる
  • 数多くアンフレンドされる
  • 数多くアンフレンドする

ただし日本のユーザーで迷惑者とされていた人などでVisitorまで落ちた人は自分の知る限り聞いたことがないので、publicで迷惑行為を行う等それなりに沢山迷惑印がつかないと下がりはしない気がします。

なので通常のアンフレンドなどは気兼ねなく行って良いと思います。

「重い」場合の対処

一般に解像度を下げることで多少軽くなります。

デスクトップ note.com

VR gpsnmeajp.sblo.jp

SteamVR内部解像度 vr-maniacs.com

その他含めたジェネリックな色々 keiki002.com

またその他GPUの設定(NVIDIAコントロールパネル等)で細かく弄ることも効果があったり無かったり……。

f:id:narazaka:20201206203204p:plain f:id:narazaka:20201206203318p:plain

VRやってるとき突如重くなるやつ

アバターやワールドが問題ないのに突然謎に重くなる場合があります(表示上11fpsくらいに張り付く)。これはVRChatかSteamVR相性でのバグっぽい(メモリ食い尽くしが主因とのこと)ので、周囲の人やワールドにあたっても意味がありません。

SteamVRダッシュボードを開いたり閉じたりする、鏡に向かったままそれをするなどが有効な場合がありますが、治るときと治らないときがあるので、結局VRを落として再起動するのが確実です。

VRChat内パフォーマンス対策

PCのスペックが芳しくない場合の対処、また荒らし対策として、デフォルトで表示できるものを減らすという方針がひとつあります。

VRChatでは「トラストランク」「パフォーマンスランク」「容量」「コンポーネント」の三軸でアバターに制限をかけることが出来ます。

なおこれらの制限はユーザーごとに「Show Avatar」メニューを選ぶことで個別に制限非適用にすることが出来ます。

f:id:narazaka:20201206181344p:plain

トラストランクによる制限

一番目立つここの○○Userというのが出ているところがトラストランクによる制約ですね。

f:id:narazaka:20201206172215p:plain

基本はNormalで良いです。ただフレンドでない場合Known Userまでシェーダーが切られているためにアバター表現は制約されがちです。

日本人は割とフレンドを増やしていってその中のみで遊ぶという方向性が多く、この場合非フレンドのことはそんなに考慮しなくて良い(フレンドでない状態を見る時間が少ない)ためNormalであまり困ることはないと思います。

一方でpublicなどでよりフレンドではない人とも絡んでみたいという場合、荒らしは平気で表現を重視したいという場合はNoneまたはCustom(個別設定)でも良さそうです。逆にフレンドと遊んでいるより確実に荒らし遭遇率は高まるので、荒らしはイヤだと言う場合はNormalかCustomでもっときびしくするのもアリだと思います。

(Noneでも個別でアバターブロックすれば荒らし対策は可能です。ただし荒らし行為一発目は普通に食らうので、そういうのに動じずにやっていく必要はあります。 この記事の筆者はVRChatの全てを味わうぞ!というノーガード戦法派なのでNoneで過ごしてます。)

なお基本的に荒らしはほぼVisitorであり、それ以上のランクでの荒らしの出現率は経験的にはあまり変わらない体感があるので、Custom設定としてはVisitorのみきびしく設定してそれ以外は許可していく(そして荒らしに遭ってしまったら運が悪かったなと思う)くらいが塩梅ではないかと思います。

以下カスタム設定で設定できる項目のざっくりとしたところ……。

f:id:narazaka:20201206171211p:plain

Voice(マイク音声)

一律で切ったほうがよいことはまずないでしょう。

ユーザー個別のVoice Offメニューが有効です。

Avatarアバターそのもの)

こちらもトラストランクによって一律に切ったほうがよいことはまずないでしょう。

Performance Optionsからアバターランクによって切ることは有効な場合があります。

User Icons(ユーザーアイコン)

基本パフォーマンスに影響してこない所なので、アイコンが邪魔という場合にトラストランクにかかわらず切るくらい……?

Audio(アバターに仕込んである音声)

一般的な利用ではパフォーマンス自体にはあまり影響しません。荒らし対策として切ることはほぼ副作用もなく有効だと思います。

一部に心音を入れたりしている人、ログインログアウト等一部演出に音声を付ける人なども居るのでそういうのを楽しむ場合は有効にすると良いです。

またネタアバターには必須といえるので、そういうのを楽しむ場合も有効にしておくと良いです。

Lights and Particles(ライトやパーティクル)

パフォーマンス対策として有効です。

アバター表現としては一般的にはサブ演出になるので副作用は比較的少ないと思います。(界隈によります。使う人ばかりいるところもある。)

パーティクルをメインの表現とするパーティクルライブ・パリピ砲と呼ばれるコンテンツもあるのでそれらはこれがオフだと見られません。

またアバターライトはホラーワールドやその他暗いワールドでの補助照明として使える事があります。

Shaders(シェーダー)

パフォーマンス対策および荒らし対策として非常に有効です。

VRChatの荒らし行為で一番困るいわゆる「視界ジャック」は基本的にシェーダーで為されています。

自由に処理が組み込めるので気をつけないといくらでも重くすることができます。透過表現が重いのはよく知られているところ。

ただし一方でシェーダーは表現の要なのでパフォーマンスが全然良くて荒らしでもない普通の人もかなり影響を受けるので設定は難しいところです。

荒らしの多くがVisitorであると言うことを考慮すると、ここが唯一トラストランクで設定する合理性がある箇所かも知れません。

Custom Animations(アバターに仕込まれているアニメーション)

基本的に実害はほぼないはずです。ネタアバターに仕込まれて踊りがち。

なんか動いているのが目障りという場合には切ると良いかもしれません。

Performance Options系

Safetyメニューの上にあるやつです

f:id:narazaka:20201206164455p:plain
Performance Options

Avatar Perf.(パフォーマンスランク・容量による制限)

パフォーマンスランク・容量でアバターをデフォルトで表示させないことが出来ます。ただ一般的にはそんなに有効な対策にはならない場合が多い気がしています。

f:id:narazaka:20201206164541p:plain

パフォーマンスランク

PCスペックがデスクトップでも結構きびしいという場合は有効です。これでざっくり切りつつユーザー個別Show Avatarでやっていくことができます。

ただ「パフォーマンスランク」は「Excellentに近ければ軽い」や「Very Poorに近ければ重い」というのがたしかに傾向としては言えるものの、例外も普通にありえる結構ガバい指標です。

加えてVRChat日本人界隈は特に最近出てきたAvatars 3.0の性質上Very Poorの人はそこそこ多いです(この場合沢山のものがアバターに入っているが、一度に見えるものは少ないためにあまり重くはない事が多い)。

さらにPoorの人を除こうとすると体感的には半分以上見えなくなりかねません(DynamicBoneのため)。

なので一般的にはパフォーマンスランクそのもので制限を掛けるよりは、Safetyの個別設定(Custom)のほうがどちらかといえば有効かなと思います。

初手激重を許容できるならユーザー個別Hide Avatarも有効な手段です。

容量

容量も動作上のパフォーマンスに影響を与えることは少ないです。

インターネット回線が遅い場合にあまりにデカいのは勘弁して欲しいという場合に使えます。

容量がふくれやすいのはテクスチャおよびアバターに仕込んである音声なので、前者でメモリ馬鹿食いできたり後者で爆音を発することが出来ると言う意味では荒らし対策に有効な場合もあります。

一般的なアバターをそのままアップロードするだけだと基本的に5MBにも満たない場合が多いです。

ただし衣装を変更したり、Avatars 3.0によって多数のアクセサリを切り替えたりする場合、容量は天井知らずに上がります。

体感的には35MBか40MB制限くらいで日本人ユーザーの95パーセンタイルくらいは表示できそうという感じですが、これもつきあう界隈によって異なります。

これがあったから助かったという事案も経験上そんなにない(荒らしは他のパフォーマンス制約で十分ブロックできる)ので、回線が大丈夫ならデフォルトにしておくと良いと思います。

DynamicBone制限

f:id:narazaka:20201206164645p:plain

揺れもの(髪・スカート等)を制御するDynamicBoneというコンポーネントの制約です。

これを有効にすると一定数以上DynamicBoneを入れているアバターのDynamicBoneが全部無効になります(揺れなくなります)。

特にCPUが弱い場合は有効にするとパフォーマンスの低下が避けられる場合があると思います。

デフォルト有効かどうか忘れてしまいましたが、他の人が揺れていると言っているのに自分には見えない場合ここを疑って下さい。

HDDやSSD容量がヤバい場合

VRChatは特にワールドデータなどをどんどんキャッシュしてきます。

HDDやSSD容量がヤバくなったらSettingsの上にキャッシュ削除手段があります。

f:id:narazaka:20201206165241p:plain

VRChatがなんか致命的におかしいからリセットしたい場合

Settingsの上に色々設定をリセットする項目があります。

f:id:narazaka:20201206165333p:plain

またその他レジストリに情報が残る場合もあるので(アンインストールしてもレジストリ項目は削除されません)、そこを削除するのも有効な場合があります。 snsdays.com

普段の生活ノウハウ(主にバグやトリッキーな仕様への対処)

ワールドインスタンス入り直し

ワールドのオブジェクトが同期していなかったり、その他バグっぽい挙動があったりする場合インスタンスに入り直すと直ることがあります。

このときワールドのメニューの上にあるYou Are In行のところをクリックし、

f:id:narazaka:20201206190430p:plain

出てくるところでGoを押せば入り直せます。他のワールドを経由する必要はありません。

f:id:narazaka:20201206190504p:plain

インスタンスに入れない条件

インスタンスにGoやJoinしたのに入れないのは以下の場合があります

  • 定員の2倍がいる
  • インスタンスが「壊れている」(新規に入ることが出来ない状態があるっぽいです)

対処法はどちらもないので、人が捌けるのを待つか、そこに居る人に外に出てきてくれと外部から伝達するしかありません(Inviteや外部SNSなどで)。

その他インスタンスからkickされると一定時間入れなくなるらしいです。

人が沢山いるはずなのにインスタンスが出てこない

ワールドに沢山人がいるはずなのに……

f:id:narazaka:20210204181725p:plain

インスタンスが出てこない時があります。(この例では1インスタンスのみ出てきています)

f:id:narazaka:20210204181810p:plain

  • ワールド一覧下に出る人数はprivateも含めた全ユーザー数です。
  • ワールド詳細の横に出るpublic/privateはユーザー数です(インスタンス数ではない)。
  • 自分がjoinで入れないワールド(privateと表示されるワールド)は一覧に出ません。
  • インスタンスが人数上限に達するとインスタンス一覧に出なくなります。
  • インスタンスには最大で人数上限の2倍の人数が入れます(joinなどを使って)。

以上の条件が複合して、人がいるはずなのに一覧に出ないという現象が発生します。

例えばイベントを開く場合に全てのインスタンスがFullになると、ワールド検索からは新規に入れなくなったり別インスタンスに移動できなくなるため注意が必要です。

アバターが消える・人の音声が聞こえなくなるバグ

VRChatで大きなアップデートがある時たびたび起こっているバグです。

ブロックやHide Avatar、Voice Offいずれもしていないにもかかわらず、「アバターが本来と別の場所に見える」、「アバターが見えない」、「音声が聞こえない」、「それらの複合」、が起こりえます。

この場合、その人のアバターを再読み込み、あるいは「Mute」→「UnMute」すると上手く直ることが多いです。

アバター再読み込み方法としては、その人を選択して一回「Hide Avatar」してから「Use Safety Setting」(もしくは「Show Avatar」)をするのが一般的です。

ただしこれで解消しない場合もありますので、その場合その人または自分がワールドに入り直すと解消されることが多いです(確実とは言っていないが確率は高い)。

このバグは特定個人かつ一方向だけに起きる(Aさん→Bさん=見えない Bさん→Aさん=見える など)事が多いので、コミュニケーションが完全に通じない場合はこれの可能性があるかもしれません。(時期によってこのバグが起きているときと起きていないときがあります。)

近づくとアバターが消える・めりこむ条件

他人のアバターに近づくと「消える」場合と「めりこむ」見え方になる場合があります。

PERSONAL SPACE

「消える」のはPERSONAL SPACE設定によります。一定距離以上近づかれると不快に感じる場合に近づかれるのを避けるための機能ですが、デフォルト有効になっています。オッケーな場合は無効にする方がVR体感が楽しめると思います。

f:id:narazaka:20201206165139p:plain

ガチ恋距離

「めりこむ」のは単純にめりこんでいるわけですが、この度合いも実はワールドによって違います。

カメラのカリング距離という概念があり、ワールドによって設定が異なります。

これを調整しているワールドではかなり近くによっても相手が見えたままになるので、いわゆる「ガチ恋距離」などを楽しみたい場合はそれに適したワールドを選ぶことが重要です。日本人が作っている有名なワールドは調整がされている場合が多いです。

またこの度合いはアバターのView Pointでも変わります。相手をよりカリングされずに見たい場合は後ろの方にするとより見えるようになります。(ただし自分がより近づけるようになる分相手にはめり込んで見える可能性が上がるので、塩梅が重要です)

なおワールドのカリング距離はたまにバグで前のワールドの設定が引き継がれて、ガチ恋距離出来るはずのワールドでも自分だけ出来なくなるという現象が起こりえます。この場合VRChat再起動しないと直りません。

近づいていないのにアバターの一部が消える条件

距離に関係なく他人のアバターの一部(服、髪、その他様々)が消えて見える場合があります。

これはそのアバターのBounds設定と呼ばれるものが上手くいっていないので、そのアバターのアップロード者がこれを設定し直す必要があります。

こういう現象 note.com

上記記事では手動で行っていますが、自動で行うエディタ拡張が存在します。 (この中に含まれる「MeshBoundsSetter」) gatosyocora.booth.pm

アバターの一部だけが暗い・明るい

アバター内でオブジェクトが分かれている場合に、光の当たり方を計算する場所や方法が違ってくるために起こります。

Anchor Overrideという項目や、場合によってはその他項目も含めて色々調整する必要があります。

対処法

sechiro-vrc.medium.com

全体の解説記事

esa-pages.io

Anchor Overrideについて jellyfish-qrage.hatenablog.com

また一部シェーダー特有の設定もあるとか……

アバターの動作がカクカクに見えるバグ

インスタンスに長くいると起こりやすいようですが、特定の人のアバターの動きのみカクカクと非連続に動くようになるときがあります。

この場合そのカクカクなっている人がインスタンスに入り直すことで解消します。

音声がループするバグ

インスタンスのマスター(現時点で一番最初にインスタンスに入った人)の音声が不安定になり、ときおりループして(「おはおはおはおはおはよう……」みたいに)聞こえるバグがあります。

対処法は今のところなさそうなので、インスタンスに入り直してマスターを切り替えるしかありません(そうすると次に選ばれたマスターがまた不安定になるが……)。

音声が遅延するバグ

たまにインスタンス内で非常に(数十秒単位で)音声が遅延して聞こえる状態になることがあります。

どうも衛星中継をしているようだぞと思ったらインスタンスを立て直して下さい。

ユーザーの声だけが全く聞こえなくなるバグ

ブツンという音とともにユーザーの声だけが聞こえなくなるバグがあります。

ランダムに発生し、また復帰することもあるようですが、基本的に対処法はなくVRChatを再起動するまで復帰しません。

ノイズゲート対策

VRChatではノイズ対策のために、マイクからの入力音声が一定音量以下の場合切り捨てる処理があります。

小声で喋る、あるいはマイク音量が小さい場合ぶつぶつに聞こえるのはこのためです。

ここで判定される音量はVRChatの中の音量調整は関係なく、マイクデバイスの音量です。

なのでマイク音量をノイズゲートがかからない程度に上げて、その代わりにVRChatメニューの音量を下げるのが正解です。 喋ってないときはマイクマークがギリギリ光らない程度にすると良いです。

ささやき音声を聞かせたい

元来が小さいささやき声などをVRChatで出したいというシチュエーションの場合にも対処法があります。

人間には(感じることができる人もいるらしいですが一般的には)聞き取れない低周波の音をマイクデバイスから常時出すことでノイズゲートを無効化すると言う手段があります。

仮想マイクデバイスが入り用で、どちらかというとボイスチェンジャー者が使いやすい方法ですが、以下の記事にまとまっています。 (画像にあるうち「Graillon2」というのはボイスチェンジャーですので入れなくて構いません。) qiita.com

インスタンスprivate表記

f:id:narazaka:20201206195051p:plain

privateという表示が出るのは次の条件の時です。

  • 自分とはフレンドでない人が立てたfriend onlyインスタンスに相手がいるとき
    • こちらからのjoin手段はありません。
  • invite+インスタンスに相手が居るとき
    • 相手やそのインスタンスに居る他の人にinvite requestを送り承認されることでjoinできます。
  • invite onlyインスタンスに相手が居るとき
    • 相手自身が立てた場合その人にinvite requestを送り承認されることでjoinできます。
    • 相手以外の人が立てた場合
      • その人が特定でき、かつその人とフレンドである場合は、その人にinvite requestを送り承認されることでjoinできます。
      • それ以外の場合こちらからのjoin手段はありません。
  • 相手がAsk Me(橙色)ステータスであるとき
    • どんなインスタンスに居るか不明です。invite requestを送り承認されればjoinできます。
  • 相手がDo Not Disturb(赤色)ステータスであるとき
    • こちらからのjoin手段はありません。

使用アバターのリセット

メニュー等の操作が非常に難しくなるアバターが存在します。

そのようなアバターになってしまった場合(ワールドや荒らしによって強制的にアバターを変更された場合、設定を間違ったアバターを選択してしまった場合など)は、アバターメニューを経由せずにデフォルトアバターにリセットすることが出来ます。

PCでのVRChat上ではVR、デスクトップにかかわらず「Ctrl-\(日本語キーボードではBackSpaceの隣の半角¥マークキー)」、vrchatのwebサイト上では「Avatars」→「Reset to Default Avatar」で行えます。

なおこれはローカルの表示のみを変更するため、自分にはロボットに見えていても他人にはリセットする前のアバターが見えている可能性があります。 すみやかに他のアバターに切り替えるのをおすすめします。

f:id:narazaka:20201206193739p:plain

同期バグっぽい挙動

アバター全般

リップシンク」(口パク)および「目の動きのシミュレーション(よくアイトラッキングと呼ばれる)」(アバターの目がきょろきょろしたりまばたきするやつ)は基本的にローカル再生であり、同期しているわけではありません。

なので自分が見ているAさんの目と他の人が見ているAさんの目は同時に別の方向を向いていることがありえます。

これはバグでは無く仕様です。

Avatars 3.0

基本的に全て同期させることが可能という触れ込みですが、アニメーターの設定によっては普通にダメだったりします。それはUnityやVRChatの仕様通りの挙動であり、アバター作成者がアバターに仕込んだバグといえるでしょう。ステートマシンは難しい。

ただそれとは別にアニメーション関係が一切働かないというVRChat起因のバグが更新で発生したことがあります。

これはまだ低確率で微妙に起こっていることがあるので、それを考慮してアニメーションが再生されずとも問題の無いようにアバターを作成すると安全です。

具体的には、カメラがでっぱなしになったり、アバターが裸になったり(服をアニメーションで付けているため)という事案が起こったりしてました。

Avatars 2.0

広く普及しているEmoteSwitchという仕組みを使って物の出し入れや状態の変更が可能なのですが、これはその瞬間に再生される「アニメーションを見た人」でないと同期されません。

なので、EmoteSwitch操作を実行したアバターが映らないような方向を向いていたり、あるいはインスタンスに後からjoinした場合に状態が同期されていないようになります。

その人に対して再度操作を再生すると同期されるようになります。

これはVRChatのバグでは無く、むしろ仕様上考慮されていない使い方をしているため発生する現象です。

ワールド

同期Pickupオブジェクトが多い場合、同期オーナー変更が多い場合などにバグりやすいようです。

椅子位置に居るはずのない人が表示されたり、物の位置が違ったりします。

椅子やオブジェクトをオフに出来ればオフにしたりすることで直ることがありますが、基本的にインスタンスを立て直すのが確実です。

同期というのは技術的にも難しいものなのでバグりやすいのです。

フレンド届かない場合の応急措置

VRSNSのコア機能なのでちゃんと動いて欲しいんですが、フレンド申請が届かないという事象がたびたび起こります。

時期にも人にも寄ってかなりランダムなので、フレンド申請して音沙汰がなかったら届いていない事を疑って良いです。

回避方法としては以下があります。

  • 互いにフレンドを送り合う
    • 互いに届いているように見えなくても、いずれ承認処理が走るようです。
    • そのうちフレンド表示されるようになります。
      • ただし片方にだけ表示されたり、ネームプレートは更新されずにユーザー選択メニューにだけ反映されたりします。
      • この場合インスタンスに入り直すと高確率で正しく表示されます。
    • ただこの不安定なときに一見承認できたかのようにみえたフレンドが、次の日ログインしたときに申請中の欄に載っていることもしばしばあります。注意しましょう。
  • VRChatのWebサイトに行って承認する
    • こちらには申請が表示されている場合があります。

ただしこのような回避策をとってもフレンド登録が成功しない場合もあります(勘弁してくれVRChat……)。そういうときは諦めが肝心。別の日にまた会ったら送りましょう。

フレンドになったのにその後解除される

一時期起こっていたバグです。

フレンド申請して承認され、フレンドである表示(ネームプレート黄色)を確認したにもかかわらず、その後同じインスタンスに居たまましばらくして確認するとフレンドが外れている表示になっている場合がありました。

対処法は不明ですがそういうことも起こりえたと言うことを一応メモしておきます。

フレンドにjoinしてもそこに居ない

VRChatのフレンド機能はパフォーマンスやバグ的な挙動によって時に予期せぬ挙動になります。

フレンド欄で当該のフレンドが別ワールドにいる場合

フレンドは既にそのワールドにいません。この場合

  1. たまたまフレンドが直前にワールド移動している場合
  2. フレンド欄の更新が遅れている(のでフレンドは遙か昔にそのワールドを移動している)場合

が考えられます。

どちらにしても、再びjoinすることです。

フレンドが同ワールドの別インスタンスにいる場合

  1. たまたまフレンドが直前にインスタンス移動している場合
  2. フレンド欄の更新が遅れている(のでフレンドは遙か昔にそのインスタンスを移動している)場合
  3. インスタンスが満員で入れなかった場合→「インスタンスに入れない条件」
  4. インスタンスが「壊れて」いて入れなかった場合→「インスタンスに入れない条件」
  5. ブラウザで生成された起動リンクから起動した場合
  6. その他なんらかの条件(接続ミス等)でインスタンスに入れなかった場合

1, 2は前項と同じです。

3. インスタンスが満員で入れなかった場合・4. インスタンスが「壊れて」いて入れなかった場合

今居るインスタンスの公開レベルがpublicもしくはinviteである場合3または4である可能性が高いです。(join先が元々publicである場合はこの限りではありません)

この場合ワールドのロード途中で一旦仕切り直しが入り再ロードされるような挙動になります。 別項目「インスタンスに入れない条件」で説明しているとおり、この場合はすぐjoin出来るとは限りません。

5. ブラウザで生成された起動リンクから起動した場合

5ですが、フレンドがvrchat.comにあるツールでインスタンス起動リンクを生成し、ブラウザなどからそれを起動するか「invite me」機能でjoinしようとした場合、同じインスタンスに入れない場合がある模様です。

このvrchat.comで生成できるリンクは特に公開レベルのラジオボタンを変更した直後に生成すると生成ミスを起こす場合(たぶんバグ)があります。なのでもう一回公開レベル設定ができるところからリンク生成し直すなどすると解消する場合もあります。 どうしてもダメな場合(よくあります)は、他のワールドでおちあってから当該の場所へ行くなどを考えても良いかもしれません。

6. その他なんらかの条件(接続ミス等)でインスタンスに入れなかった場合

VRChatサーバーが不安定な場合などその他の要因で入れない場合(6)もあります。この場合は再joinか、VRChatの再起動が必要になる場合もあります。

フレンド欄で当該のフレンドが同じ(same)ワールドにいる場合

バグっぽい複雑な要因が絡んでいることが多いです。

  1. フレンドが既にログアウトしているが、フレンド欄の更新が遅れている場合
  2. VRChatの更新で「世界線が変わった」場合
  3. フレンドがバグで見えない場合→「アバターが消える・人の音声が聞こえなくなるバグ」
  4. フレンドからブロックされている場合
  5. その他なんらかの条件(接続ミス等)で同期していない場合

1. フレンドが既にログアウトしているが、フレンド欄の更新が遅れている場合

VRChatでユーザーがログアウトしたときにフレンド更新遅延が起こると、既にログアウトしたユーザーがあたかもログアウト直前のインスタンスにいるような表示になることが(結構)あります。

これをVRChat内から検知する手段はないので、他の人に聞いたり時間帯やツイートを考慮するなどして判断するしかありません。

2. VRChatの更新で「世界線が変わった」場合

VRChatクライアントがバージョン更新されるときに、古いバージョンで遊んでいる人と新しいバージョンで遊んでいる人が会えないようになる場合があります。

これを俗に「世界線が変わった」と称します。

バージョンの更新はVRChat公式discordの「announcement」チャンネルでいち早く告知されているため、そこをチェックしてみるのが速いです。以下のような文言が書いてあればこのケースに当たります。

This release requires that you update in order to see people on the new version! In other words, if you join on your friends and they aren't in the instance, either you or your friends need to update! ざっくり訳: このリリースでは、新しいバージョンで遊んでいる人々を見るためにアップデートを必要とします!別の言い方をすれば、あなたがフレンドにjoinしたのにそのフレンドがインスタンスに居ない場合、あなたかフレンドのどちらかがVRChatをアップデートする必要があります!

discord.com

この現象が起こる場合フレンドに限らず複数の人が見えていない可能性があるため、インスタンスの人数と実際見える人数が大きく一致していない可能性が高いです。

対処法としては、VRChatを一回終了して、アップデートを適用してから起動することです。

ただしアップデートがあることをフレンドが知らない場合(というかそもそもVR睡眠しているなど)もあるので、join先フレンドがアップデートしていない可能性があるなら自分もアップデートを待った方がいいかもしれません。

3. フレンドがバグで見えない場合

インスタンスにいる特定の人が自分から一方的に見えなくなるバグが存在します。

対処法は「アバターが消える・人の音声が聞こえなくなるバグ」を参照ください。

4. フレンドからブロックされている場合

VRChatの「ブロック」機能はフレンドを解除しません。

なのでフレンドからブロックされている場合もfriend onlyなどにも入ることが出来ます!

心当たりが無い場合はバグの可能性の方が高いので、これを疑うより周囲の人にバグかどうか聞くなどが良いでしょう。

ブロックするときは先にフレンドを解除すると色々手間が無いです。

5. その他なんらかの条件(接続ミス等)で同期していない場合

VRChatサーバーが不安定な場合などその他の要因で入れない場合(6)もあります。この場合は再joinか、VRChatの再起動が必要になる場合もあります。

人が選択できない

プレイ中に人をビーム選択してクリックしても選択できない(メニューが出てこない)事があります。

これはfpsが大体20を切ると起こる現象のようで、fpsを回復させないとなんともなりません。

一応フレンド申請やMute、Block等の重要な操作はSocialメニューのIn Roomからいけたりもします。

f:id:narazaka:20201206211827p:plain

またSafetyでアバター全非表示してから対処するのも一つです。

検索で結果が出てこない

起動して一発目の検索だとなぜかでてこない事があるので、同じ単語でもう一回検索ボタンを押すと出てくる可能性が高いです。

ユーザーアイコンが更新されない

VRChat+でユーザーアイコンを撮影・アップロードできますが、VRChatサーバーの調子が悪いときはアップロードしてからしばらくは表示できない(No imageなんとかみたいな表示)状態になります。

アップロード自体は成功していていずれ表示されるようにはなります。恐らく自分から見えるようになったなら他人からも見えるはず……。

回避方法は現状存在しないため、気長に待つしかありません。

VRで日本語やURL等を打ちたい

ブラウザやメモ帳など他のアプリケーションから文字列をコピーしてからVRChatのウインドウをアクティブにした状態でCtrl+Vするといけます。

ワールド探しノウハウ

ワールド検索結果の保存

検索結果の保存が3件まで出来ます。

f:id:narazaka:20201206164941p:plain f:id:narazaka:20201206165048p:plain

ワールドのタグ検索

全然目立たないですが、ワールドには実はタグ設定がされており、そのタグで検索することが出来ます。

f:id:narazaka:20201206164759p:plain f:id:narazaka:20201206164840p:plain f:id:narazaka:20201206164912p:plain

作者によるワールド検索

ワールドの作者のボタンをクリックすると、その作者が作ったワールド一覧も見られます。

ワールドお気に入り(Playlist)個数を節約したい場合、バリエーション違いはここから検索することにして登録数を減らす戦略がとれたりします。

ワールドまとめワールド

色々なジャンルがまとまっている。

vrchat.com

同作者のQuest対応ワールド版

www.vrchat.com

ボタンで絞り込みができ検索性が高い。

vrchat.com

VRChat外部でのワールド検索

ワールドを属性分類付でまとめているサイトがあります。

https://www.vrcw.net/worldwww.vrcw.net

またTwitterでは「#VRChatワールド紹介 hashtag on Twitter」や 「#VRChat_world紹介 hashtag on Twitter」とハッシュタグでワールド関連のツイートをする慣習があるため、そちらを見るのも良いと思います。

ブラウザからワールドを開きたい

vrchat.com

VRChat Homeにログインした状態で各種ワールドリンクを開くと、「invite me」というボタンが現れます。

これを押すとVRChat内で自分からinviteが届くので、「Launch world」と比べてスムーズな移動が可能です。

f:id:narazaka:20210103171814p:plain

privateワールドを開く

VRChatにおけるワールドのpublic/privateの別は「検索に出てくるか否か」であって、ワールドID自体がわかれば実はインスタンスは誰でも開けます。(publicワールドは「誰でもIDを知ることができるワールド」であるといえます)。

サイトのURLのワールドID部分を弄れば開けるため、プライベートワールドのIDを特定少数の人に共有してその界隈限定で使うなども可能です。

カスタムのインスタンスIDを使う

ワールドを開くときに必要なインスタンスIDは実は番号である必要はなく、任意の文字列が使えます。

なのでインスタンスIDを面白いものにカスタマイズしてURLを共有するという事も出来ます。

アバター探し

アバターが見つかるワールド

Himiko Avatar World

VRChatにおける無料publicアバターを作者協力の下集めているワールドです。とりあえずここは行くと吉。 vrchat.com

Himiko Avatar World ˸ Quest

同ワールドのQuest対応版です。 vrchat.com

VRCサンプルケース(vrcsamplecase)

主に有償販売アバターのサンプルが置いてるとこです。サンプルだけど特に利用期限があるわけでもないので、サンプルマーク付いてるのを気にしなければずっと使うというのもアリ。

アバターミュージアム

サンプルケースと同じくな感じです。かぶってる分もあるかも。

vrchat.com

同Quest対応版

vrchat.com

アバターミュージアムVRM

バーチャルキャスト等他プラットフォームに対応可能なVRM形式が同梱されているアバターのみを扱っています。 他のVRSNSプラットフォームも楽しみたいという場合は多少手間が省けるかも。

vrchat.com

……以下に挙げるのはアバターに特化していないが良くアバターがあるイベント会場です。

バーチャルマーケット(過去開催分)

現状最大のVRChat上展示イベント。「アバターワールド」ではなく総合展示イベント会場なのでアバター閲覧に最適化しているわけではありません。

めちゃくちゃワールド数が多いので「vket」検索が確実です。

全数みたい場合はここ!という感じですが、アバター目的で回りきるのはしんどいと思います。最近のアバターアバターミュージアム等で見て、vketでは昔のほう(たとえばvket2などはそんなにワールド数もなく、また当時唯一のアバター展示イベントだったのでここにしかないものも多い)を見るというのが多分おすすめ……。

落選マーケット

唯一出展時抽選が存在したバーチャルマーケット3で抽選に漏れたブースも展示してしまおうという別イベント。3ワールドくらい。

vrchat.com

Virtual Fronteer

割とコンパクト。

vrchat.com

Quest Market

Questでもマーケット。東館と西館の2ワールドがあります。

vrchat.com

クロスマーケット

同じくQuest環境でもマーケット。結構ワールド数があります。第二回も行われるらしいので検索の方が良いかもしれません。

vrchat.com

販売サイト

  • Booth: 日本製アバターはほぼここにあります。検索性が悪いのが玉に瑕。
  • DLsite: 一部のアバターはここにもあります。販売手数料は高いが違法コピー対策をやってくれるのでこちらを好む人も。
  • メロンブックスDL: ここにでてるのもあるけど、まあ希少。
  • VRoid Hub: Boothにでている動かせるプレビューはこのサイトのもの。無料のもあったりしますがVRM形式なのでVRChatに使うには変換が必要です。
  • Vketβ: 基本的にBoothにあるものがこちらにある場合もあるBoothのサブセットという感じです。検索性は多少良いが数は少ないです。

Boothでの探し方勘所

まず横の絞り込みでカテゴリを「素材データ」、サブカテゴリを「3Dモデル」にするとノイズが少ないです。

f:id:narazaka:20201206221918p:plain

その上で「アバター」とか「VRChat」といくのがおすすめ。現環境ではBoothで販売される3Dアバターと言えば大体VRChatのことなのでアバターという文言でも割といけます。

また順序を「人気順」にすると良く買われているっぽいアバターが出てきます。VRChatで受けが良いジェネリックなかわいさなどが得られます。

逆に他の人と一緒はイヤだという場合はここからは選ばない方が良いでしょう。

f:id:narazaka:20201206222130p:plain

注意点として、アバター全身が見えても実際は来ている服やアクセサリのみを売っている事例が存在します。「アバター」であると書いていない場合は良く読んでください。

また「VRoidテクスチャ」や「VRoidプリセット」と書いてある場合はVRoid Studioというアバター制作ソフト用の素材です。それをそのまま一般的なVRChatアバターに使うことは出来ないので注意してください。

アバター検索サイト

機械学習的にアバターっぽい顔画像を並べて検索出来るようにしたサイトが存在します。

kaogaii

その他登録系サイトも何個かあったんですが網羅率がやはりきびしかったりしてなかなか難しいところです。Boothで手を変え品を変え検索するのが現状の最適解のようです。

イベント探し

「VRChatイベントカレンダー」に多くのイベントが登録されています。

sites.google.com

この情報はワールド内に表示するアセットのもとになっていて、チュートリアルワールドなどでも今日何が行われるか見ることができます。

(ワールドで使われているアセット) booth.pm booth.pm

またこれはGoogleカレンダーベースなので、カレンダーを自分のカレンダーに追加しておくとなかなか便利です。

f:id:narazaka:20201206224014p:plain
下の方にあるコレ
f:id:narazaka:20201206224054p:plain
Googleカレンダー上で普通に予定としてみられます

ツイッターではこのアカウントをフォローしておくとTLに流れてくるので便利かも

twitter.com

定期イベント

イベントカレンダーに登録されるものとは別に、定期イベントとして毎週or毎日開かれているものが存在します。

PC側は「CONNECT STATION」、Quest側は「Quest日本集会場」あたりに一覧画像が貼ってあったと思うので、そこで把握すると良いと思います。

vrchat.com

vrchat.com

その他

なお他にもまとめを頑張る系サイトがあった気がするけどちょっと思い出せない……生きてそうなやつ知ってる人はコメントして下さい。

ノウハウ

写真撮影

VRChatではリアルでは考えられないほど(※インドアおたくである筆者個人の感想です)「写真」を撮ります。

特にイベントの時の参加者全員集合記念撮影は恒例です。

アバターが基本的に見目麗しいからこそのムーヴという気がします。

失敗しない写真を撮るには

特に記念写真など大勢居るやつはとにかく連写がおすすめ。

人によって動きが違うし、まばたきアニメーションの瞬間に撮ると半目になるし、いろんな人がパシャパシャ撮りまくってるのはそのせいです。

写真整理ツール

この写真は「ピクチャ/VRChat」フォルダに保存されるんですが、数が沢山になると探すのもしんどいです。

日付別にフォルダ分けするソフトとして手前味噌ですがこういうのがあります。 narazaka.booth.pm

また写真を自動回転するソフトとして以下があります。(精度はそこまででもないので誤判定もされますが、単体人物写真なら結構なんとかしてくれます。) github.com

おすすめはVRCPhotoRotationCorrectorをVRChatフォルダで実行してからvrc_shot_folderを実行してフォルダ分けするワークフローです。

本格的な写真を撮りたい

ボケ(被写界深度)や画角調整を行える高機能な写真撮影ツールが存在します。

Avatars 3.0用

基本的に高機能カメラを使うならAvatars 3.0がおすすめ。

Avatars 2.0にも対応していた先発ツール。 logilabo.booth.pm

上記のAvatars 3.0対応後すぐに出てきた対抗ツール。こちらの方が機能的には豊富ですがカメラ自体は若干負荷高めかも知れません。 booth.pm

上記2ツールから遅れて出てきたツール。VRCLensと機能的にあまり変わらない。 booth.pm

Avatars 2.0用

Avatars 2.0でも高機能なカメラを使うことは出来ますが、

  • カメラを出してから自撮りモードにする必要がある
  • ワールド固定ギミックを入れないと外からの視点で撮れない
  • アバターパフォーマンスランクが低下しがち

など色々と難があると言わざるを得ません。これ系を使うなら事実上3.0が必須と思った方が良いです。

2.0でなければならないと言う場合はこちらが唯一の選択肢です。

画角・ズームなどの基本機能 booth.pm

被写界深度(ボケ表現)機能追加プラグイン logilabo.booth.pm

その他単機能系

Avatars 2.0向けで画角調整機能のみを搭載した先駆的なもの。ワールド原点に置くなど使い方がやや面倒なのもあり、今あえて選ぶ理由はあまりなさそう。 booth.pm

こちらも画角調整などが出来るツール。無料。 booth.pm

カメラに各種フィルターをかけるツール。Avatars 2.0向け。 booth.pm

擬似的な被写界深度を後処理でかけるように出来るツール。 https://booth.pm/ja/items/2216205booth.pm

自撮り系

デスクトップでカメラ相当が欲しい

これらのアセットがあります。(どれも割と古くAvatars 2.0用なので3.0への導入は少々手間です。)

無料 booth.pm

無料 booth.pm

有料 booth.pm

有料 booth.pm

Questでカメラ補助機能が欲しい

Questにはカメラ撮影機能が無く、スクショもちゃんと撮るのはなかなか難しいです。

それを補助して擬似的にカメラとして画像を固定することでスクショを撮りやすくするツールです。 booth.pm

ワールド側でQuest民にカメラを使って欲しいという場合はこちらなど booth.pm

VRChat内で撮った写真を出したい

VRChatの「カメラ」と用途は異なりますが、その場で撮って出し出来るツールがあります。 booth.pm

自分のアバター(特に表情)を常時見たい

定番

booth.pm

↑の設定便利化ツール narazaka.booth.pm

より常時表示できるやつ(ただ少なくとも2.0だとパフォーマンスランク落ちがち)

booth.pm

3点トラッキングでフルトラみたいに空気椅子で座る

メニューを出している状態だと足位置が固定されるのを活用し、中腰状態でメニューを出してからリアルに体を後ろに動かすと良い感じの座り姿勢になれるかも。

f:id:narazaka:20201215144223p:plain
左=フルトラ 右=3点 での空気椅子

アバターに仕込む方法

Avatars 3.0にメニューを出している時みたいに足を固定する仕組みを入れる事が出来るようです。

booth.pm

VRでもデスクトップを見たい

Oculus Dashを使う

Oculus系の場合右コントローラーのメニューボタンを押すとOculusのメニューが出せます。

Oculusのメニューから直接VRChatを起動している場合は?(ちょっと検証不足で定かでない)VRChatの表示をしながらメニュー表示が出来ます。

ここにデスクトップ画面を見るボタンがあるのでそれを使えばデスクトップが見られます。

  • メリット
    • 管理者権限で動いているウインドウ(タスクマネージャー等)も見られる
  • デメリット
    • VRChatに戻ったときにラグりやすいかも
    • VRChatの操作をしながらの利用は不可能
    • キーボードが英字配列固定
    • Dashメニュー自体が出なくなることがある
      • 長時間VRをしていると(特にVR睡眠等でスリープを挟むと?)なりやすいかも

SteamVRのメニューを使う

SteamVRメニューにもデスクトップを出すモードがあります。

ただ他の手段があるならあまりおすすめはしません。

  • メリット
    • VRが激烈に重い場合などでも無視して比較的快適に操作できる(VR解像度を下げた状態で行うので)
  • デメリット
    • 管理者権限で動いているウインドウ(タスクマネージャー等)は見られない
    • VRChatに戻ったときにラグりやすいかも
    • VRChatの操作をしながらの利用は不可能
    • 位置調整が不可能
    • キーボードがかなりしょぼい

VRオーバーレイツールを使う

Steamにある有料のツールが色々あります。

オーバーレイツールは管理ツールでは無いためか、VRChatの操作をしながら同時に表示や操作できるのが魅力です。

その中でもおすすめなのがXSOverlayです。デフォルトのキーアサインがVRChatとかぶりにくいうえ、動作が軽快で機能も申し分ないです。

store.steampowered.com

OVRDropやDaily OVRも使ったことがありますが、重かったり操作に難があったりするのでそれらを選ぶ理由はありません。ただしDaily OVRは無料版が存在します。

  • メリット(XSOverlay)
    • VRChatの操作をしながらの利用が可能
    • 位置調整がかなり柔軟
    • フルキーボードが使えて、かつ配列カスタマイズが可能なので擬似的に日本語配列が可能
    • VRChatがラグくならない
  • デメリット(XSOverlay)
    • 管理者権限で動いているウインドウ(タスクマネージャー等)は見られない
    • VR自体が重いときはこれも重くなって操作がきびしくなる

疑似日本語配列

また英語配列のまま「半角全角」切り替えをするときは「Alt+~(一番左上のキー)」をおします。

管理者権限で動作させる

デメリットにある「管理者権限で動いているウインドウ(タスクマネージャー等)は見られない」ですが、これはオーバーレイツール自体を管理者権限で動作させると解消します。

XSOverlayは恐らくC:\Program Files (x86)\Steam\steamapps\common\XSOverlay_Betaあたりにあるのでは無いかと思いますが、そのexeに対して以下のように設定するとつねに管理者権限で動作するようになります。

pasomaki.com

ただしこのときユーザーアカウント制御(UAC 画面全体が暗くなって確認画面が出てくるアレ)が有効であると、SteamVR上では許可ができません。

Oculus Dash起動して許可するか、HMD外して許可するかなどが必要です。これは少し面倒ではあります。

面倒とは言えUACを全面的に外すことはセキュリティ的におすすめできないため、特定ソフトのみをスキップできないか調べてみたところ、タスクスケジューラーに登録し、タスク実行で起動することで回避できるという方法はあるようです。

news.mynavi.jp

しかしこれをSteamVRの自動起動と同時に行うのは少し難しそうでした。SteamVRデフォのデスクトップ見る機能から手動でスタートするか、UACHMD外して許可するかという感じになりそうです。よりよい方法があったら教えて下さい。

VR睡眠

健康上あまりおすすめできるものではないですが、慣れればまあちょくちょく良いかなくらいになるイメージ。

デメリットは多数あります。

  • 一般に頭がHMDの突起部で痛くなる(HMD付けたまま寝る場合)
  • 睡眠が浅くなる場合がある(ので普通睡眠を入れずに継続するのはおすすめしない)
  • 電気代を食う(フルトラで布団を掛けない場合エアコン代もプラス)
  • いびき、はぎしり、寝言が露わになる(音声オフにしない場合)

これらを以下のメリット

  • VRで人と一緒に寝る体感が良い
  • VR上の自分の姿のまま入眠し、起床する体感が良い
    • (TSF文脈の「朝おん」に近しい体感が得られますね)

が上回るかどうかというのを良く精査してやっていきましょう。

一般的にデメリットが明確な行為ではあるので、自分がVR睡眠できるからといって他人に強要はしないようにしましょう。

VR睡眠一般ノウハウ

個人差はありますが、やはり視界が暗いほど眠りやすい傾向はあると思います。

いわゆるナイトモードは色々なワールドにありますが、有名なMEROOMなどでのそれはそこまで暗くは無かったりします。

睡眠ワールドによって暗さは異なるので暗いところを探すのは手です。

アバターに仕込んで自分の視界を暗くしてしまうというソリューションもあります。(ただしこれらはQuestアバターでは使用不可能)

booth.pm

booth.pm

何回か睡眠するとなれてくるのはあるので、なにがなんでもVRで寝るぞ!と言う人は一定期間続けてみると良いかもしれません。

人と一緒にVR睡眠したはいいが、起きる時間が合わないので体感が微妙という場合、

  • あらかじめ起きる時間を申し合わせておく
  • ペンのあるワールドで書き置きをする
  • 目覚ましのあるワールドが存在するのでそれを使う

などがおすすめかもです。

VR睡眠でどれくらい眠れているか知りたい(mi band)

mi bandという中華製スマートバンドが睡眠状態をとれるので使っている人が多いようです。

ただアプデでいまいち睡眠がとられなくなった気がしたのでおすすめ!!!という感じかというと微妙かも。

VRのために数千円ならドブでもいいかという金銭感覚がある人におすすめ。

なおmi bandは謎にフレンド機能があり、「つつく」というコミュニケーションが出来ます。

フレンド機能はフレンドの健康状態がわかるのと、スマホアプリ側からですが相手のmi bandを振動させる「つつく」という機能があり、VR存在の実在を感じられてなんだか良いです。

注意したいところとしては、

  • 共有される健康状態には「体重」が含まれるので、気になる方は初期設定時に体重に望む値を入れておくと吉(体重計と連携しない場合更新はされない)。
  • 「つつく」は遅延したり届かなかったりもするので、「返信」を常に期待しないこと。

などがあります。

フルトラVR睡眠でトラッカーそのまま布団をかぶりたい

寝相を維持するにはここだ!という位置に手足を置いたら、その状態で布団を一気にかぶって全トラッカー見えなくするとその位置で固まります。

プレイスペースムーバーで高さ変更しているときはちょっと頭の位置が変になる感じはありますが、2回くらいやると謎に緩和されたりする事もあるので割とおすすめ。

「手足を置く→SteamVRダッシュボードを開く→布団をかぶる」でも良いらしい。

3点トラッキングVR睡眠をしたい

非フルトラVRVR睡眠をしたい場合に最適なワールドがこちら。ワールド説明を参照。

vrchat.com

「プレイスペースムーバー」の導入を前提としては居ますが、それさえあればめっちゃ簡単に寝てるっぽい感じになるのでおすすめ。

通常の睡眠ワールドでは椅子に座ってなんとかすることが多いですが、移動が制約されたりしてちょっと不便なので、こういった自由に色々出来るのがより快適だと思います。

デスクトップでもVR睡眠をしたい

手前味噌ですがこちらのワールドで擬似的に出来ます。

vrchat.com

部屋を90度傾けることで、アバターとしては立位のまま寝ている感のある視界になります。

3, 4点PCVR、Quest、デスクトップで快適に、フルトラだと布団を横断するような寝方をするなど工夫すると寝られると思うので、一応全環境で寝られるワールドです。

3点トラッキングやデスクトップでVR睡眠をしたい(アバターによるソリューション)

アバターに睡眠している姿勢のアニメーションを入れてしまう方法。

Avatars 3.0導入説明がある booth.pm

匍匐状態のIDLEアニメーションに入れる方法。どちらかというとデスクトップ向け。 booth.pm

フルトラ睡眠楽にしたい

上述の姿勢アニメーションを入れて、それっぽい姿勢でそれを有効にして姿勢を固めて、その後普通にHMD外してトラッカー外して寝るのはアリです。

ただしこのとき部屋を暗くすると少なくともOculus君系は部屋の位置を見失ったりします。

HMD外す→スリープになっている事を確認→電気消す→寝る→起きる→電気付ける→HMDをかぶって復帰させる

という手順にすると多少位置見失い率は下がる気はする……?

ボイスチェンジャー等地声ではない声を使いたい

とりあえずVRChatでボイチェンを使うには、まずは以下で初手導入してみるのがおすすめ。

qiita.com

ループバック

ループバック(ボイチェン後の音)を聞くというのが習熟に関して結構重要です。

しかしこのループバック、発声に対して遅延があるとかなりしゃべりづらいです。

なのでがっつりやるなら遅延のない環境をつくりたく、そのためにASIO規格対応(重要)のオーディオインターフェースを買うというステップを踏むことになるかもしれません。

自分は配信系などに定番と言われるAG03と言うのを導入しています。安すぎるとASIO対応では無く意味ないこともあるので注意です。このあたりはこれ!という記事を知らないので各自検索のほど。

目的を明確にする

ボイスチェンジャーは未だ発展途上な技術であり、「自分が思った声を出す」のはかなり難しいと言うべきです。

なので例えば「(男性が)かわいい女の子の声が出したい!」という目標を実現しようとすると、ボイストレーニングが結構必要だったりします。

しかし筆者は「自作した女の子アバターAINA)に最低限申し訳なくないように(?)」という謎の理由で「女性にギリギリ聞こえなくも無いかなという声」(ボイチェンだと分かって良い・可愛くなくて良い)を目指したので、ほぼ素の声で楽に喋って「努力しないボイチェン」をやっています。(最近は自作では無く購入したアバターを使っていますが大体同じような精神です。)

ボイスチェンジャー利用には「女性に思われたい」「かわいい声を出したい」「素の声を出したくない」、「地力女声へのステップ」、「女性アバターで男性声だと違和感がある」など様々な動機があります。特に最後のものはVRSNSで始めて大きく芽生えた新しい動機では無いかと思います。

どのような目的で行うかによって目指す位置が変わってくるので、出来るだけそれに即して楽なようにやっていきましょう。

ボイチェン一般注意点

一般にピッチを上げたりフォルマントを弄ったりして元の声から遠ざかるとともに、どんどんノイズが乗って発言が聞き取りにくくなっていきます。

VRChatでも非常に聞き取りにくいボイチェンの人にたまに出会います。

「聞き取りにくい」ことは相手に「発言を聞き取る努力」を要求し、思った以上にストレスを与えます。過度に聞き取りにくいことはそのうち「聞き取る努力をやめる」、つまり発言を無視され、会話されなくなってしまう可能性が高まります。

自分で試した声を自分で聞いてみて、客観的にまずまず聞き取れる範囲での調整を心がけると長い目で幸せになれると思います。

どのボイチェンが良いか?

声による相性がかなりあるので一概には言えないと思います。

恋声

老舗。手軽にかわいさがでます。が、遅延が結構大きいので喋りにくいかも知れません。

あとVRでPCに負荷かけまくるとガビったりするらしいのでVRChatには不向きかも知れないです(これは伝聞なので環境によるかと)。

f:id:narazaka:20210112195649p:plain

RoVee

VSTプラグイン式(声の前処理とかが便利)。

昔からあり紹介記事とかも多いので見つかりやすく、結構使用者はいるイメージ。

ただし現状32bitのみでSYNCROOMなど新技術と一緒に使えないのがネックです。

筆者はこれを使っています。個人的印象としてかなり安定しているので32bit環境が組めるならおすすめしたいです。

f:id:narazaka:20210112201403p:plain

32bitでボイチェン

NETDUETTO

一応SYNCROOMの前身であるNETDUETTOには32bit対応が存在するためそれを使うと同じような構成に出来ます。

WebArchiveにある当時のファイルをダウンロードして、ヘルプのVSTの欄を見て設定できます。

またこの場合「ボイチェンベストプラクティス」にあるElementなどは32bit版を導入する必要があります。

VB-Audio VoiceMeeter Banana

SYNCROOMよりUIなどが分かりにくいですが「VB-Audio VoiceMeeter Banana」というのも同様に仮想デバイスとして使えるので、そちらでも受けられます(構成は変化しますので検索推奨)。

Gachikoe!

単体ソフト or VSTプラグイン式。

無料版のGachikoe! Coreというのもあります(無料は単体ソフトのみ)。

単体でもノイズゲートやささやき声の設定、音量調整など必要十分の機能を兼ね備えているため、VSTが欲しくなるのはノイズ除去くらいでしょうか。

当環境では256samplesくらいまでは安定するかなという感じで、ループバック一拍遅れるけどそんなに喋りにくいと言うことはなさそうです。

質も結構安定していると思います。RoVeeよりややシャープ目に音が出る気がします。

f:id:narazaka:20210112195953p:plain

GForm

VSTプラグイン式。無料でかなり低遅延です。

なかなか安定している感ありおすすめできると思います。RoVeeより声の最初が心なしか尖り(?)気味かも知れないです。

f:id:narazaka:20210112201515p:plain

Manipulator

VSTプラグイン式。有料(30分試用版あり)。

比較的安定していますが、ガビりやすいとこは多少ガビる感じ?RoVeeより若干落ち着いた声になる気がします。

無料だと30分で使用終了になるのがネック。naca_nyanはかつて30分ごとに立ち上げ直していました。強い。

f:id:narazaka:20210112201147p:plain

バ美声

基本的に自分で声を頑張って女性に寄せる前提なボイチェンです。最近の界隈では割とメジャー。

アクティブに開発されています。

最近他のボイチェンと同じくピッチ200%サポートがされたが品質は保証しないとのこと(実際かなりガビりやすい気はします)。

デフォルトではピッチとフォルマントが連動して上がる?っぽいですが、ピッチとフォルマントを周波数に対して個別調整する機能を使えば他のボイチェンと同じく柔軟な調整も可能なようです。

f:id:narazaka:20210112194123p:plain

Graillon2

VSTプラグイン式。

先述の記事のnaca_nyan一押し。

バ美声と同じくフォルマントとピッチが連動して上がる方式で、少なくとも無料だとフォルマントの変換が狭いのでピッチ変更をキツくする場合はつらそうです。

f:id:narazaka:20210112201255p:plain

Clownfish Voice Changer

無料かつ遅延がかなり少ないらしいです。

VST対応はありますが、VSTプラグインとして他に組み込むのではなく、VSTホスト機能を持っていて周辺VSTを自分に組み込む機能の模様?ごちゃごちゃしてます。

VT-4

VTuber魔王マグロナちゃん等が使ったことで有名なハードウェアボイチェン

遅延はゼロだがソフトウェア式に比べると癖が強いので扱いが難しいです。(昔使っていました。)

これを使った簡易マグロナシステムなる疑似ゼロ遅延ループバック環境が構築できたりはします。

www.youtube.com

その他

各種比較はこことか? https://saeokuri.hatenablog.com/entry/2019/12/03/044804

でも人によって相性があるので自分でやってみないとやっぱわかんないと思います。それぞれ試してみるのがいいです。

Voidol

出された声をそのまま変換するいわゆるボイスチェンジャーではなくて、出された声に応じて別の声を合成する別の仕組みを使ったものも最近は出ています。

ただこれも性能が良いかというとうーん感はありました。お試し版があるので試してみるのは良いと思います。

ゆかりねっと

発言をテキスト化してからそれをVOICEROIDと連携して読み上げてもらうという方法です。

VTuber「のらきゃっと」などで有名な方式。たまにご認識(誤認識)と呼ばれるお茶目な現象が生じます。

特に「かわいい声を出したい」「素の声を出したくない」などが目的の場合、これがベストな解決策である場合もあると思います。

発言に遅延が生まれるので話しにくくはあると思います。

VRChatにはゆかりねっと人口はそこそこいるので、そういう人が集まる界隈に属すると快適かもしれません。

VRChat声質研究会

可愛い声や女声に限らず、声真似や中性的な声等も含めたボイストレーニングを行う集まりがあります。

vr-lifemagazine.com

ボイチェンも対象ではあるので、参加してみるのも良いかと思います(ただし効率のためVRChat上の他人に声をあかす必要はあります)。

ワイヤレスVR・出先でボイチェン

Oculus Questは完全ワイヤレスでVRができるデバイスですが、悲しいかなマイク端子が無い(イヤホン端子に差し込んだりUSBで色々やったりしてもダメ)のでボイチェン入力が出来ません。

しかしVirtualDesktop等のPCVRと連携するソフトを使えば無線ボイチェンも一応可能でした。

ちょっと有用な範囲が限られる感じはありますが一応紹介。

narazaka.hatenablog.jp

ワールドに書かれている英語を読みたい

それっぽいツール booth.pm

VRChat外の任意の画像をユーザーアイコンに使いたい

VRChatのサイトからアップロード出来ます。

横の「Icons」のところからですね。

f:id:narazaka:20210204183136p:plain

VRChat Plus向けアイコンアセット

VRChat Plus用の汎用的なアイコンです。

booth.pm

booth.pm

booth.pm

booth.pm

note.com

Plus向けではないですが使える事もありそう booth.pm

booth.pm

聾(ろう)者を示すアイコン booth.pm

有料系

booth.pm

booth.pm

Invite / Request Inviteのメッセージは編集可能

ここの「Add Message」からいけるメッセージ一覧は編集して保存可能です。

f:id:narazaka:20210204183540p:plain

雰囲気で日本語訳してみてもいいかもしれません。

f:id:narazaka:20210204183651p:plain

文化

TODO

アバターアップロード・アバター作りtips

アバターアップロードが凄く遅い・エラーになる

SDKウインドウのSettingsにある「Future Proof Publish」という項目のチェックが入っている場合があります。これは外してください。

f:id:narazaka:20210126143124p:plain

この「Future Proof Publish」という機能はSDKがかつて想定していた機能の痕跡のようなもので、まずOFFにしておくべきです。

どんな機能なのか

本機能はアップロードするアバターの関連アセットをunitypackageにしてサーバーに同時アップロードする機能です。

かつての伝聞によれば、これはVRChatにおけるUnityのバージョンアップ時などに自動的にアバターを最新版に変換して互換性を保つことを目指してついた機能であるようです。

しかし現状はUnityアップデート時にもアバターに何ら影響を与えることはなく死に機能になっているうえ、以下のようなデメリットもあります。

  • アップロードが非常に遅くなる・場合によってはエラーになる
  • アバターのblueprint idが分かればunitypackageが入手できるため不正コピーが容易になる

1番目も2番目もなかなか大きなデメリットであるため、いつか実装されるか分からない機能に期待するより普通に切っておいたほうが良いです。

各種フォーラムやTwitterアバター管理ツールなどでも基本的に切ることがおすすめされています。

ask.vrchat.com

一応メリットとしては、(VRChat APIを地力で利用できるなら)アバターデータを紛失しても最低限のバックアップをVRChatのサーバーからダウンロードできるため復元可能性が上がるというものがありますが、デメリットに見合う物では無いと思います。普通に手元でバックアップをとっておきましょう。

DynamicBoneを持ってない場合に設定削除する方法

VRChat用として販売されているアバターの多くには「DynamicBone」という有料アセットが設定されています。(冷静に考えるとなかなか極まった界隈だ)

assetstore.unity.com

DynamicBoneを持っていない場合にはこれが設定されているアバターはアップロード出来ないエラーになってしまいます。なのでその設定を取り除いてやる必要があります。

ツール色々

エラーになったコンポーネントを削除するツールがあります。これを使うと楽そうです。

booth.pm

dkrevel.com

手動の方法

Hierarchyウインドウの検索欄に「script」と打つと

f:id:narazaka:20201206230852p:plain

このような「Missing Script」となっている項目がざらっとでてくるので

f:id:narazaka:20201206230943p:plain

複数選択して「Missing Script」を右クリから削除すると捗ります。

f:id:narazaka:20201206231034p:plain

なお全選択すると以下のように一括編集できませんよと出てくる場合があるので、適宜一括編集できるような選択にすると良いです。

f:id:narazaka:20201206231124p:plain

この削除が終わればアップロード可能になったりする……はずです。

DynamicBoneの入手

アセットストアのセールがあると大体半額になるので、そのときに買うのがおすすめ。

昔はバンドル販売の影響で「DynamicBoneが余っている」という謎の人々が居たんですが(筆者含む)、流石に期限が切れてる確率が高そう。

アバターアップロード時などにエラーになるときの解説

ある程度まとまってる記事があるので参考になります。

it-was-rainy.hatenablog.com

スカートや長髪が貫通しないDynamicBone設定ツール

下記で紹介されているツールが良いらしい。

booth.pm

シェーダー一覧

VRChatアバターで一般的な用途によく使われているシェーダーの一覧です。(漏れているものもあると思います。教えてください。)

少なくとも日本的な絵柄のアバターは「現実的」なライティングではないNPR(ノン・フォトリアル・レンダリング)ができる「トゥーンシェーダー」系が向いており、そのためのシェーダーが多くでています。

また通常3Dゲームなどではいくつかのライティングの方法から限られたパターンを選択して選んでいるらしいのですが、VRChatはUnityで利用可能な全ての方法が使われる可能性が有り、ワールドによってライティング原理がまちまちになるという特徴を持ったなかなかハードなプラットフォームです。

このため既存の特定用途用シェーダーが変なライティングになる事が多く、「VRChat対応トゥーンシェーダー」の需要があります。

VRChat日本製アバターが利用している3大シェーダー的なところとしては、ユニティちゃんトゥーンシェーダー(UTS)、arktoon Shader、Reflex Shaderあたりだと思います。ただこれは2018年からやっている人の所感なので、最近は流行が変わってきているかも知れません。

ユニティちゃんトゥーンシェーダー(UTS)

unity-chan.com

日本製で、色々な3Dコンテンツに使われているシェーダーです。

VRChat専用シェーダーでは無いため当初はワールドによる相性が結構ありましたが、最近は「VRChat向け推奨設定」を良い感じにしてくれる機能なども付いて使いやすくなっています。

f:id:narazaka:20210123200625p:plain

シェーダーキーワード

このシェーダーはUnity2018まではアプリケーション起動中有限のリソースである「シェーダーキーワード」というものを多く使うため、ワールドなどで別のシェーダーキーワードが使われる場合描画が壊れる原因になり得るという癖を持ちます。

ただ現状では圧倒的な人々がこのシェーダーを使っているゆえに自分だけが使わなくてもほぼ対策として意味がないです(UTSのマテリアルが表示中1つ有っても100個有っても影響は同じであるため)。なので結論としてはこの件は気にせず好きに使って構いません。

なお注意点としては、VRChat SDKでシェーダーキーワード関係の警告を"対応しない"(ボタンを押さない)ことが必要です。(ボタン押すと描画壊れます)

Arktoon-Shaders

booth.pm

既に開発終了していますが、まだ普通に使えており、多くのアバターが使っています。Unityのアップデートなどにいずれ追従できなくなる危険性はあります。

「VRChat向け」に作られた古くから有るシェーダーのうちの一つです。

機能的に使いやすかったらしく、多く普及しています。

Reflex Shader

booth.pm

「VRChat向け」に作られた古くから有るシェーダーのうちの一つです。

バージョン2にあがってやや使いやすくなったらしいです。

まんまるシェーダー

miniscape.booth.pm

設定項目がシンプルで使いやすいシェーダーです。

見た目に最適な影を付けるために、影が見る方向によって変化することが特徴です。

Unlit_WF_ShaderSuite

github.com

テクスチャそのままを表示するUnlitシェーダーに色々な効果を付加するという方針のシェーダーです。

描画機能の切り分けがわかりやすい気はします。

Sunao Shader

booth.pm

設定項目がシンプルで使いやすいシェーダーです。

任意の位置にテクスチャを重ねる機能など地味に便利な機能も付いています。

Poiyomi Toon Shader

github.com

非常に設定項目と機能が多いシェーダーです。複雑ですが近年人気が上がってきているようです。

ガイドがあるためそちらを見ると良さそうです。

qiita.com

ArxCharacterShaders

packetbird.booth.pm

Arktoon-Shaders作者が作った新しいシェーダーです。

PBT-Shader

booth.pm

Standardシェーダーのようなリアルな表現とトゥーン系の表現を両立する事を目指したシェーダーです。

Xiexe's Unity Shaders

github.com

日本ではあまり使われておらず、情報が少ないです。

Silent's Cel Shading Shaders

booth.pm

AAShader Magical

atreides.booth.pm

Mochie's Unity Shaders

github.com

日本ではあまり使われておらず、情報が少ないです。

Cubeds-Unity-Shaders

github.com

歴史的なシェーダーで、現在使うことは推奨されません。

VRChatで当初多く使われていましたが、割と描画バグが多かったために他のシェーダーに置き換わってゆきました。

MToon

vrm.dev

VRMで使える標準トゥーンシェーダーです。

VRChatにおいては非対応の光源が多く、VRMを変換して設定されるこのシェーダーでそのままインポートするとあまり良い感じにならない事が多いため、別のシェーダーに置き換えることをおすすめします。

VRChat/Mobile/Toon Lit

VRChat SDKに同梱されているシェーダーで、Oculus Quest環境で利用できる唯一のトゥーンシェーダーです。

光源によっては白飛びしやすい癖があるため、PC環境では使い勝手は悪いと思います。

Unlit/Texture, Mobile/Unlit

Unity標準のシェーダーで、Unlit(つまりテクスチャそのままを描画する)シェーダーです。

シェーダーのフォールバック先になる可能性があります。

シェーダーのフォールバック

VRChatのセーフティシステムにおいてシェーダーはデフォルトで切られている場合があります。この場合Standardシェーダーなどにフォールバックされるそうですが、場合によってはUnlitなどにすることも出来るそうです。

また現状では余り起こらないと思いますが、シェーダーにMainTexプロパティが無いなどの場合単色塗りになってしまう場合もあります。

アバターのパンツなどを履き替えたい

なんだそれはと思うかも知れませんが、「パンツパッチ」と呼ばれる業の深いアセットが存在しており、これを使うことでアバターの下着を数百種類から選んで変更することが出来ます。

booth.pm

アバターの化粧をしたい

パンツパッチの人が作っている一見業が深くないプロダクトです。

tenteeeee.booth.pm

衣装・アクセサリ改変

アバターの「衣装」がよく売れられているので、特に有名でユーザーの多いアバターは服の選択肢が思った以上に多かったりします。

そのときに割と柔軟に自動で着せ替える事が出来るツールがこちら。非対応アバターでもある程度体型が似ていればなんとかなったりします。

shivi.booth.pm

羅生門構想

その他アクセサリをつけるやつ

shivi.booth.pm

VRoidから衣装を取り出すやつ

shivi.booth.pm

改変サポート

改変サポート業を行っている人もいるのでお金で手間を買う事も出来るっぽいです。

sobaevr.com

また改変について扱うDiscordサーバーも存在します。

表情と手の組み合わせを変えたい

こちらのツールをインポートします。 gatosyocora.booth.pm

アニメーションの右上歯車マークをクリックして出てくるメニューで選択したハンドサインがアニメーションに上書きされます。

なお「ねここや」さんのポーズ集有料版にもハンドサインがあるのですが、それプラスこちらのツールを加えて導入することでそれらのハンドサインも同じ仕組みで使えるようになります。 narazaka.booth.pm

f:id:narazaka:20201215182550p:plain
右上の歯車マークをクリック(ねここやハンドポーズツール導入済みの様子)

Avatars 2.0、3.0ともに使える方法です。3.0の場合はGestureに設定するアニメーションに適用して下さい。

サムネイルをいい感じにしたい

実際に利用したことはないのでリンクの紹介だけ。

booth.pm

booth.pm

Avatars 3.0のExpression Menuのアイコンが欲しい

表情系 booth.pm

より細かい顔の要素系 booth.pm

服装等 booth.pm

より細かい服装系

Emote系 ani-kun.booth.pm

Avatars 2.0アバターのAvatars 3.0移行用アセットですがアイコンも含まれています。 booth.pm

ワールド作り

TODO

定番アセット

初期ツール

iwasync

3.0video

avatar symlink quest

ワールド内で生成した画像等をカメラで外に持ち出したい

カメラ画角にぴたっと画像をはめるシャーダーがあります。

booth.pm

VRでローカルテストしたい

VRChat SDKのSettingsの所に「Force Non-VR」という項目があるのでこれを使えばデスクトップで起動できるのですが、その際実は追加の設定が必要です。

note.com

static設定色々

描画や処理を軽くするためのstatic設定にも色々あるので解説記事。

unitystudygo.com

QuestをPCVRに活用する方法

公式のOculus Linkという有線ケーブルをつなぐ方法以外にも、ソフトを買って無線でやる方法が存在します。

  • VirtualDesktop
  • ALVR

というのがあります。

tona.hatenablog.jp

フルトラ(フルボディトラッキング)がしたい

VRChatにおいてVR環境でのトラッキングは、

  • 2点トラッキングHMD+コントローラー1つ)(コントローラー電源切れたとき用)
  • 3点トラッキングHMD+コントローラー2つ)
  • 4点トラッキング「腰トラ」(HMD+コントローラー2つ+トラッカー1つ(腰))
  • 6点トラッキング「フルトラ」(HMD+コントローラー2つ+トラッカー3つ(腰・右足・左足))

がサポートされているようです。

10点トラッキングHMD+コントローラー2つ+トラッカー7つ(右肘・左肘・腰・右膝・左膝・右足・左足))をサポートするプラットフォーム(バーチャルキャスト等)も存在しますが、VRChatでは未対応です。

基本的なところはこちらの記事に詳しいです。 vrchatjp.playing.wiki

ネイティブ対応のHMD・非標準対応のHMD

この4点・6点トラッキングは基本的に「Lighthouse」と呼ばれるHTC ViveやValve Index等の動作環境を前提としていて、Oculus系やWindows MR等は本来非対応です。 なので最初からフルトラを見据えてVRをしたいという場合(あまりないと思いますが……)はそれらLighthouse環境のHMDを買うことがおすすめです。

しかし後述する「非標準フルトラ」にあるように、周辺ソフトウェアの導入などによって本来対応していないHMDでもフルトラッキングを十分にすることは可能です。

特にOculus Quest系(PC接続) + フルトラッキングというのは多くの人が試みている環境だと思います。

3点トラッキングとの切り替え

デスクトップとVRのモード切り替えは再起動無しには出来ませんが、VRのトラッキング点数の切り替え(3点とフルトラの切り替えなど)は起動中に可能です。

トラッカーの電源を入れるとキャリブレーションボタンが現れて、それを押すと4点・6点にできます。またトラッカーの電源を切ると3点に戻すこともできます。

ただしトラッカーのアサインがでたらめになる(腰と足が入れ替わるなど)場合があるので、そういったときは電源を切って付け直すなどすると直るかも知れません。(なんか最初に認識したやつが腰になったりするらしい……?)

ViveトラッカーによるフルトラのTips

Viveトラッカー・ベースステーション品薄問題

Viveトラッカーは長らく品薄だったので入荷の報があるごとに争奪戦が起こっていました。

しかし現在は割と普通に買えます。(2021年1月現在)

ベースステーションはまだ品薄状態が継続している模様。 HTCが売っているのとValveが売っているのでやや値段が違ったりしているなどもあるため、状況を確認することをお勧めします。

Viveトラッカーの固定方法

Viveトラッカーは本来は体を動かすスポーツゲームなどに向けて作られたものであり、例えばテニスラケットなどの専用器具に取り付ける事が主な想定用途です。

なのでVRChatなどで一般的に行われている「体に直に取り付ける」というのは実は「想定外」の使い方なのです。

このため公式による取り付け方法は存在せず、サードパーティーによるベルトを使ったり、地力で工夫したりする必要があります。

以下の記事に事例が詳しいです。個人的には少々値ははりますが楽な市販のベルトによる方法がおすすめ。

note.com

ベースステーションは1.0と2.0がある

ベースステーションにも、ベースステーション1.0とベースステーション2.0という2種類が有り、それぞれによって対応するトラッカーなどが異なります。

ベースステーション2.0は3台以上設置してトラッキングの死角を減らせたりするので、現在新しく導入する場合基本的には2.0で良いと思います。ただし古いViveなどを使う場合は非対応です。

www.vive.com

ベースステーション1つでもフルトラ可能

  • 結構「飛びやすく」はなりますが、1つでも一応可能です。
  • 片方壊れた!とかOculus系でベースステーション追加で買うの高い!と言う場合は最悪1つでも良いかも……まあおすすめはしないのですが……。
  • 体を常にベースステーションのほうに向けていればまあいけるかも。

「飛ばない」ようにしたい

3台以上のベースステーション

ベースステーション2.0は3台以上設置することでトラッキング精度を向上させる(というか死角を減らす)ことができます。

qiita.com

記事によっては関連機器を16個まで使える(つまりHMD+コントローラー2個+トラッカー3個なら残る10個をベースステーションの個数に割り振れる)との記述がありますが、どうやらSteamVRが使うベースステーションは同時に4個までであり、使うベースステーションの組が変化するときに位置が非連続に飛ぶこともあるらしいため、4つまでにしておくのが一般的に良いようです。

トラッカーはどこに付けても良い

腰トラッカーを付ける場所はおなかの前でもよいですが、腰の左右側や、あるいは背中側でも問題ありません。

姿勢によってトラッキングされやすい位置に付けてキャリブレーションすれば良いようです。 (変なポーズをするときに位置を変えてキャリブレーションし直している人もたまにいます。)

足も同様に背面や横などに付けても良いです。

干渉する要素を減らす

ベースステーションとトラッカーは赤外線によって通信しているため、赤外線が発されるものでそれが上手く認識されなくなったりします。

www.moguravr.com

トラッカーを体から離す

トラッカーが体から遠いと背面側にあるベースステーションから物理的に認識されやすくはなるので、あえて体から離す方法があるようです。

scrapbox.io

ベースステーションどれか一つしか認識しない場合の対処

特にOculus系+Viveフルトラ環境などでベースステーションを個別に購入した場合、2つベースステーションを設置しているのにどちらか片方しか認識されないという事象が起こったりします。

ベースステーションは「チャンネル」と言う概念が存在し、これが同一なものは1つしか認識されない模様です。

なのでこの場合以下で紹介されているようにベースステーション裏面の穴でチャンネル設定を変更すると両方認識されるようになる可能性が高いです。

qiita.com

トラッカーの持続時間を増やしたい

Viveトラッカーは5,6時間で充電が切れてしまうため、それ以上連続して使用するためには対策を講じる必要があります。

バッテリーを使う

モバイルバッテリーをトラッカーに付けて充電しながら使うことで持続時間を延ばすことが可能です。

ただ固定の方法は色々考える必要があり、マウンターを作っている人などもいます。

noja00.booth.pm

また市販の専用品もあります。お金が出せるならこちらのほうが楽かもです。

TrackStrap Plus / TrackBelt Plusrebuffreality.com

www.amazon.co.jp

有線充電しながら使う

USBケーブルで電源と繋ぎながらプレイする方法です。事実上無限にトラッカーを使い続けることが出来ます。(筆者はこれを使っています)

特に回転しながらダンスするなど激しい動きなどには不向きですが、VRChatフルトラ民が一般に行う日常動作程度なら多少煩わしい程度で十分実用的です。

フルトラ環境を導入しても使わなくなってしまう人も存在するのですが、この方法だと「トラッカーの充電が切れて3点トラッキングになってしまう」という面倒くさい事象が存在しなくなるため、フルトラ環境の持続にも繋がる……かも?

方法

必要な物↓

  • 急速充電系対応の(要は供給電力が大きい)USB充電アダプタ
  • アダプタ~腰までのUSB延長ケーブル(USB TypeA→USB TypeA)
  • 腰に付けるUSBハブ
  • 腰~トラッカーへのUSBケーブル(USB TypeA→micro USB)x3

USB充電アダプタについては筆者はたまたま家に余っていた9V2A(18W)の給電が出来る物(Huaweiスマホのやつ)を使いました。他で試したわけではないので「18Wでなければダメ」とは言えません。まずは手持ちの充電器で試してみるのをおすすめします。

USB延長ケーブルについては長さに気をつける必要があります。

まず前提としてUSB 2.0の規格上USBケーブルの最大延長は5mです(3.0だともっと少ない)。腰~トラッカーへのケーブルが1m弱必要であることを考えると残りは4mです。市販では3mになると思うので、3mで良いならそれっぽい充電ケーブルを買うので良いかもしれません。

しかし有線でプレイする以上長いに越したことはありません。筆者はトラッカーを外さずに冷蔵庫まで行けるように5mの延長ケーブルを買いました。このとき規格から外れてしまうため、「USBリピーターケーブル」あるいは「USBアクティブケーブル」と呼ばれるものを使うと安心です(ただしこれは通信に関してだと思うので給電だといらないかもしれないです)。

www.sanwa.co.jp

筆者は以下をヨドバシで買って使っています。

https://www.yodobashi.com/product/100000001003785694/www.yodobashi.com

腰に付けるUSBハブは3つ又のちょうど良いやつがあります。普通ので良いですが、差し込み口が堅く外れにくいのをおすすめします。

これらを接続して、腰になんらかの方法でUSBハブを固定して(トラッカー用ベルト系だとわっかが付いてたりするのでそれにケーブルを通すなどして)有線接続完成です。

PC直接続ならドングルも不要?

Viveトラッカーは元々「トラッカーとPCを直接USBケーブルで接続するとドングル不要でPCで認識できる」という仕様がありますが、PCに接続する方法だと大体消費電力に対して給電電力が足りず、無限には出来なくなります。上述のようにドングルを利用した状態でコンセントと直につなぐ方法がおすすめです。

「無線充電しながら」はまだできない

トラッカー関連で「無線充電」というキーワードもありますが、これらはQi充電規格のスマホと同様「置くだけで充電」を企図したものであり、プレイ中に持続して充電する手段では無いことに注意が必要です。

camp-fire.jp

遠距離充電技術としては以下のような記事がありますがまだ技術自体が製品化には至っていないようです。

k-tai.watch.impress.co.jp

先行研究

主に固定具やUSBケーブルなどの知見を発見しました。充電器については言及が無いため、やはり割と汎用的な物で良いのかもです。

非標準フルトラ

「ViveトラッカーをベースステーションつきHMD(Vive, Index等)で使う」という標準的な環境以外の方法です。

各方法とも擬似的に自前デバイスをViveトラッカー相当としてSteamVRに認識させて動作させることができます。

ViveトラッカーをOculus系で使用する

ViveやIndex等ベースステーションを使わない方式からフルトラッキングをする方法です。

基本的にRift SもQuestもQuest 2も変わらないので以下を読めばなんとか……。

ただ導入時限定ではあるものの結構ハマりどころはあります。経験者に聞くなどするとスムーズかも知れません。

tona.hatenablog.jp

tomo-shi-vi.hateblo.jp

よくあるハマりどころ

  • steamvr.vrsettingsを編集する際に、行末尾のカンマ(,)に注意してください。
    • このファイルは「JSON」という記述形式でかかれていて、同じ{}内にある要素群のうち最後の要素は末尾カンマ無し、それ以外は末尾カンマ有りにする必要があります。
    • もしこの記述をミスるとファイルがSteamVRによって自動的に上書きされて設定が無かったことになってしまいます(それまでにSteamVRで行った設定もリセットされます!)。上手くいかなかったら設定ファイルをもう一回見直して、変に書き換わっていないか確認してください。
  • OpenVR-Space CalibratorはSteamVR再起動などをしないとエラーを吐くことがあります。あるいはOpenVR-Space CalibratorをSteamVRより先に起動しないと登録されなかったりする場合もある気がします。起動順などを確認してください。
    • ダメな場合はSteamVRなども含めて再インストールすると上手くいく……かも……。(場合によってOpenVR AdvancedSettingなどもインストールし直しになったりして面倒ですが……)

Haritoraを使用する

加速度センサーIMU(慣性計測ユニット)式(ざっくりジャイロセンサーとも呼ばれる)でベースステーション不要のフルトラデバイスです。

精度自体はViveトラッカーに劣るが、ベースステーションからの遮蔽を気にせずに動き回れるため、例えばVR睡眠で布団をかぶったり、Quest+VirtualDesktopなどの完全無線環境なら別の部屋に行ってもトラッキング継続が出来たりするというメリットもあるらしいです。

価格的に普通に4万円とかするのでベースステーションが既にある場合(ViveやIndexを購入した場合)は普通にViveトラッカーを選ぶのが一般的にベストだと言えると思いますが、Oculus系だとベースステーション代金が浮いて4,5万円節約できるので選択肢に入ってくると思います。

執筆時点では品切れ中ですが、いずれ復活するのではないかと。

haritora.wixsite.com

kinectを使用する

Xbox 360など用の周辺機器kinectをトラッキングに使ってしまう方法です。

トラッカーを付けるのではなく映像から解析する方法なので、体に何も付けなくて良い反面、正面以外の検知は苦手らしいです。

https://blog.hinaloe.net/2020/09/19/steamvr-1-14-kinect-vrchat/blog.hinaloe.net

vrchatjp.playing.wiki

katlocoを使用する

VR用足踏み移動デバイスKAT locoのモーションキャプチャー機能を使う方法です。

ベースステーション不要で3万円台です。

Viveトラッカーよりはやはり精度的に劣るらしいですが、価格面および足踏み移動に魅力を感じるならアリかも知れません。

katvrjapan.amebaownd.com

wolfish.org

vrherokichi.com

note.com

VSmartTrackerを使用する

手持ちのスマホをトラッカーとして使用してしまう方法です。

スマホ1台が1つのトラッカーになるため対応スマホを最低3台持っていないと「フルトラッキング」とはいきません。

しかし1台のみを使用し「腰トラッキングのみ」の環境を作ることも可能です。

腰トラのみでも結構表現が広がるので、それを試してみたい場合はアリかも知れません。

ただトラッカーの更新頻度が遅くややガタってるように見えたり、キャリブレーションがちょっと面倒だったり、Windowsの更新やiOSの証明書更新期限に対応できていないなど困難もあるので、ある程度人柱的な精神で使うのをおすすめします。

対応スマホなら2000円という破格の安さでトラッカーが手に入るので、純粋な価格面ではかなりのアドバンテージがあります。

booth.pm

ハードウェア系

Oculus Rift Sが上手く起動しない

Rist Sを買ったけれどUSBっぽいエラーで上手く起動しないという場合、相性問題である可能性があります。

Oculus系はUSBコントローラーとの相性問題が激しいらしく、PC備え付けの端子でも上手くいくところと行かないところがあったりするようです。

実際に筆者は背面の端子で無理っぽかったので、USB端子増設しました……。

vr-maniacs.com

コントローラーの調子がおかしい

Oculusコントローラー等を長く使っていると、アナログスティックがドリフトする(触れていないのに勝手に入力される)ようになることがあります。

後ろに下がりっぱなしになったり、右に回転しっぱなしになったりするためかなり煩わしい状態ですが、この場合コンタクトスプレー(接点復活剤とも呼ばれる)が状況を改善する可能性があります。

この安い溶剤を雑にスティック接続部に吹きかけるだけでドリフトが直るというのはなかなか信じがたかったのですが、実際複数のフレンドから聞いたので自分もやってみたら本当に直りました。精密機器はよく分からない……。

なお場合によっては改善はする物の完全には直らなかったりと言うこともあるらしいため、一応過度な期待は禁物です。 ただどのみちダメだったら買い換えしかないこと、買い換えよりは圧倒的にコストが安いことなどから、一度ダメ元で試してみるのはおすすめだと思います。

一度直ってもまた再発することもあるので、その場合はもう一回使いましょう(十分量有ります)。

コンタクトスプレーと接点復活スプレーと接点復活剤と5-56と2-26

サビ防止・接点復活という触れ込みで同じ会社から色々な物が売られているのですが、結論から言えば「コンタクトスプレー」が正解な模様です。

これ系のものはプラスチックや樹脂などを溶かしてしまう溶剤が入っている事が多く、プラスチックと樹脂(基盤)に影響が少ないのは「コンタクトスプレー」であるとのことです。

meaning-difference.com

communes.jp

Oculus Quest2+Oculus Linkでマイクが認識されない問題

そういうのがあるらしいです。(筆者はQuest2持ってないので伝聞)

osaka99.github.io

豆知識

VRChatの現在のローディングBGM

www.melodyloops.com

以上

マジで全然まとまってないけど、こういうのいちいち説明するのが面倒な感じあったので殴り書きしました。

バグ系特にこう、てきとうにVRChat日本Wikiとかに転記してくれる人がいるとたすかりそうです。