본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ OnComponentBeginOverlap

by MRG 2024. 7. 26.
728x90
반응형

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/setting-up-collisions-with-static-meshes-in-unreal-engine?application_version=5.3

 

 

 

▣ 헤더파일에서 SphereComponent 클래스 및 충돌에 대한 함수를 추가합니다. 

 

 

▣ cpp파일에서 SphereComponent 헤더를 추가하고 SphereComponent 생성 및 부모 설정 반지름, 위치설정하는 코드를 추가합니다. 

BeginPlay() 함수에서 충돌 이벤트 바인딩하는 코드 두 개를 추가합니다. 

그리고 Begin(), End() 함수에 각각 코드를 추가합니다. 

 

 

▣ 컴파일 저장 후 플레이를 해서 확인하면 충돌에 따라 글자가 출력되는 걸 확인할 수 있습니다. 

 

 

▣ 충돌 설정 함수

SphereComponent->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);

SphereComponent->SetCollisionObjectType(ECollisionChannel::ECC_PhysicsBody);

SphereComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Block);

 

▣ 물리 시뮬레이션 활성화 함수

SphereComponent->SetSimulatePhysics(true);

 

▣ 반지름 반환 함수

float Radius = SphereComponent->GetUnscaledSphereRadius();

 

▣ 컴포넌트 활성화/비활성화 함수

SphereComponent->SetActive(true);

SphereComponent->SetHiddenInGame(false);

 

 

▣ 함수 이름을 변경해도 문제없음
Unreal Engine에서 콜리전 이벤트를 감지하려면 OnComponentBeginOverlap 델리게이트에 적절한 함수를 동적 바인딩해야 합니다. 이때, 함수의 이름이 아니라 함수의 바인딩 자체가 중요합니다.
즉, OnComponentBeginOverlap 이벤트가 발생할 때 어떤 함수를 호출할지 지정하는 과정(바인딩)이 중요합니다.

728x90
반응형

댓글