TL; DR
この問題は未解決です、今後も新たな情報が分かり次第追記していきます
人が見えなくなるバグ?
VRChatで時々発生する「同じインスタンスにいるのにその人が見えない」という現象が発生することがあります。(もちろんブロックしていない状況での話です)
症状としては、(A,B,Cのプレイヤーがいるとして)
- AからはBのアバターが見えるし声も聞こえるが、BからはAのネームプレートすら見えず声も聞こえない
- Cからは両方とも見えているし声も聞こえる
- Aがワールドのグローバルなモノを掴むとBからはそのオブジェクトが見えなくなっている
というもので、ブロック並みに厄介です。
これは経験則なのですが、このバグは同じインスタンスにほぼ同時に2人(A,B)が入ったときに起きやすいです。また、今のところ正常に表示された後しばらくしてから消えるといったことはありません。
環境
VRChat Client (Steam build 11946)
VRChat SDK 2022.04.20.16.26
UdonSharp v0.20.3
試したこと
- プレイヤー一覧を取得→表示されないプレイヤーもプレイヤー一覧は正しく取得できている
- VRCPlayerAPIにあるIsValid関数→現象発生の有無に関係なくtrueを返す
- VRC.SDKBase.UtilitiesにあるIsValid関数→同上
これから試すこと
- VRCPlayerAPIにあるGetTrackingDataでトラッキング位置を取得し失敗しないか検証
- 失敗の検知にtry-catchが使えないので他のUdonBehaviourからenabledを取得してチェックするのがいいと思う
- カメラを使ってそのプレイヤーが表示されるかチェック
- アバターが0polyでも正しく取得できるようネームプレートを使う?