본문 바로가기
공부/Unreal Engine 5

[언리얼5] 언리얼CPP 자주 사용하는 이벤트 바인딩 참고

by MY블로그 2024. 5. 14.

언리얼엔진에서 게임 오브젝트 간의 상호 작용을위한 이벤트(함수)와 필요한 매개변수

OnComponentHit

액터의 컴포넌트가 다른 오브젝트와 충돌했을 때 호출되는 이벤트입니다. 이 이벤트는 물리적인 상호작용이 활성화된 컴포넌트에서 주로 사용됩니다. 예를 들어, 물리 엔진을 사용하여 이동하는 캐릭터나 오브젝트가 다른 오브젝트와 부딪혔을 때 이 이벤트를 사용하여 충돌에 대응할 수 있습니다.

PrimitiveComponent 클래스
바인딩 사용 예


필요한 매개변수

  • UPrimitiveComponent* HitComponent: 충돌이 발생한 컴포넌트입니다.
  • AActor* OtherActor: 충돌한 다른 액터입니다.
  • UPrimitiveComponent* OtherComp: 충돌한 다른 컴포넌트입니다.
  • FVector NormalImpulse: 충돌의 정상적인 충격량입니다. 이 값은 충돌의 힘과 방향을 나타냅니다.
  • const FHitResult& Hit: 충돌에 대한 상세한 정보를 포함한 구조체입니다. 이 구조체에는 충돌 위치, 충돌한 표면의 정상 벡터, 충돌한 오브젝트의 유형 등 다양한 정보가 포함됩니다.

 

OnComponentBeginOverlap

이 이벤트는 어떤 액터가 이 컴포넌트의 콜리전 볼륨에 들어왔을 때 발생합니다.

PrimitiveComponent 클래스

필요한 매개변수

  • UPrimitiveComponent* OverlappedComponent: 겹치기 시작한 컴포넌트입니다.
  • AActor* OtherActor: 겹치기 시작한 다른 액터입니다.
  • UPrimitiveComponent* OtherComp: 겹치기 시작한 다른 컴포넌트입니다.
  • int32 OtherBodyIndex: 겹치기 시작한 다른 컴포넌트의 바디 인덱스입니다.
  • bool bFromSweep: 이 충돌이 스윕 검사(Sweep test)로 발생했는지 여부입니다.
  • const FHitResult& SweepResult: 스윕 충돌 결과입니다.

 

OnComponentEndOverlap

이 이벤트는 어떤 액터가 이 컴포넌트의 콜리전 볼륨에서 벗어났을 때 발생합니다.

PrimitiveComponent 클래스

필요한 매개변수

  • UPrimitiveComponent* OverlappedComponent: 겹침이 끝난 컴포넌트입니다.
  • AActor* OtherActor: 겹침이 끝난 다른 액터입니다.
  • UPrimitiveComponent* OtherComp: 겹침이 끝난 다른 컴포넌트입니다.
  • int32 OtherBodyIndex: 겹침이 끝난 다른 컴포넌트의 바디 인덱스입니다.

 

OnClicked

이 이벤트는 사용자가 이 액터를 클릭했을 때 발생합니다.

 

필요한 매개변수

  • FKey ButtonPressed: 클릭된 버튼입니다.

 

OnBeginCursorOver

이 이벤트는 커서가 이 액터 위에 올라갔을 때 발생합니다.

 

OnEndCursorOver

이 이벤트는 커서가 이 액터 위에서 벗어났을 때 발생합니다.

 

OnTakeAnyDamage

이 이벤트는 이 액터가 어떤 종류의 데미지를 받았을 때 발생합니다.

AActor 클래스

필요한 매개변수

  • float Damage: 받은 피해의 양입니다.
  • const class UDamageType* DamageType: 받은 피해의 유형입니다.
  • class AController* InstigatedBy: 피해를 준 컨트롤러입니다.
  • AActor* DamageCauser: 피해를 준 액터입니다.

 

ApplyDamage

이 함수는 특정 액터에게 데미지를 적용하는 데 사용됩니다.


필요한 매개변수

  • AActor* DamagedActor: 데미지를 받을 액터
  • float BaseDamage: 적용할 데미지 양
  • AController* EventInstigator: 이 이벤트를 시작한 컨트롤러
  • AActor* DamageCauser: 데미지를 야기한 액터
  • TSubclassOf<class UDamageType> DamageTypeClass: 적용할 데미지의 유형

 

ApplyRadialDamageWithFalloff

이 함수는 특정 위치에서 방사형 데미지를 적용하며, 데미지는 중심에서 멀어질수록 감소합니다.


필요한 매개변수

  • UWorld* WorldContextObject: 이 함수를 호출하는 컨텍스트
  • float BaseDamage: 적용할 데미지 양
  • const FVector& Origin: 데미지를 적용할 원점
  • float MinimumRadius: 데미지가 시작되는 최소 반경
  • float InnerRadius: 데미지가 완전히 적용되는 내부 반경
  • float OuterRadius: 데미지가 완전히 없어지는 외부 반경
  • float Falloff: 데미지가 감소하는 비율
  • AController* EventInstigator: 이 이벤트를 시작한 컨트롤러
  • AActor* DamageCauser: 데미지를 야기한 액터
  • TSubclassOf<class UDamageType> DamageTypeClass: 적용할 데미지의 유형
  • TArray<AActor*> IgnoreActors: 데미지 적용에서 제외할 액터 배열
  • AActor* DamagePreventionChannel: 데미지를 막을 수 있는 액터

 

댓글