09/10/14 20:07:06 r3lslG66
V=(自機位置-弾発射位置)/t+自機ベクトル
こう?
200:名前は開発中のものです。
09/10/14 20:08:12 aQw8W33X
例えば3Dフライトシューティング(エスコンみたいなの)を作るとする
GUNモードでHUDにLCOSレティクルを出せないと泣きつかれたら
試しに上の問題を出してみろ。分かりませんって言われたらまぁそういうこと
201:名前は開発中のものです。
09/10/14 20:15:16 aQw8W33X
>>198-199
雑魚敵の直進弾の速度は既知だべ
202:名前は開発中のものです。
09/10/14 20:18:57 aQw8W33X
×速度 ○速さ
203:名前は開発中のものです。
09/10/14 20:25:52 JOYpPGJr
>>199
未知数tが残るから
Vの長さ(描画フレーム当たり移動量)={(自機位置-弾発射位置)/t+自機ベクトル}の長さ
が一定aと考えて
|(自機位置-弾発射位置)/t+自機ベクトル|=a
となるtを求めるのが先決か。
そのためにはtの2次方程式を解く必要があり、
場合によっては2つ解が求まるし、虚数解になってしまう場合もあるということか。
204:名前は開発中のものです。
09/10/14 20:39:27 aQw8W33X
そう。簡単な2次方程式の解法でいける。厨房でも解けると。
答案は胸の内にしまっとこうぜ
205:194
09/10/14 20:53:25 2+2Nx3Yv
ちなみに俺はその厨房にでも解ける式を考えるのが面倒(思いつかない)なので
まず”自機が止まっていると仮定して、そこに敵弾が到達する時間”を求めて
次に”自機が止まっていなかった場合、その時間経過後にどこに移動しているか”を求めて
そこへ向けて弾を発射するようにしている。
時間の誤差分ずれるけど当たり判定の大きさ等でカバーされるせいか、別に問題はでていない。
206:名前は開発中のものです。
09/10/14 21:07:31 x873g71t
よくわからないけど良いもん。ホーミング弾作るもん。
207:名前は開発中のものです。
09/10/14 21:39:21 aQw8W33X
>>205
何らかの方法を思いついて実装して結果が良好なら何でもオーケーと思うぜ
厨房がtの2次方程式を使って解く方法でもいけるし、>>205でもいける
>>205は自機は火点に対して弧を描くように避けるという仮定を使ってる
つまり火点との相対距離の変化はゼロ近似。十分アリだろ
どちらの方法も「自機は等速で単調な運動をする」つーかなりおおざっぱな
仮定で未来位置を予測してるんで、どれが正解っていう話じゃないさ