現在、複数人で通信プレイするゲームを作成しています。
Tips(3) : 「MonobitTransformView」「MonobitAnimatorView」よりも「OnMonobitSerializeView()」 を使った方が得策
という記事を読み、RPC通信で同期させていたプレイヤーのステータス情報を、OnMonobitSerializeViewで同期させようと思い、リファレンスと同じように作成してみたのですが、OnMonobitSerializeViewメソッド内に入らず、上手くいきません。
MonobitEngine.MonoBehaviourは継承しており、プレイヤーオブジェクトはMonobitViewを持ち、Prefab化して、ゲーム開始時に接続人数分の生成するようにしています。
MonobitView以外にUnity上で何か追加しておかなければならないMonobitEngineのComponentがあるのでしょうか?
使用しているバージョンは
Unity2018 3.3f1
Mun ver.2.6.1
です。初歩的な質問で大変恐縮ですが、解決策を教えていただけないでしょうか。
追加しなければならないコンポーネントは MonobitView コンポーネントだけでよいのですが、MonobitView にある Observed Component List に、OnMOnobitSerializeView メソッドを記述したクラススクリプトを追加する必要があります。
MonobitViewコンポーネントの説明欄にある「Observed Component Registration List について」( http://www.monobitengine.com/doc/mun/contents/Component/MonobitView.htm#Observed%20Component%20Registration%20List%20%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 )
MonobitEngine.MonoBehaviourを継承したクラスクラス内に定義された OnMonobitSerializeView() の処理内容に応じて、オブジェクトが同期されます。
OnMonobitSerializeView を機能させるための手順として、MonobitView コンポーネントを追加した後で、さらに以下の2工程が必要です。
手順1.追加された MonobitView コンポーネント内にある「Add Observed Component List Column」のボタンを押す。手順2.項目が1つ増えるので、「None (Component)」と表示されているカラム内に、「OnMonobitSerializeView() メソッドを記述したクラススクリプト」をドラッグ&ドロップで追加する。
このようにすれば、OnMonobitSerializeView メソッドが機能すると思います。