飛行機レースゲームを作る(5):エアレースのルール反映
エアレースのルール反映
1. 既定の高度の範囲を通過すること
これはパイロン間にプレーンを配置し、当たり判定により通過をチェックしています。
高度が低すぎる場合はDQ(失格)になりますが、今回のゲームでは水面に衝突でレース中断としました。
2. パイロン通過時の機体姿勢は水平であること
機体姿勢の不良は、一回ごとにタイムペナルティ(+2秒)が課せられます。
許容範囲は±10°であり、下図の範囲であればペナルティ無しです。
これは、パイロン間に配置したプレーンとの当たり判定時に機体の傾きを調べるだけなので簡単ですね。
3. パイロンとの接触でも、ペナルティタイム(+3秒)が加算されますが、2回目まで。
3回目の接触でDNF(完走できず)となります。
当たり判定にはコースを構成するパイロンのオブジェクトにSAMeshColliderBuilderでコライダーを作成しています。大変便利でした。
実際にはスタートゲート通過時の速度や、ターンの際の最大荷重(G)などが規定されていますが、今回作成するゲームではペナルティ上述程度だけです、
コース逸脱もDNF扱いでなのですが、コース逸脱の判定は難しいので、ゲート間の所要時間の上限を規定して、それを超えたらDNFとしました。
次回:飛行機レースゲームを作る(6):タイム計測とリプレイ機能