デバッグに使える技術
ワールド開発の際、使用方法を覚えておくとデバッグの効率を大きく向上させることが出来るツール・手法が存在します。通常のプレイではワールドでの体験を大きく損なう可能性があるため、よく考えてから使うことをおすすめします。
デスクトップモードのカーソル
デスクトップモードで、右クリックを押している間はカーソルが表示される。この色と大きさからいくつかの情報が読み取れる。
色
- 緑→TriggerがあるCollider
Triggerは操作可能なOnInteract等だけでなく、Is TriggerでOnEnterTriggerなどにも反応する。 - 青→Collider
Meshの有無にかかわらず、Colliderなら反応する。
また、動かす際にColliderの境目で白く光る。
大きさ
Colliderまでの距離に応じて変化する。大きければ近く、小さければ遠い。
デバッグメニュー
キーボードのメニューキーを押しながら数字の1~5を押すことで、5種類のデバッグ用の表示があらわれる。
現在はアップデートによってメニューキーの代わりにRightShift+`+数字で表示されるようになっている。
使用する際は起動時にコマンドラインオプションとして「--enable-debug-gui」を追加する必要がある。
タブキーを押している間はマウスカーソルが表示されるが、この状態でこの UI は操作できる。スクロールバーがある部分はマウスホイールでスクロールできる。
デバッグログは自分がアップロードしたワールドか、ワールドをアップロードした人が許可したワールドでしか表示することができない。設定は公式サイトから行うことができる。
1番
簡易イベントログ。TriggerやActionが表示される。短時間でログが表示されなくなるが、字が大きく読みやすい。
ver 2018.1.1 からサーバAPIのアクセスログが追加された。おそらく API のパス、累積回数、処理時間が表示されている。
2番
バージョン番号とfpsメータ。fpsとpingはシステムメニューの右下に出ているので、継続して観察が必要でなければそちらのほうが見やすい。
3番
詳細ログ。1番のログとほぼ同じ内容の他、Unityのログっぽいものも出る。
同じ内容がファイル出力される。ファイルの位置は
/Users/{ユーザー名}/AppData/LocalLow/VRChat/vrchat/output_log-HH-MM-SS.txt
(HH-MM-SS は VRChat を起動した時分秒の値が入る。起動する時に24時間以上前のものは削除される)
ファイルが置かれているフォルダを簡単に開くには Windows エクスプローラのアドレス欄に %appdata%\..\LocalLow\VRChat\vrchat と入力する
上の方にタブキーを押している間マウスで操作できるボタンがある。Log,Warning,Error はエラーレベルごとに表示がトグルできる。Expand は追加情報があれば表示できる機能のようだが未確認。
4番
メモリ関係?
5番
インスタンスのプレイヤー一覧が出る。重要なのはその名前の右側の数字で、これがインスタンスへの入場順に成る。数字は振り直されず、一番数字が小さいプレイヤーがそのインスタンスのMasterになる。
6番
?
7~9番
Unity2018への移行後に追加された。
7: トリガー関連
8: object sync などネットワーク関連
9: プレイヤー関連
Tips
ログと動作状況の突き合わせ
- 本格的にトリガー&アクションの仕組みをデバッグする時は1番の表示を有効にした状態で、ワールドでのアバターなどの動作や操作込みで動画に撮って、その後一時停止しながら現象理解をするのがお勧め。
- 実際の動作とトリガーの関係、結果的にどのアクションが実行されたのかあるいはされなかったのか、というのを読み取ることが出来る。
動画を撮るには
- OBS Studio、GeForce Experienceなどのキャプチャーソフトを使用します
VRモードでデバッグログを見る方法
VRモードでは各種デバッグログはワールド座標の(0,0,0)の位置に表示されるため基本的に見ることができません。
ログはログファイルから見ることができ、このログファイルはリアルタイムに更新されています。
そのため、OVRDropなどのVR空間内にウィンドウを表示するツールと
ログファイルをリアルタイムに表示するツールを組み合わせることで見ることができます。
VRChat のログをHMDでも見たい時用PowerShellスクリプト
なお、応用として、新しいプレーヤーがワールドに入ってきた時、カメラで撮影された時、
フレンド登録が発生したときなどに音を鳴らしたりすることもできます。
視点の差し込み
アバターから多少視点が離れている場合、アバターのCollider外に視点が置かれることがある。この状態でMeshに頭を差し込むと向こう側を見ることが出来る。
対策としては、視点は大きくアバターから離れているとUIやモーションが正常に動作しないことから、乖離はあまり大きくないとすることができるので、壁から少し離れたところに反対向きのMeshを張ることでのぞき見を防止できる。
壁ジャンプ
垂直なColliderにむかってあるきながらジャンプを繰り返すことで、登ることが出来る。
対策としては、ねずみ返しのようなColliderをつけることでこれを防ぐことが出来る。
VRChatを起動しながらデバッグ
- 通常はVRChatを起動しながらデスクトップのマウスカーソルを操作してもVRChatの画面に戻されるが、ゲーム内でメニュー画面(Escキーを押すと出てくるping値等を確認できる画面)を表示した状態であればマウスカーソルが中央で固定されることも無く操作可能となり、ウィンドウを移動したり、最小化することも出来るので、普通のデスクトップとして作業が可能。
- 参考:http://vrcprog.hatenablog.jp/entry/howto-mouse-locked-bug
VRChatが重い場合の対処法(画質を下げる)
デバッグ技術とは少しズレますが、デスクトップの場合とVRの場合でそれぞれ、画質を下げて対処する方法があります。
VRChatが重い場合の対処法(画質を下げる)
起動オプション
- 「--profile=X」(Xは数字、Default値は0)
数字を指定することでログインするアカウントを切り替えることができる
https://twitter.com/naqtn/status/1248135409894191107
コメント・情報提供
カテゴリ・その他: カテゴリ-その他
- 最終更新:2020-09-02 10:23:22