강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김대영님의 프로필 이미지
김대영

작성한 질문수

실전! 언리얼 소울라이크 개발: A to Z

무기 콜리전 시스템과 데미지 처리

무기 콜리전 시스템에 대해

작성

·

22

0

이해한 내용 :

12 번째 강의를 보면 무기의 데미지 처리를 위해 CollisionComponent를 따로 생성하셨습니다.

 

TickComponent에서 LineTracing 활성화 여부를 조절함으로써 원하는 공격 타이밍에 무기의 데미지 처리를 할 수 있게끔 구현하셨습니다.

 

질문할 내용 :

혹시 무기에 CapsuleCollision을 부착하여 CollisionComponent 자체의 콜리전을 NoCollision 혹은 Overlap 모드로 변경하는 식의 충돌 처리와 어떤 차이가 있는 지 알 수 있을까요 ??

답변 1

0

Spector님의 프로필 이미지
Spector
지식공유자

안녕하세요!

CollisionComponent 방식은 물리 업데이트 주기에 따라 충돌을 검사하는 방식이기 때문에, 빠른 움직임에서 충돌을 놓치거나 프레임률에 따라 충돌 감지가 불안정할 수 있습니다.

반면 LineTrace 방식은 연속적인 감지 방식으로, 빠르게 무기를 휘두르는 상황에서도 중간 지점들을 놓치지 않고 처리할 수 있어 더욱 정밀한 구현이 가능합니다.

따라서 검, 도끼 등 휘두르는 무기의 충돌 처리나 정밀한 타격감이 중요한 빠른 액션 게임에서 LineTrace 방식이 적합하다고 할 수 있습니다.

반면 CollisionComponent 방식은 느린 움직임의 함정이나 장애물과 같은 오브젝트의 충돌 처리, 또는 지속적인 접촉이 필요한 오브젝트 구현에 더 적합합니다.

엔진 레벨에서의 처리 방식 차이를 간단하게 설명드리면, LineTrace 방식은 요청 시점에 명시적인 함수 호출로 처리되어 결과가 즉시 반환됩니다. 반면 CollisionComponent는 씬 그래프에 영구 등록되어 매 물리 업데이트마다 검사하며, 비동기 이벤트 시스템을 통해 처리됩니다.

그럼 좋은 하루 되세요.

김대영님의 프로필 이미지
김대영

작성한 질문수

질문하기