フライングテンプレートでネットワークゲームを作っている際に起きた問題です。
サーバー側ではクライアントの動作が検知できているのですがクライアント同士ではお互いの動きを検知しないのです。(サーバー側ではクライアントプレーヤーの旋回が確認できるがクライアント同士であると確認が出来ない)
レプリケーションは勿論行っております。
これはフライングテンプレートのみに起きるバグなのでしょうか?他のサードパーソンやヴィークルゲームで確認したところこちらは問題なく動作しています。
不具合ではなく、仕様です。
元々CharacterMovementComponentを使ったアクターの場合には標準でネットワークの同期まで組み込まれており、それらの機能を使う場合には何もしなくてもクライアント同士で同期されます。
これらを含まないアクターを使用する場合には、ネットワーク上のロジックを自前で同期させる必要があります。これはCharacterMovementComponentを使用しても独自のロジックを動作させる場合には同期の必要があります。
なるほど。勉強になります。つまりCharacterMovementComponentがないフライングテンプレートの場合は自前でロジックを組み込まなければならないという事ですね。ありがとうございました。
更に質問を重ねるようで申し訳ないのですがCharacterMovement以外のMovement系のコンポーネントにはネットワークの同期は組み込まれていると考えてもよろしいのでしょうか?
ソースコードを読んでみた感じでは、CharacterMovement以外のコンポーネントには同期させる仕組みは入っていませんでした。現状CharacterMovementのみが特殊扱いのようです。
自前でクライアント同士で同期するBPを作成してみます。回答ありがとうございました
ありがとうございました
ありがとうございました
ありがとうございました。