Unreal/Shooter Project (完)

[UE5] FPS 프로젝트 - 23

굥굔 2023. 7. 14. 22:08

https://youtu.be/O5vy1IIUYIE

 

오늘의 영상!

주구장창 캐릭터만 만지다가 캐릭터와 상호작용하는 오브젝트나 몬스터를 만드니까 너무너무너무너무 재밌다!

 

데미지를 입히려면 데미지를 입는 쪽에서 AActor 클래스 내부에 선언되어있는 virtual float TakeDamage(); 를 이용하면 된다. 파라미터가 존재하니 확인해보고 쓸것! 

UGameplayStatics::ApplyDamage(BeamHitResult.GetActor(), EquippedWeapon->GetDamage(),
						GetController(), this, UDamageType::StaticClass());

위의 함수를 이용하면 데미지를 입는 쪽에 알아서 TakeDamage가 호출된다.

 

UFUNCTION(BlueprintImplementableEvent) 라는 매크로도 사용.

이는 함수 정의를 블프에서 한다는 소리다. C++ 상에서 정의하지 않아도 됨.

다만 블프내부에서

위의 그림처럼 부모 클래스도 호출해 주어야 하는가 보다.. 자세한건 아직 모름..

 

몬스터 HP 위젯을 추가하고 간단하게 몬스터가 맞는 애니메이션도 추가했다. 스켈레탈의 본을 이용해서 헤드샷/바디샷 을 구분했음. 그래서 영상에 보면 헤드샷은 데미지가 쎄고 빨갛게 나오고 바디샷은 흰색의 숫자가 뜨는 모습을 볼 수 있다.