質問: プレファブ階層内複数箇所を同期したい 質問です。 MonobitNetwork.Instantiate するプレファブ内、複数箇所の Transform を同期したい場合はどのように設定すれば良いのでしょうか? 今、あるキャラクタを収納したプレファブがありまして、このルートには、MonobitView、MonobitTransformView、MonobitAnimatorView がコンポーネントとして貼ってあって、このMonobitViewのObserved Component Registration Listに、このMonobitTransformViewとMonobitAnimatorViewコンポーネントを登録することでキャラクタの位置、向き、アニメーションの同期ができています。 このプレファブに、適当に玉か何かのオブジェクト(「X」とします)を要素として追加しました。X は、MonobitNetwork.Instantiateしたクライアント上で、例えばコントローラ操作で動かします。この動かした結果を、同期している他のクライアントにある X に同期したいのです。 X を、ルートにあるMonobitViewのObserved Component Registration Listに追加すれば良いかと思ってやってみたのですが、これでは同期は動かないようです。(MonobitNetwork.Instantiateはうまくいきます) 次に、XにもMonobitViewを追加、これのObserved Component Registration ListにXのTransformを追加してみましたが、MonobitNetwork.Instantiateが動作しなくなりました(特にエラーメッセージなどはなし)。 Xに追加したMonobitViewをルートに移動しても同じく、MonobitNetwork.Instantiateが動作しません。 ご教示いただければ幸いです。よろしくお願いします。
回答: 多少面倒な作業が入りますが、 の手順と同じように 1. ルートオブジェクトにある MonobitView を X にドラッグ&ドロップして移動。 2. X に対し MonobitTransformView, MonobitAnimatorView を追加する。 3. X に移動した MonobitView の Observed Component Registration List に X の MonobitTransformView, MonobitAnimatorView を追加する。 4. X にある MonobitView をルートオブジェクトにドラッグ&ドロップして移動。 で、ルートオブジェクトに MonobitView があり、その Observed Component Registration List 内に ・ルートオブジェクトの MonobitTransformView ・ルートオブジェクトの MonobitAnimatorView ・X の MonobitTransformView ・X の MonobitAnimatorView が含まれている状態にします。 さらにこの上で にある手順で Assets/Monobit Unity Networking/Plugins/MonobitNetwork/MonobitTransformView.cs の Awake メソッドを上記ページ内の内容と同一に書き換えれば動作すると思います。