アニメーションの同期

Unrealには、アクターのアニメーションを制御するアニメーションブループリントシステムがあります。アニメーションは、アクターブループリントとは別のアニメーションブループリントで制御されます。

リアルタイムゲームでは、アニメーションの同期が重要になる場合があります。アニメーションは移動やアクションに結び付けられている可能性があり、同期していないと不自然に見えてしまうからです。

Strix ReplicatorコンポーネントとStrix Movement Synchronizerコンポーネントはアニメーションを同期しません。その代わりStrixは、この目的用にStrix Animation Syncコンポーネントを提供しています。

Strix Animation Syncコンポーネント

Strix Animation Syncコンポーネントは、Strix Replicatorコンポーネントと同じように機能します。これをアクターのメインブループリントに追加するとレプリケーターコンポーネント(複製を参照)と同様のプロパティ同期機能が、アニメーションブループリント用に追加されます。これにより、ReplicatedRepNotifyフラグが指定されたアニメーションブループリントのプロパティを同期できます。

注釈

Strix Animation SyncコンポーネントにもStrix Replicatorコンポーネントが必要です。

Strix Animation Syncコンポーネントは、ユーザー入力を反映する特定の変数に使用してください。これは、素早く変化する変数や毎フレーム計算されるブループリントの値には適していません。Strix Replicatorは1秒あたりのティック数をTicks Per Secondによって制限しているため、そのような変数に依存するアニメーションは毎秒数回しか更新されず、滑らかなアニメーションにならないからです。アニメーションの値を計算するという難しい仕事はアニメーションブループリントに任せて、オーナーアクターとレプリカアクターの間で値が異なる可能性のある重要な入力の値のみを同期させることをお勧めします。

注釈

ゲームでのアニメーションの使用方法によっては、Strix Animation Syncコンポーネントは不要かもしれません。大抵は、レプリカとオーナーは同じアニメーションブループリントを持っています。例えば、走っているプレイヤーのアニメーションが速度によって決まる場合、アクターにStrix Movement Synchronizerがアタッチされていれば速度が同期されます。その結果、オーナーとレプリカは同じアニメーションを再生することになります。