引き続き照準についてです。
戦車の砲身の延長上に敵(もしくは破壊可能なモノ)があると、緑色の円が消えて赤い円に変わり、横に目標までの距離が表示されます。
やっていることはシンプルにPhysics.Raycastです。
「赤い円の状態=砲身の延長上に敵がいる」となるので、この状態の時に射撃を行えば命中します。ただし砲弾は重力の影響を受けるので、目標までの距離次第では砲弾が目標に到達する前に地面に接触する可能性があります。
例えば400m先の敵を狙った場合の着弾位置はこんな感じです。
かなり下側に着弾してますが、400mぐらいなら水平射撃で命中します。
(スピーカーアイコンの位置が着弾位置です)
では400mより先の目標に当てるにはどうすればいいかと言うと、砲身を上に向けて弾道射撃を行うことになります。
試したところ、2000m先の目標に当てるには発射角0.82度、8000m先の目標に当てるには発射角3.32度で弾道射撃を行う必要があります。ただ8000m先となると爆発の煙さえ見えませんが…
せっかくなので、砲弾にカメラを付けて8000m先の目標に着弾する動画を録ってみました。
8000m先はさすがにマップ外なので途中から地面や海面もなくなりSkyboxのみになります。
発射から約10秒後の着弾直前に一瞬だけ白い立方体が見えると思います。
照準についての説明は以上です。
実際のゲームでは地形の傾きや揺れが発生してなかなか照準が定まらないことがあったり、敵が移動している場合は予測射撃も必要になります。