移動同期のパラメーターを調整する方法

Strix Movement Synchronizerはアクターの移動を同期するコンポーネントです。補間/補外の手法を用いて複雑な移動を正確かつ自然に同期します。このコンポーネントには多数の調整可能なパラメーターがあり、想定する移動パターンに合わせて最適にすることができます。

ゲームオブジェクトに合わせてパラメーターを調整する必要がある場合には以下に示す指針を参考にしてください。

デフォルト値から始める

一部のエンジニアは、実際のアクターにStrix Movement Synchronizerをアタッチして実行しないうちにパラメーターの正確な設定値を見出そうとします。通常、これは推奨されません。パラメーターのデフォルト値は、多くのアクターの典型的な移動パターンに対応しており、大抵はそのままでうまく動作します。

まずオーナーアクターを動かすためのスクリプトを書き、その後Strix Movement Synchronizerがレプリカをどう動かすのかを見てみることをお勧めします。その移動が良さそうであれば、パラメーターを調整する必要はありません。

同期回数を増やしすぎないようにしましょう

一般的な3Dゲームでは、毎秒何十フレームもの画面更新を行います。例えば、30 fpsや60 fpsですが、もっと速い場合もあるでしょう。スクリプトは潜在的にはEvent Tickが実行されるたびにオブジェクトの位置や加速度を変更するかもしれません。

しかし大抵のゲームでは、ネットワークを介してレプリカを同様の頻度で更新しようと試みたのでは多すぎるでしょう。Strix Movement Synchronizerは補外の手法を用いてアクターの将来の位置を予測し必要な同期の回数を削減します。さらに移動のパターンに基づいて動的に同期間隔の最適化を試みます。

Sync Period MinSync Period Maxは、移動同期の頻度を制御します。これはミリ秒で表した同期と同期の間の時間であり、小さな値は頻繁な同期を、大きな値は頻繁でない同期を意味します。Sync Period Minは同期と同期の間の最小時間であり、結果として最大頻度を定めることになります。Sync Period Maxは同期と同期の間の最大時間であり、最小頻度を定めます。デフォルト値は、Sync Period Minが100ms、Sync Period Maxが500msです。つまり、1秒あたり最大10回最小2回の同期を行うことになります。

毎秒2回~10回という頻度の移動同期は、60 fpsで動作しているゲームには不十分とお考えかもしれませんが、通常はこれで大丈夫です。