Version: 2023.2
언어: 한국어
연속 충돌 검사(CCD)
추측성 CCD

스위핑 기반 CCD

스위핑 기반 CCD는 ContinuousContinuous Dynamic 모드에 대한 CCD 알고리즘입니다.

멈춰 있는 정적 콜라이더와만 충돌하는 물리 바디(즉, 리지드바디가 없는 게임 오브젝트)에는 Continuous를 사용합니다. 움직이는 동적 콜라이더와 충돌하는 물리 바디(즉, 동적 리지드바디가 있는 게임 오브젝트)에는 Continuous Dynamic을 사용합니다.

ContinuousContinuous Dynamic은 가장 정확한 충돌 검사 모드입니다. 하지만 가장 많은 계산을 요구하는 모드이기도 합니다. 또한 리니어 이동의 결과로 발생하는 충돌에 대해서만 작동하며, 물리 바디가 회전하면서 발생하는 충돌(예: 핀볼 기계의 플리퍼가 피벗을 기준으로 회전할 때 공과 충돌하는 경우)은 감지하지 못합니다.

스위핑 기반 CCD 이해

스위핑 기반 CCD는 TOI(충돌 시점) 알고리즘을 사용하여 잠재 충돌을 계산합니다. 이를 위해 알고리즘은 오브젝트의 현재 속도로 앞쪽 궤도를 ‘스위핑’하거나 감지합니다.

한 타임스텝에서 다음 타임스텝으로 넘어가는 스위핑 기반 충돌 검사. 자세한 내용은 아래 범례를 참조하십시오.
한 타임스텝에서 다음 타임스텝으로 넘어가는 스위핑 기반 충돌 검사. 자세한 내용은 아래 범례를 참조하십시오.

위 이미지를 살펴보십시오.

  • A: 시작 위치의 오브젝트입니다.
  • B: 오브젝트의 현재 속도를 기준으로 현재와 다음 타임스텝 사이에 오브젝트가 통과할 것으로 예상되는 영역입니다.
  • C: 한 물리 타임스텝 이후 새로운 위치에 있는 오브젝트입니다.

오브젝트의 이동 방향에 컨택트가 존재하는 경우 알고리즘은 충돌 시간을 계산하여 해당 시간까지 오브젝트를 이동시킵니다. 알고리즘은 이 시간부터 하위 단계를 수행할 수 있으며, 가장 중요한 것은 충돌 후 속도를 다시 계산한 다음 새로운 궤도에서 다시 스위핑할 수 있다는 점입니다.

알고리즘이 장애물을 감지했을 때의 스위핑 기반 충돌 검사. 자세한 내용은 범례를 참조하십시오.
알고리즘이 장애물을 감지했을 때의 스위핑 기반 충돌 검사. 자세한 내용은 범례를 참조하십시오.

위 이미지를 살펴보십시오.

  • A: 시작 위치의 오브젝트입니다.
  • B: 스위핑 기반 CCD 알고리즘이 충돌을 예측한 위치의 오브젝트입니다.
  • C: 한 물리 타임스텝 이후의 원래 예측 위치
  • D: 리니어 경로를 방해하는 콜라이더로, 스위핑 기반 CCD 알고리즘에 의해 감지됩니다.

스위핑 기반 CCD는 특히 프로젝트에서 널리 사용되는 경우 성능에 상당한 영향을 미칠 수 있습니다. 스위핑 기반 CCD를 사용하는 많은 수의 고속 오브젝트가 근접해 있는 경우, 물리 엔진이 더 많은 스위핑과 더 많은 CCD 하위 단계를 수행해야 하므로 CCD 오버헤드가 빠르게 증가하게 됩니다.

스위핑 기반 CCD의 한계점은 리니어(또는 방향) 스위핑만 수행할 수 있고 각도(또는 회전) 스위핑은 수행하지 못하기 때문에 물리 바디가 회전할 때 발생할 수 있는 충돌을 예측할 수 없다는 점입니다. 예를 들어 핀볼 기계의 플리퍼는 한쪽 끝이 고정되어 있고 고정된 지점을 중심으로 회전하므로 각운동만 있고 리니어 운동은 없습니다. 오브젝트의 회전도 함께 고려하려면 추측성 CCD를 사용하십시오.

연속 충돌 검사(CCD)
추측성 CCD