移動同期¶
リアルタイムマルチプレイヤーゲームの大多数は、位置、方向、速度を同期させて、世界でのプレイヤーの動きを正確に反映する必要があります。
Strixはこの目的のためのいくつかのコンポーネントを提供します。これらのコンポーネントの1つはStrixMovementSynchronizer
です。これは、最も広範囲に使用できる移動同期コンポーネントです。
このコンポーネントは、複製されるGameObjectに追加されるとすぐに、位置、回転、速度の同期を開始します。この同期機能は補間/補外を実行するため、プレイヤーのキャラクターのようにスムーズな動きが必要な場合に適しています。
プロパティ¶
StrixMovementSynchronizer
には、インスペクターからアクセスできる設定が多数あります。これらの設定は必要に応じてコードから変更することもできます。
NearDistance |
現在の場所から目的の場所へ移動する際に許容できる誤差距離です。これを大きく設定しすぎると、ラバーバンディングが発生する可能性があります。 |
MaxSpeed |
このGameObjectが移動する最大速度です。これを小さく設定しすぎると、カクカクした動きになります。これを大きく設定しすぎると、GameObjectが不自然に速く動く可能性があります。 |
Acceleration |
このGameObjectの最大加速度です。これを小さく設定しすぎると、カクカクした動きになります。これを大きく設定しすぎると、GameObjectが不自然に速く加速する可能性があります。 |
Damping |
制動値です。小さい値を使用すると補間がスムーズになり、大きい値を使用すると動きの応答性が低下します。 |
SyncPeriodMin |
更新と更新の間の最小時間(ミリ秒)です。この値が小さいほど更新を行う頻度が高くなり、結果として移動がより正確になりますが、ネットワーク帯域幅は増加します。 |
SyncPeriodMax |
更新と更新の間の最大時間(ミリ秒)です。この値が小さいほど、静止している間の更新が増えます。SyncPeriodMinと組み合わせて使用することで、ほとんど動いていないときのネットワーク性能をいくらか節約できます。 |
PredictionPeriod |
補間機構が、テレポート(ジャンプ)ではなくスムーズな移動によって移動経路の次の目標位置に到達させようとする時間(ミリ秒)です。これを小さく設定しすぎると、カクカクした動きになります。この値を大きく設定しすぎると、予測した移動と本来の経路が大幅に異なってしまう場合があります。 |