ウーパの手習い

私的開発メモ用途なのでご容赦ください。2020年現在はSwiftとUnityでARのお勉強中。

VRChatのWebPanel操作が他の人には見えていない不具合

追記:この不具合は解決しました。

VRChatにはWebPanelコンポーネントが用意されていて、VRChatワールドの中にWebブラウザを表示・操作できますが、例えばSlideShareサイト上のプレゼンの進む・戻るなどは、javascriptで制御されていて、それをWebPanelコンポーネント標準のボタン機能ではコントロールできない課題がありました。

それに対して、下記の方法で対応できたと思っておりましたが、

これで自分一人で操作している分には期待通りの挙動となりました。しかし、この実装をしたワールドに他のプレイヤーを呼んだ際、以下の不具合があることが分かりました。

症状1:自分ではブラウザ内をjavascriptで操作(私の場合SlideShareスライドのページ送り)できているが、そのページ送りが他の人には反映されていない

症状2:JavaScript制御の部分だけかと思いきや、通常のSetWebPanelURIでGoogleに移動したときも、その画面遷移が他の人には見えていない。

参考情報:他の人は他の人自身がWebPanel操作することはできる。つまりオーナー操作権限の問題はクリアできている。ただし上記症状と同様にその操作内容を私ユーザーからは見えない。

原因を考えると、症状2については、通常のWebPanelの機能ですし、ネット上ではそういう症例は挙げられていないことと、WebPanel設定項目の中のSyncronize URI(boolean)が、まさに関連していそうな変数名であることから、この辺りの調整で解決するかなと考えております。

f:id:uuupacom:20180323104129p:plain

ではなぜ私がこのチェックを外していたかというと、チェックが入っているとオーナー(最初に部屋にログインした人)以外がブラウザ操作できなくなると聞いていたからです。



上の原因が第一候補で、可能性低いですが考えられる他の原因として

・自分の場合、WebPanelと同じ画面を、別のQuadオブジェクトに同期表示させており、そのあたりのマテリアル実装がなんらかの影響を与えている?

・WebPanelを貼り付けたQuadオブジェクトのStaticのON/OFF設定が影響?

・まだpublicではないから?←その可能性は薄いと思いますが。

あたりも頭をよぎりましたので一応メモ。

昨日判明した不具合でして、ちょっと今すぐ検証できないのですが、追って検証できたら追記します。