ServerSync
マルチプレイ時において同期ズレにりミサイルの噴煙・発射した砲弾が見えない問題を改善するアドオンです。
射撃に関するBoolノードの間にボタンを設けて、そのボタンの状態をアドオンで同期させます。
ボタンは「押しボタン」を使用してください。
ボタンに以下の名前を設定すると同期できます。
lunch:1
→lunch:1ボタンが押下(外部入力)された場合、アドオンが常にlunch:1のボタンを押し続けます。
ミサイルの発射に使用してください。
triggerA:1
triggerB:1
→triggerA:1ボタンが押下(外部入力)されている間、アドオンがtriggerB:1ボタンを押下します。
triggerA:1ボタンを離すとtriggerB:1もOFFになります。
数値の値は変更可能で最大100まで設定可能です。
砲の発射に使用してください。
numberA:1
numberB:1
→ダイアルにnumberA:1名前を設定すると、アドオンがキーパッドnumberB:1に値を設定します。
FCRのDraw処理に渡す数値に対してこれを挟むことで、ホストと同じものを描画でき
マルチの悪魔を消し去ることができます。
設定が大変なのと、この値をDraw処理外に使うことは非推奨です。
使用例
砲の場合
FCR<Trigger>OutPut
↓ ↓
↓ Input<外部入力>押しボタン(名前:triggerA:1)
↓
↓ AとBは直接繋がない
↓
↓ 押しボタン(名前:triggerB:1)OutPut<ON/OFF>
↓ ↓
OR回路(アドオン無しでも動作させるため
↓
Input<Trigger>砲
※砲が複数ある場合は、ボタンの名前の数値を増やしてください
ミサイルの場合(ミサイル本体にボタンを1つ設置する必要があります)
「ハードポイントコネクタ」|OutPut <Launched>
↓
Input<外部入力>|押しボタン(名前:lunch:1)|OutPut<ON/OFF>
↓
Input <発射>|固体燃料ロケット」
・原理
マルチプレイ時のFCRの射撃判断は各クライアントで行われます。
例:FCRがミサイルとの距離3000m以下で射撃する場合
ホストはミサイルとの距離が3000m以下になったタイミングでFCRにより射撃がおこなれます。
しかし、参加者(クライアント)は同期ズレにより、ミサイルの位置の反映が遅れており
距離がまだ4000mと離れているため、射撃がおこなれません。
→本アドオンでは、ホストのFCRのTrigger出力を参加者(クライアント)に即時反映させ、射撃を行います
※向きは同期していないため、変な方向に飛ぶかもしれません。