Collision (충돌)• Real world objects• 충돌시 서로 통과하지 못함 (non-penetrating solidity)
• Virtual world objects• 특별한 처리를 해주지 않는다면 서로 통과하여 지나감
Collision Resolution (충돌 처리)• Collision detection (충돌 탐지)• 두 물체가 충돌하는가?• 기하학(geometry)적인 문제
• Collision response (충돌 반응)• 만약 두 물체가 충돌한다면 충돌 후 어떻게 반응하는가?• 물리학(physics)적인 문제
Collision Resolution (충돌 처리)• Collision detection (충돌 탐지)• 두 물체가 충돌하는가?• 기하학(geometry)적인 문제
• Collision response (충돌 반응)• 만약 두 물체가 충돌한다면 충돌 후 어떻게 반응하는가?• 물리학(physics)적인 문제
※ 이 발표에서는 collision detection만을 다룸.
Strategy (전략)Collision detection을 두 단계로 나누어서 진행한다!
• Broad-phase collision detection• 우선 충돌 가능성 여부를 단순화하여 빠르게 찾아냄• 충돌 가능성이 없는 물체들을 신속하게 제거함• 정밀 테스트를 위한 후보군을 추려냄
• Narrow-phase collision detection• 첫 번째 테스트를 통과한 충돌 가능성이 있는 후보군에 대해서 정밀 검사를 수행함
Strategy (전략)
https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
Strategy (전략)
https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
k-Dop• k개의 고정된 방향의 평면들로 둘러싸여진 부피• AABB의 모서리를 잘라낸 형태
http://jp.51studyit.com/article/details/19574.htm
Bounding Volume Elements
http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S0123-30332015000100005
Brute Force Algorithm• 충돌 검출을 해야하는 n개의 물체가 있을 때,
i번째 물체에 대해서 나머지 (n-1)개의 물체들에 대해서 충돌 여부를 계산
• Complexity: O(n2 )
Computer Graphics에서 절대적으로 피해야하는 복잡도!
Quadtree (Octree) Grid
http://www.videotutorialsrock.com/opengl_tutorial/collision_detection/text.php
BVH (Bounding Volume Hierarchy)
https://devblogs.nvidia.com/parallelforall/thinking-parallel-part-ii-tree-traversal-gpu/