스위핑 기반 CCD는 Continuous 및 Continuous Dynamic 모드에 대한 CCD 알고리즘입니다.
멈춰 있는 정적 콜라이더와만 충돌하는 물리 바디(즉, 리지드바디가 없는 게임 오브젝트)에는 Continuous를 사용합니다. 움직이는 동적 콜라이더와 충돌하는 물리 바디(즉, 동적 리지드바디가 있는 게임 오브젝트)에는 Continuous Dynamic을 사용합니다.
Continuous 및 Continuous Dynamic은 가장 정확한 충돌 검사 모드입니다. 하지만 가장 많은 계산을 요구하는 모드이기도 합니다. 또한 리니어 이동의 결과로 발생하는 충돌에 대해서만 작동하며, 물리 바디가 회전하면서 발생하는 충돌(예: 핀볼 기계의 플리퍼가 피벗을 기준으로 회전할 때 공과 충돌하는 경우)은 감지하지 못합니다.
스위핑 기반 CCD는 TOI(충돌 시점) 알고리즘을 사용하여 잠재 충돌을 계산합니다. 이를 위해 알고리즘은 오브젝트의 현재 속도로 앞쪽 궤도를 ‘스위핑’하거나 감지합니다.
위 이미지를 살펴보십시오.
오브젝트의 이동 방향에 컨택트가 존재하는 경우 알고리즘은 충돌 시간을 계산하여 해당 시간까지 오브젝트를 이동시킵니다. 알고리즘은 이 시간부터 하위 단계를 수행할 수 있으며, 가장 중요한 것은 충돌 후 속도를 다시 계산한 다음 새로운 궤도에서 다시 스위핑할 수 있다는 점입니다.
위 이미지를 살펴보십시오.
스위핑 기반 CCD는 특히 프로젝트에서 널리 사용되는 경우 성능에 상당한 영향을 미칠 수 있습니다. 스위핑 기반 CCD를 사용하는 많은 수의 고속 오브젝트가 근접해 있는 경우, 물리 엔진이 더 많은 스위핑과 더 많은 CCD 하위 단계를 수행해야 하므로 CCD 오버헤드가 빠르게 증가하게 됩니다.
스위핑 기반 CCD의 한계점은 리니어(또는 방향) 스위핑만 수행할 수 있고 각도(또는 회전) 스위핑은 수행하지 못하기 때문에 물리 바디가 회전할 때 발생할 수 있는 충돌을 예측할 수 없다는 점입니다. 예를 들어 핀볼 기계의 플리퍼는 한쪽 끝이 고정되어 있고 고정된 지점을 중심으로 회전하므로 각운동만 있고 리니어 운동은 없습니다. 오브젝트의 회전도 함께 고려하려면 추측성 CCD를 사용하십시오.