[Unreal] 충돌 이벤트 (Collision Event)
Unreal에서 충돌의 반응은 무시(Ignore), 겹침(Overlap), 블록(Block) 세 가지가 있다.
충돌 반응에 따라 발생하는 이벤트가 다르니 숙지해 놓는 것이 좋다.
블록(Block) : 두 물체의 반응이 모두 블록으로 설정된 경우에만 블록이 발생한다.
▶ 두 물체에 대해 모두 OnHit 이벤트가 호출된다. OnHit 이벤트는 두 물체가 서로 충돌하는 순간 서로의 경로를 막을 때마다 호출된다.
▶ 두 물체 중 하나가 피직스를 시뮬레이션 할 경우에는 해당 물체의 SimulationGeneratesHitEvents 속성을 True로 설정해야 한다.
▶ 두 물체는 물리적으로 서로가 이동하는 경로를 막는다.
겹침(Overlap) : 두 물체는 서로를 막지도 않고 무시하지도 않으며 서로 겹친다.
▶ 두 물체 모두 GenerateOverlapEvents 속성이 True로 설정되어 있으면, 두 물체에서 OnBeginOverlap 이벤트와 OnEndOverlap 이벤트가 호출된다. 이 이벤트들은 각각 한 물체가 다른 물체와 겹치기 시작할 때, 종료할 때 호출된다. 두 물체 중 하나라도 GenerateOverlapEvents 속성이 False라면 이 이벤트들은 호출되지 않는다.
▶ 두 물체는 서로가 존재하지 않는 것처럼 서로에 대해 겹치도록 동작한다.
무시(Ignore) : 두 물체 중 하나가 다른 물체를 무시하면 두 물체는 서로 무시한다.
▶ 두 물체에 대해 아무런 이벤트도 호출되지 않는다.
▶ 겹침(Overlap) 반응과 비슷하게 두 물체는 서로가 없는 것처럼 동작하며 겹친다.
물체간 충돌에는 두 가지 측면이 있다.
피직스(Physics) : 공이 중력에 영향을 받고 바닥과 벽에서 튀어 오르는 등 물리와 관련된 모든 충돌
▶ 두 물체 모두 다른 물체가 없는 것처럼 궤적을 계속 이어 나간다. (물리적 충돌 없음)
▶ 두 물체가 충돌하고 궤적을 변경하며, 일반적으로 적어도 한 물체는 계속 이동한다. 서로의 경로를 막는다.
쿼리(Query) : 충돌 이벤트 및 개체가 서로 움직임을 차단하는지
▶ 두 물체의 충돌과 관련된 이벤트는 추가 로직을 만드는데 활용할 수 있다. OnHit, OnBeginOverlap, OnEndOverlap 이벤트 등이 있다.
▶ 두 물체 모두 다른 물체가 없는 것처럼 궤적을 계속 이어 나간다. (물리적 충돌 없음)
▶ 두 물체가 서로 충돌하며 서로의 경로를 막는다.
피직스(Physics) 기반으로 하는 물리적 반응은 한 물체가 피직스 시뮬레이션중인 경우에만 적용된다. 반면에 쿼리(Query)를 기반으로 하는 물리적 반응은 피직스 시뮬레이션 중이 아닌 모든 물체에 적용된다. 어떤 물체를 코드로 제어하는 경우 피직스 시뮬레이션을 사용하지 않고도 이동시킬 수 있다.
'Unreal > Manual' 카테고리의 다른 글
Unreal C++ vs 블루프린트 (0) | 2023.10.05 |
---|---|
Unreal Collision (0) | 2023.08.28 |
Unreal Break Hit Result (0) | 2023.08.27 |
Unreal Collision 설정 (0) | 2023.08.25 |
Unreal BP Trace (0) | 2023.08.25 |