언어:
페이지 정보
수준별:
엔진 버전:
언리얼 엔진

일반적인 피직스 애셋 오류 해결

언리얼 엔진

피지컬 시뮬레이션에서 발생하는 문제 중 직접 제어할 수 없는 부분이 많이 있지만, 확실히 교정할 수 있는 문제가 두 가지 있습니다. 바로 Exploding (충돌 설정된 피직스 바디들이 서로 관통되어 발생하는 폭발 현상)과 Jitter (피직스 바디가 미세하게 움직이면서 슬립 상태에 빠지지 않는 떨림 현상)입니다. 이러한 문제를 해결하는 방법은 다음과 같습니다.

폭발

두 개의 피직스 바디가 서로 관통되었을 때, 피직스 시스템이 보정을 하는 과정에서 그 둘을 떼어놓기 위해 엄청난 양의 힘을 가했을 때 발생하는 현상입니다. 그 문제가 발생한 피직스 바디를 피직스 컨스트레인트가 계속 잡아둔다면, 피직스 시스템은 그 둘을 떼어놓기 위해 계속해서 힘을 가하게 되는데, 이때 매우 잘못된 극단적인 움직임을 보이게 됩니다.

brokenPhAT.png

이 문제는 보통 문제가 생긴 두 피직스 바디 사이의 콜리전을 끄거나, 서로 관통되지 않도록 그 위치 및/또는 스케일을 조절하는 식으로 해결합니다. 또한 결합된 피직스 바디는 관통 여부와 상관 없이 하나인 것처럼 작용합니다.

떨림

피직스 애셋이 바닥에 거의 "무너진" 상태에서 크게 튀어 오르지는 않지만 계속 흔들리거나 꿈틀대고 있는 경우, 몇 가지 값을 조정하여 멈춰 잠들도록 만들 수 있습니다.

다른 작업을 하기 전, No Gravity (중력 없음)으로 시뮬레이션을 해 보세요. 피직스 컨스트레인트 정렬이 잘못되어 피직스 애셋이 땅에 닿기도 전에 보정되는 현상을 확인할 수 있습니다.

종종 모든 피직스 애셋의 피직스 바디에 약간의 Linear / Angular Damping (선형/각형 제동) 설정만 해 줘도 애셋의 떨림을 멈추기에 충분합니다. 하지만 선형 제동 값을 크게 하면 피직스 바디의 월드 이동 속도가 느려지고, 중력 때문에도 그렇습니다. 여기서 구현된 Damping, 제동이란 "인력" 그 자체가 아닙니다. 그보다는 끈적한 물체를 통해 이동하는 쪽에 가깝습니다.

떨림 현상이 계속해서 문제가 되는 경우, 정말 작은 피직스 바디가 여럿 있기 때문일 수 있는데, 피직스 서브스테핑 문서에서 물리 시뮬레이션 계산을 중간 솔류션에서 하는 법을 참고하시기 바랍니다.

피직스 컨스트레인트의 프로퍼티 관련 자세한 내용은 피직스 애셋 프로퍼티 참고서 , 피직스 컨스트레인트 참고서 문서를 참고하세요.