bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

erratum

ゲームプログラミングのためのリアルタイム衝突判定を読んでサンプル作ると上手く動かないことが多い。

ゲームプログラミングのためのリアルタイム衝突判定

ゲームプログラミングのためのリアルタイム衝突判定


自分が間違っているのか、誤植なのか、元々の手違いなのか。
動いているAABB同士の衝突判定なんかは、相対速度のどれかの成分が0の時に不味いことになっているんでないかと思う。
でもやっぱり自分の間違いな気がする。
i=0:x, i=1:y, i=2:zでforループを回している所で、相対速度の正負で分岐して後に下記の一文を入れたら上手く行った。

if( abs( a.c[i] - b.c[i] ) > ( a.r[i] + b.r[i] ) ) return 0;

errataに載ってないから誤植なのかな。
でも、やっぱり自分の間違いの可能性が一番高いかな。