gingerさんの動画とコメントを参考に
こちらもジャンプしながらの着地点予測を試作しました
おおまかには同じですが、幾つか変更点がありますのでそれを中心に。
直接ブログにコメントしても良かったのですが……
こちらもジャンプしながらの着地点予測を試作しました
おおまかには同じですが、幾つか変更点がありますのでそれを中心に。
直接ブログにコメントしても良かったのですが……
『PGでの対話とか胸熱』
という邪念がよぎったのでこのような形に。
処理順は
A)ガードに成功したらジャンプする
B)初期照準しながらターゲットの状態監視
C)ジャンプ1f目を検出 → 1へ
D)タイムアウトで通常射撃開始 → 7へ
1.ジャンプ検出で通常射撃開始
2.ターゲット着地座標を計算
3.自機の現在位置との差を求める
4.方位に変換、自機移動補正を加算してガンサイト移動
5.ジャンプ前の敵高度への仰角計算、重力補正
6.ガンサイト移動
7.発射したらブレイク → Aへ
という感じになっています。数字はフレームカウント。
射撃のタイミングを計るのは面倒で入れてません
近いとあたらないので親切な敵さんが協力してくれました。
【自機の移動予測】
CHPで使われていた砲身のズレを補正するATAN角度補正
これを自機移動補正としてBの初期照準と4の方位計算に使っています
初期照準が発射地点から敵ジャンプ基点を狙う角度になるため
左右どっちに飛ばれたとしても砲旋回量が変わりません
【予測する値の順序】
前回の記事で書いた【赤い点(ドットサイト)がターゲットを追い越す問題】
によって、左右方向への照準移動が安定するのには時間を要します。
その一方で上下方向の照準は腕部だけで行っているようで、
同様の問題が発生する仕組みがありませんので照準安定が早いです。
初期照準ループでは1回だけ仰角をとり、高度予測も後回しにしています
【問題点】
自機のジャンプ方向ごとに定数を設定する必要がある
(左右だけなら壁スイッチと共用できるが増やすとカウンタが足りない)
ATAN角度補正はターゲット位置と発射点が直角の場合のもの
より正確な近似をするにはcos(方位)の2乗をかける必要がある?
またATAN角度補正は距離が近いほど誤差が大きい
射撃のタイミングは重要ですね、当たらないったらない
という邪念がよぎったのでこのような形に。
処理順は
A)ガードに成功したらジャンプする
B)初期照準しながらターゲットの状態監視
C)ジャンプ1f目を検出 → 1へ
D)タイムアウトで通常射撃開始 → 7へ
1.ジャンプ検出で通常射撃開始
2.ターゲット着地座標を計算
3.自機の現在位置との差を求める
4.方位に変換、自機移動補正を加算してガンサイト移動
5.ジャンプ前の敵高度への仰角計算、重力補正
6.ガンサイト移動
7.発射したらブレイク → Aへ
という感じになっています。数字はフレームカウント。
射撃のタイミングを計るのは面倒で入れてません
近いとあたらないので親切な敵さんが協力してくれました。
【自機の移動予測】
CHPで使われていた砲身のズレを補正するATAN角度補正
これを自機移動補正としてBの初期照準と4の方位計算に使っています
初期照準が発射地点から敵ジャンプ基点を狙う角度になるため
左右どっちに飛ばれたとしても砲旋回量が変わりません
【予測する値の順序】
前回の記事で書いた【赤い点(ドットサイト)がターゲットを追い越す問題】
によって、左右方向への照準移動が安定するのには時間を要します。
その一方で上下方向の照準は腕部だけで行っているようで、
同様の問題が発生する仕組みがありませんので照準安定が早いです。
初期照準ループでは1回だけ仰角をとり、高度予測も後回しにしています
【問題点】
自機のジャンプ方向ごとに定数を設定する必要がある
(左右だけなら壁スイッチと共用できるが増やすとカウンタが足りない)
ATAN角度補正はターゲット位置と発射点が直角の場合のもの
より正確な近似をするにはcos(方位)の2乗をかける必要がある?
またATAN角度補正は距離が近いほど誤差が大きい
射撃のタイミングは重要ですね、当たらないったらない
PR