답변:
기본적으로 추적을 찾고 있습니다.
이 페이지가 도움이 될 것입니다 : http://www.realtimerendering.com/intersections.html
움직이는 구체 / 구 : (위치) 움직이는 구체의 반경을 정적 구체에 추가하고 움직이는 구체를 광선으로 취급합니다. 이 광선을 사용하여 광선 / 구 교차점을 수행하십시오. 고메즈 참조; 코드 슈뢰더 (문서 파생에 버그가 있고 코드가 양호 함); 및 RTR2, p. 622.
이 Gamasutra 기사에 설명 된대로 스윕 테스트를 사용 하십시오.
내 머리 꼭대기에서 :
그리고 그것이 전부입니다. 나는 그것이 매우 빠를 것으로 기대합니다.
또 다른 멋진 Gamasatura 기사가 있습니다.
이 일을 한 사람으로 말하면 번거롭지 않습니다 . 게임 디자인에 꼭 필요한 것이 아니라면 거의 필요하지 않은 한, 실제로 예상보다 스위핑 작업에 더 많은 노력을 기울일 것입니다. 그리고 당신이 원하는 것보다 느릴 것입니다.
Flipcode에서 math로 충돌 감지를 유도하는 방법에 대한 기사 가 있습니다 . 원통이 있습니다. 충돌 지점을 정확하게 감지하고 충돌이 있는지 확인하는 방법이 있습니다.
움직이는 물체의 충돌 감지를 일반적으로 "스윕 볼륨 계산"이라고하며,이 주제에 대한 코드 / 기사입니다.
http://www.gpu-voxels.org/demos/ (데모)
소스 코드 라이브러리 :
https://github.com/fzi-forschungszentrum-informatik/gpu-voxels
https://libigl.github.io/tutorial/#swept-volume
https://github.com/gradientspace/geometry3Sharp
조항:
http://gamma.cs.unc.edu/SV/sm03.pdf
https://www.cs.columbia.edu/~allen/PAPERS/abrams.swept.pdf (불행히도 소스 코드는 없습니다)
http://www.realtimerendering.com/intersections.html (무거운 링크 모음)