0 支持
(120 ポイント)

Tip3「MonobitTransformView」「MonobitAnimatorView」よりも「OnMonobitSerializeView()」 を使った方が得策」 

というドキュメントを読み、複数のgameobjectの同期をOnMonobitSerializeViewで実装しようとしています。

質問ですがstreamに書き込む際に、同じ型を連続して書き込むのは推奨されないのでしょうか。

onMonobitSerializeView内で

            stream.Enqueue(new Vector3(0, 0, 0));

            stream.Enqueue(new Vector3(0, 0.5f, 0));

            stream.Enqueue(new Vector3(0, 1, 0));

というように、streamにvector3を三連続で書き込むと上手くいかず(3つめの書き込みができませんでした)、

    stream.Enqueue(new Vector3[3] {new Vector3(0, 0, 0), new Vector3(0, 0.5f, 0), new Vector3(0, 1, 0) });

というように配列で書き込むと上手く書き込めました。

回答 1

0 支持
(3.8k ポイント)
void OnMonobitSerializeView(MonobitStream stream, MonobitMessageInfo info)
{
    if(stream.isWrite) {
        stream.Enqueue(new Vector3(0, 0, 0));
        stream.Enqueue(new Vector3(0, 0.5f, 0));
        stream.Enqueue(new Vector3(0, 1, 0));
    } else {
        Vector3 a = (Vector3)stream.Dequeue();
        Vector3 b = (Vector3)stream.Dequeue();
        Vector3 c = (Vector3)stream.Dequeue();
   }
}

という形で動かして特に問題なく動くようなので、もしかすると

「Max-Limit Traffic Bytes Settings の項目」
http://www.monobitengine.com/doc/mun/contents/SetupClient/MonobitServerSettings.htm#Max-Limit%20Traffic%20Bytes%20Settings%20%E3%81%AE%E9%A0%85%E7%9B%AE%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

の送信制限に引っかかってしまっている、とかじゃないですよね…。
...