작성
·
22
0
이해한 내용 :
12 번째 강의를 보면 무기의 데미지 처리를 위해 CollisionComponent를 따로 생성하셨습니다.
TickComponent에서 LineTracing 활성화 여부를 조절함으로써 원하는 공격 타이밍에 무기의 데미지 처리를 할 수 있게끔 구현하셨습니다.
질문할 내용 :
혹시 무기에 CapsuleCollision을 부착하여 CollisionComponent 자체의 콜리전을 NoCollision 혹은 Overlap 모드로 변경하는 식의 충돌 처리와 어떤 차이가 있는 지 알 수 있을까요 ??
답변 1
0
안녕하세요!
CollisionComponent 방식은 물리 업데이트 주기에 따라 충돌을 검사하는 방식이기 때문에, 빠른 움직임에서 충돌을 놓치거나 프레임률에 따라 충돌 감지가 불안정할 수 있습니다.
반면 LineTrace 방식은 연속적인 감지 방식으로, 빠르게 무기를 휘두르는 상황에서도 중간 지점들을 놓치지 않고 처리할 수 있어 더욱 정밀한 구현이 가능합니다.
따라서 검, 도끼 등 휘두르는 무기의 충돌 처리나 정밀한 타격감이 중요한 빠른 액션 게임에서 LineTrace 방식이 적합하다고 할 수 있습니다.
반면 CollisionComponent 방식은 느린 움직임의 함정이나 장애물과 같은 오브젝트의 충돌 처리, 또는 지속적인 접촉이 필요한 오브젝트 구현에 더 적합합니다.
엔진 레벨에서의 처리 방식 차이를 간단하게 설명드리면, LineTrace 방식은 요청 시점에 명시적인 함수 호출로 처리되어 결과가 즉시 반환됩니다. 반면 CollisionComponent는 씬 그래프에 영구 등록되어 매 물리 업데이트마다 검사하며, 비동기 이벤트 시스템을 통해 처리됩니다.
그럼 좋은 하루 되세요.