複製と同期の概要¶
Strixでは、各クライアントがゲームワールドのコピーを持っています。プレイヤーが共有ゲームワールドを体験できるように、それらのコピーは同一のものに維持しなければなりません。これを同期と呼びます。
Strixは、ゲームワールド内のオブジェクトとそのプロパティの同期をリアルタイムで実行できます。ここでは同期機能を説明します。
同期にはいくつかの種類があります。
複製¶
最初に、ワールドの全てのコピーは同じアクターの集合を含んでいなければなりません。あるクライアントでスポーンされたアクターは他のクライアントでもスポーンされなければならず、破壊されたアクターも他のクライアントでも破壊されなければなりません。この種の同期を複製と言います。
複製は、アクターにアタッチしたStrix Replicatorコンポーネントが処理します。
移動¶
大抵のマルチプレイヤーゲームでは、プレイヤーキャラクターに加えてNPCや障害物も同期する必要があります。
移動同期には以下に示す2種類があり、ゲームに登場する各アクターについて、ゲームデザインに応じたそのアクターの性質に基づいてどちらかを選びます。
Strix Movement Synchronizerは多用途移動同期コンポーネントです。
Strix Transform Syncは軽量移動同期コンポーネントで、単純な移動しか行わないアクターに適しています。
アニメーション¶
アクターはしばしば、生き生きとリアルに見えるようにアニメーションを行う必要があります。Unrealにはこの目的でアニメーションブループリントシステムがあります。他方、Strixにはアニメーションの同期を行うためのStrix Animation Syncコンポーネントがあります。
アクターのプロパティ/変数¶
アクターに自分で定義したプロパティを同期したいかもしれません。Strix Replicatorには、アクターブループリントのプロパティに [詳細] パネルで印を付けるだけでそれを同期する機能があります。(ただし多少の制約もあります。)
RPC¶
RPCという言葉はremote procedure call(遠隔手続き呼び出し)の略で、他のクライアント上のアクターのメソッドを呼び出すことができるようにします。