衝突判定編
ゲームで絶対に必要になるのが「衝突判定」です。ぶつかる物があって、初めて世界が生まれます。ここでは、衝突(Collision)にトコトンこだわってみました。
(本当は自分の学習のためでもあります(^-^;)
基礎の基礎編 その1 内積と外積の使い方 2008. 5. 31(加筆) その2 小技集めておきました 2005. 11. 18 その3 平面の捉え方 2005. 11. 20 その4 フレーム間移動は等速直線運動で 2008. 5. 19 その5 反射ベクトルと壁ずりベクトル 2010. 11. 19
2D衝突編 その0 2D基本プリミティブの型定義 2016. 3. 14 その1 点と点 2005. 11. 17 その2 点と線 2005. 11. 17 その3 点と円、円と円 2005. 11. 17 その4 正方形と正方形 2005. 11. 17 その5 円と線分から多角形と円へ 2011. 1. 29改定 その6 楕円と点の衝突 2007. 3. 12 その7 楕円と楕円の衝突 2007. 3. 21 サンプルプログラム その8 4分木空間分割を最適化する!(理屈編) 2007. 4. 28 その9 4分木空間分割を最適化する!(実装編) 2009. 2. 7追記 サンプルプログラム その10 線分と線分の衝突 2008. 11. 10 その11 円とレイの衝突点 2014. 8. 20 その12 カプセルとカプセルの衝突 2016. 3. 14改定 その13 三角形と三角形の衝突 2017. 2. 3 その14 楕円と点の最短距離 2019. 11. 10 サンプルプログラム その15 楕円と直線の最短距離 2019. 11. 10 サンプルプログラム
3D衝突編 その0 3D基本プリミティブの型定義 2016. 3. 12 その1 点と線 2005. 11. 18 その2 線と線 2005. 11. 19 その3 線分と平面 2005. 11. 19 その4 線分と板ポリゴン 2005. 11. 19 その5 球と球 2005. 11. 19 その6 筒と筒 2005. 11. 19 その7直方体と直方体(その13にまとめられました)2005. 11. 20その8 床ポリゴンの高さを得るには? 2006. 7. 12 その9 移動する2つの球の衝突場所と時刻を得る 2016. 6. 1改定 その10 球が平面と衝突する場所と時刻を得る 2006. 9. 1 その11 AABBと点の最短距離 2006. 10. 7 その12 OBBと点の最短距離 2006. 10. 8 その13 OBBとOBBの衝突 2008. 6. 27追記 その14 壁にめり込んだOBBを戻す 2006. 12. 3 その15 8分木空間分割を最適化する! 2022. 11. 8改定 サンプルプログラム その16 線分と移動する球の衝突場所と時刻を得る 2007. 9. 6改正 その17 スクリーンカーソルで境界球の表面を指す 2007. 2. 23 その18 直線とAABB 2009. 5. 10 サンプルプログラム その19 直線同士の最接近距離と最接近点を知る 2009. 8. 2 その20 三角ポリゴンを囲む最小境界球 2011. 5. 26 その21 三角ポリゴンと三角ポリゴン 2011. 5. 28 その22 4点が与えられた時の最小球 2013. 5. 11 その23 整数区画に飛ばしたレイが通った区画を列挙していく 2015. 10. 24 その24 レイと球の貫通点 2015. 12. 24 その25 レイと無限円柱の貫通点 2015. 12. 24 その26 レイとカプセルの貫通点 2015. 12. 27 その27 カプセルとカプセル 2016. 3. 14 その28 R+treeでメッシュ内のポリゴンを高速検索しよう 執筆中
運動編 その1 2つの球を当てて跳ね返らせる! 2006. 8. 31 その2 壁に投げたボールの反射 2007. 4. 27
実装編 その1 DirectXとの親和性を意識しよう 2005. 11. 20 その2 Direct3DXのヘルパー関数群 2005. 11. 20
Havok編 その1 Havokを使うためのライセンスを確認だ! 2010. 6. 27 その2 Havok導入! 2010. 7. 6 サンプルプログラム