UE5 Coding : 게임 제작 기초/Class
BeginOverlap 바인딩 함수
by 달다하
2025. 8. 20.
- Delegate의 규칙
- 언리얼 엔진에서 델리게이트에 함수를 바인딩하기 위해서는, 바인딩할 함수의 인자들이 델리게이트의 요구사항과 일치해야 함
- OnComponentBeginOverlap 델리게이트의 인자들
- UPrimitiveComponent* OverlappedComponent
- 이벤트가 발생한 콜리전 컴포넌트
(이벤트가 발생한 주체에 대한 정보)
- ex) TriggerBox와의 이벤트가 발생했다면, TriggerBox가 OverlappedComponent에 전달됨
- AActor* OtherActor
- OverlappedComponent와 충돌한 액터
(이벤트를 발생시킨 주체에 대한 정보)
- 보통 플레이어 캐릭터나 적 캐릭터임
- UPrimitiveComponent* OtherComp
- 충돌한 액터의 콜리전 컴포넌트
(이벤트를 발생시킨 주체의 컴포넌트에 대한 정보)
- ex) 플레이어 캐릭터의 캡슐 콜리전 컴포넌트
- int32 OtherBodyIndex
- 충돌한 콜리전 컴포넌트의 BodyIndex
(이벤트를 발생시킨 주체의 컴포넌트에 대한 정보)
- 콜리전이 여러개인 경우, 어떤 콜리전이 발생했는지 식별하는데 사용됨
- bool bFromSweep
- 충돌이 Sweep 방식으로 발생했는지 여부
(충돌 방식에 대한 정보)
- Sweep : 이동 중에 충돌을 감지하는 방식
- const FHitResult& SweepResult
- Sweep 방식이었을 경우, 충돌의 세부 정보를 담고 있음(충돌 위치, 충돌 표면 등)
포탈 트리거에 진입했을 때, 플레이어 캐릭터가 다른 레벨로 이동하는 기능에는 OverlappedComponent(TriggerBox확인용), OtherActor(충돌한 액터가 플레이어인지 확인용) 이 2가지만 있으면 된다
- 위의 코드처럼, 사용하지 않는 인자는 코드에서 무시해도 됨