[VRChat用マルチプレイヤー動作確認ツール] MultiSim
- ダウンロード商品¥ 300
![[VRChat用マルチプレイヤー動作確認ツール] MultiSim](https://booth.pximg.net/3e9c0dda-28ad-4162-9dd2-7a79f3fe3e95/i/8608362/5f9fc426-f6b7-46da-89b1-cc5d29f415e1_base_resized.jpg)
!!!!!!!!!!!!!!!!!!!!!!!!! VRChatクライアントと挙動に差がある場合があります。 不具合を発見しましたらご連絡下さい! !!!!!!!!!!!!!!!!!!!!!!!!! ClientSim に Local TCP通信機能を付加し、 Unity Editor 上で VRChat ワールドのマルチプレイヤーでの動作確認を行うツールです。 ParrelSync( https://github.com/VeriorPies/ParrelSync/ ) を用いて複製したプレイヤー人数分の Unity Editor にて、通常のClientSimと同じ感覚でマルチプレイヤーでの動作確認を行えます。 同期の遅延( VRC Object Sync や変数同期で生じる遅延)については再現していません。 ※BOOTHは投げ銭用です。 VPM,UPMでインストールする場合は下記を参照して下さい。 https://github.com/nyakomechan/VRChatMultiSim またこちらのほうが更新が早い場合があります。
前提パッケージ:
com.vrchat.worlds 3.10.x(VCC ワールドプロジェクト) ParrelSync( git URL: https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync )
使い方
・メニュー → Tools → VRChat MultiSim → Enable Multiplayer Simulation をオンにする (EditorPrefs 保存なのでオリジナル/クローンの両方に効きます) ・Tools → VRChat MultiSim → Open ParrelSync Clones Manager からクローンを作成し、クローンエディタを開く ・オリジナル側で ▶ Play(ホストがポート 24685 で待受開始) ・クローン側で ▶ Play(自動でホストに接続し、プレイヤーID 2 として参加) ・両方の Game ビューで動作確認。Console に [MultiSim] プレフィックスでログが出ます ・Play の順番は「ホストが先」推奨ですが、クライアントは最大 15 秒間リトライするので多少前後しても繋がります。 ・ホストが見つからない場合は警告を出して通常のシングルプレイ ClientSim として起動します(ハングしません)。 ・3 人以上のテストはクローンを追加するだけです(Clones Manager から複数作成可)。
制限・注意
・VRChat SDK (com.vrchat.worlds) 3.10.x 向けです。・ClientSim 内部にリフレクションでアクセスしているため、SDK 更新で動かなくなった場合は Console に「どのメンバーが見つからないか」がエラー表示されます。 ・同期は JSON/TCP による簡易実装です。実際の VRChat のような帯域制限・送信レート制御・補間は再現しません(Continuous は約 10Hz のポーリング)。 Continuous オブジェクトの OnPreSerialization 内で行った変更は 1 tick 遅れて送信されます(Manual は正確です)。 ・マスター移譲は「ホストが最初のマスター」を前提としています。ホスト(オリジナル)の Play を先に止めるとセッション終了扱いになり、クローンはシングルプレイ状態で継続します。 ・リモートプレイヤーの見た目は ClientSim 標準のリモートプレイヤー(カプセル)で、位置・回転のみ反映されます(ボーン単位の姿勢は未対応)。 ・Station 同期は「VRCStation がネットワークコンポーネント(UdonBehaviour 等)と同じ GameObject にある」ことが前提です(NetworkID でStationを特定するため)。着席ポーズは再現されず、リモートプレイヤーは着席位置に立ち姿で固定されます。 ・ホストが自分のインスタンスオーナーになります。 ・isInstanceOwner はホストのみ true です。 ・ポートは Tools/VRChat MultiSim の設定(既定 24685)。他ツールと衝突する場合は MultiSimPrefs の EditorPrefs キー MultiSim.Port を変更してください。 ・Network ID Import and Export Utility で Regenerate Scene IDs を行った場合は、クローンプロジェクトの Unity Editor でも同様に Regenerate Scene IDs をしてください。 ・ParrelSyncの仕様上Packagesフォルダの変更はクローンには反映されないため、VPM/UPM Pakcageを導入した際はクローンを作成し直してください。
LICENSE
MIT License Copyright (c) nyakome Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

