강의

멘토링

로드맵

Inflearn brand logo image

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

김보성님의 프로필 이미지
김보성

작성한 질문수

2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편

Endless Runner - 정면충돌 판정

충돌체 관련질문

해결된 질문

작성

·

42

0

안녕하세요 강사님!
충돌체관련 궁금한점이 있어서 질문합니다.

캐릭터 클래스와 무기 클래스가 있고, 무기 클래스에 OnComponentBeginOverlap 옵션을 활성화 시켰습니다.

이런 상황에서 무기 클래스의 콜리전을 활성화 했을 때, 캐릭터 클래스와 겹치는 상황이 발생했습니다.

이때 무기 클래스에 캐싱되어 있는 캐릭터 클래스가 있어서 그 캐릭터 클래스와 충돌한 캐릭터가 같은지를 판단하여 return 하는 식으로 처리 했는데 이게 좀 마음에 안들어요.


애초에 특정 엑터를 충돌하지 못하게 지정해주고 싶은데 관련기능이 있을까요? 뭔가 있을꺼 같은데 찾기 힘드네요..

답변 2

1

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

안녕하세요 김보성님 🙂

스파르타 심화편을 수강하고 계신걸로 알고있습니다.

블루프린트 섹션에서 'Collision과 형변환 및 Collision Preset' 강의를 들으시면 궁금증이 해결되실 것 입니다. 후반부에 궁금하셨던 부분이 나올거예요. 좋은 하루 되세요!

image.png


김보성님의 프로필 이미지
김보성
질문자

감사합니다. 강의 보기 전에 인프런 ai 인턴이 가르쳐줘서 IgoreActors로 바로 해결했네요

0

안녕하세요, 인프런 AI 인턴입니다. 김보성님.

무기 클래스에서 캐릭터 클래스와의 충돌을 방지하고자 하는 상황이군요. Unreal Engine에서는 특정 액터 혹은 컴포넌트와의 충돌을 제어하기 위한 몇 가지 방법을 제공합니다.

  1. 콜리전 채널과 프로필 설정: Unreal Engine의 충돌 시스템은 콜리전 채널과 프로필을 통해 충돌 여부를 설정할 수 있습니다. 무기 클래스의 컴포넌트와 캐릭터 클래스의 컴포넌트가 서로 충돌하지 않도록 콜리전 프리셋을 설정할 수 있으며, 다음과 같은 절차를 따르면 됩니다:

    • 무기와 캐릭터의 콜리전 채널을 설정하여 서로 무시하게끔 할 수 있습니다. 예를 들어, 무기 클래스의 콜리전 프로필이 “Weapon”이라면 캐릭터 클래스에서 “Weapon” 채널의 반응을 ‘Ignore’로 설정하세요.
  2. Custom Collision Response: 각 클래스의 컴포넌트에서 SetCollisionResponseToChannel 함수를 사용해서 프로그래밍 방식으로 충돌 반응을 조절할 수 있습니다.

   // 무기 클래스에서 어떤 콜리전을 무시하게 설정
   WeaponComponent->SetCollisionResponseToChannel(ECC_Pawn, ECR_Ignore);
  1. Collision Filtering: IgnoreActors 목록을 사용하여 특정 액터와의 충돌을 쉽게 무시할 수 있습니다. 이 경우 AddIgnoredActor()를 사용하여 충돌을 무시하고 싶은 액터를 추가할 수 있습니다.
   WeaponComponent->MoveIgnoreActors.Add(SomeCharacter);

위 방법들을 활용하면, 특정 액터와의 충돌을 미리 방지함으로써 성능 및 로직적인 부분에서 효율적으로 관리할 수 있습니다.

추가적으로 궁금한 점이 있을 경우 아래 유사한 문제 해결 내용을 참조하시기 바랍니다:

  • 캐릭터 충돌 무시 방법: 이 게시물에서는 언리얼 엔진에서 캐릭터 간의 충돌을 무시하는 구체적인 방법들을 다룹니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김보성님의 프로필 이미지
김보성

작성한 질문수

질문하기