언리얼엔진에서 게임 오브젝트 간의 상호 작용을위한 이벤트(함수)와 필요한 매개변수
OnComponentHit
액터의 컴포넌트가 다른 오브젝트와 충돌했을 때 호출되는 이벤트입니다. 이 이벤트는 물리적인 상호작용이 활성화된 컴포넌트에서 주로 사용됩니다. 예를 들어, 물리 엔진을 사용하여 이동하는 캐릭터나 오브젝트가 다른 오브젝트와 부딪혔을 때 이 이벤트를 사용하여 충돌에 대응할 수 있습니다.
필요한 매개변수
- UPrimitiveComponent* HitComponent: 충돌이 발생한 컴포넌트입니다.
- AActor* OtherActor: 충돌한 다른 액터입니다.
- UPrimitiveComponent* OtherComp: 충돌한 다른 컴포넌트입니다.
- FVector NormalImpulse: 충돌의 정상적인 충격량입니다. 이 값은 충돌의 힘과 방향을 나타냅니다.
- const FHitResult& Hit: 충돌에 대한 상세한 정보를 포함한 구조체입니다. 이 구조체에는 충돌 위치, 충돌한 표면의 정상 벡터, 충돌한 오브젝트의 유형 등 다양한 정보가 포함됩니다.
OnComponentBeginOverlap
이 이벤트는 어떤 액터가 이 컴포넌트의 콜리전 볼륨에 들어왔을 때 발생합니다.
필요한 매개변수
- UPrimitiveComponent* OverlappedComponent: 겹치기 시작한 컴포넌트입니다.
- AActor* OtherActor: 겹치기 시작한 다른 액터입니다.
- UPrimitiveComponent* OtherComp: 겹치기 시작한 다른 컴포넌트입니다.
- int32 OtherBodyIndex: 겹치기 시작한 다른 컴포넌트의 바디 인덱스입니다.
- bool bFromSweep: 이 충돌이 스윕 검사(Sweep test)로 발생했는지 여부입니다.
- const FHitResult& SweepResult: 스윕 충돌 결과입니다.
OnComponentEndOverlap
이 이벤트는 어떤 액터가 이 컴포넌트의 콜리전 볼륨에서 벗어났을 때 발생합니다.
필요한 매개변수
- UPrimitiveComponent* OverlappedComponent: 겹침이 끝난 컴포넌트입니다.
- AActor* OtherActor: 겹침이 끝난 다른 액터입니다.
- UPrimitiveComponent* OtherComp: 겹침이 끝난 다른 컴포넌트입니다.
- int32 OtherBodyIndex: 겹침이 끝난 다른 컴포넌트의 바디 인덱스입니다.
OnClicked
이 이벤트는 사용자가 이 액터를 클릭했을 때 발생합니다.
필요한 매개변수
- FKey ButtonPressed: 클릭된 버튼입니다.
OnBeginCursorOver
이 이벤트는 커서가 이 액터 위에 올라갔을 때 발생합니다.
OnEndCursorOver
이 이벤트는 커서가 이 액터 위에서 벗어났을 때 발생합니다.
OnTakeAnyDamage
이 이벤트는 이 액터가 어떤 종류의 데미지를 받았을 때 발생합니다.
필요한 매개변수
- 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: 데미지를 막을 수 있는 액터
'공부 > Unreal Engine 5' 카테고리의 다른 글
[언리얼5] 언리얼 CPP 자주쓰는 헤더 정리 (0) | 2024.05.16 |
---|---|
[언리얼5] 카메라 뷰타겟 변경 참고 자료 (0) | 2024.05.14 |
[언리얼5] CameraShake 실시간 강도 테스트 (0) | 2024.05.13 |
[언리얼5] CameraShake 클래스 (0) | 2024.05.13 |
[언리얼5.4] 애니메이션 리타깃(Animation Retarget) (0) | 2024.05.08 |
댓글