飛行機レースゲームを作る(5):エアレースのルール反映

エアレースのルール反映

1. 既定の高度の範囲を通過すること

これはパイロン間にプレーンを配置し、当たり判定により通過をチェックしています。

高度が低すぎる場合はDQ(失格)になりますが、今回のゲームでは水面に衝突でレース中断としました。

 

2. パイロン通過時の機体姿勢は水平であること

機体姿勢の不良は、一回ごとにタイムペナルティ(+2秒)が課せられます。

許容範囲は±10°であり、下図の範囲であればペナルティ無しです。

これは、パイロン間に配置したプレーンとの当たり判定時に機体の傾きを調べるだけなので簡単ですね。


3. パイロンとの接触でも、ペナルティタイム(+3秒)が加算されますが、2回目まで。

3回目の接触でDNF(完走できず)となります。

当たり判定にはコースを構成するパイロンのオブジェクトにSAMeshColliderBuilderでコライダーを作成しています。大変便利でした。

 

実際にはスタートゲート通過時の速度や、ターンの際の最大荷重(G)などが規定されていますが、今回作成するゲームではペナルティ上述程度だけです、

コース逸脱もDNF扱いでなのですが、コース逸脱の判定は難しいので、ゲート間の所要時間の上限を規定して、それを超えたらDNFとしました。

 

次回:飛行機レースゲームを作る(6):タイム計測とリプレイ機能