座標・姿勢取得シェーダー&外部取得ツール【VRChat】【MA】
- Digital0 JPY



VRChatの制約で外部プログラムからアバターのワールド座標や姿勢が取得できないため、シェーダーで座標と姿勢をピクセルグリッドに焼き込み、画面キャプチャ経由でPythonから読み戻すツールです 【注意】アバターパラメータを同期に変更しないでください。同期させるとワールド内の全員の画面上にHUDが表示されてしまいます。
動作環境
OS: Windows 11 VRChat: Desktopモード専用 Unity: ModularAvatar導入 【以下は外部プログラムから扱う場合】 Python: 3.11 以上 ※uvパッケージマネージャの導入が必要です ※PostProcessingがあるワールドでの動作は未確認です
エンコード仕様
position(x,y,z) / forward / up をfloat32のまま12ワードに詰め、画面左上に32×12bitのグリッドとして描画します。マジックナンバー+XORチェックサムでデータの整合性を検証します。 ※グリッドの上にオーバーレイや、ほかのウィンドウが上に重なっている場合は取得できません。 VRChatがアクティブウインドウである必要はありませんが、画面上のどこかにグリッドが見えている必要があります。
Github
https://github.com/njm2360/vrc-position-hud



