728x90
반응형
void ABullet::OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit)
{
if (OtherActor != this && OtherComponent->IsSimulatingPhysics())
{
OtherComponent->AddImpulseAtLocation(bulletMeshComp->Velocity * 100.0f, Hit.ImpactPoint);
}
//닿으면 밀려나고 충돌한 물체는 사라진다
Destroy();
}
충돌했다 라고 하는건 OnBeginOverlap도 사용할 수 있지만 OnHit도 사용할 수 있다.
OnHit 함수는 생성자에서 CollisionComp에 바인딩 하자
//충돌체가 충돌한 후 이벤트 호출하기
CollisionComp->OnComponentHit.AddDynamic(this, &ABullet::OnHit);
그리고 헤더에 이 함수를 정의해주자
UFUNCTION()
void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit);
언리얼엔진 C++을 처음 접했을 때의 내 코드를 보니 전보다는 성장한 것 같다. (다행)
728x90
반응형
'언리얼엔진 개발 > Developing' 카테고리의 다른 글
[UnrealEngine5] 위젯 텍스트 애니메이션 넣기 (0) | 2023.07.21 |
---|---|
[UnrealEngine5] 위젯에 텍스트 넣는 법 C++ (0) | 2023.07.21 |
[UnrealEngine5] 공격 받으면 줄어드는 HP 위젯 구현하기 (0) | 2023.07.21 |
[UnrealEngine5]TPS 제작 환경에서의 LineTrace 사용하는 법 (0) | 2023.07.20 |
[UnrealEngine5]로컬라이징( Feat. 영어, 한국어 설정하기) (0) | 2023.07.19 |