Unreal/Shooter Project (完)
[UE5] FPS 프로젝트 - 23
굥굔
2023. 7. 14. 22:08
오늘의 영상!
주구장창 캐릭터만 만지다가 캐릭터와 상호작용하는 오브젝트나 몬스터를 만드니까 너무너무너무너무 재밌다!
데미지를 입히려면 데미지를 입는 쪽에서 AActor 클래스 내부에 선언되어있는 virtual float TakeDamage(); 를 이용하면 된다. 파라미터가 존재하니 확인해보고 쓸것!
UGameplayStatics::ApplyDamage(BeamHitResult.GetActor(), EquippedWeapon->GetDamage(),
GetController(), this, UDamageType::StaticClass());
위의 함수를 이용하면 데미지를 입는 쪽에 알아서 TakeDamage가 호출된다.
UFUNCTION(BlueprintImplementableEvent) 라는 매크로도 사용.
이는 함수 정의를 블프에서 한다는 소리다. C++ 상에서 정의하지 않아도 됨.
다만 블프내부에서
위의 그림처럼 부모 클래스도 호출해 주어야 하는가 보다.. 자세한건 아직 모름..
몬스터 HP 위젯을 추가하고 간단하게 몬스터가 맞는 애니메이션도 추가했다. 스켈레탈의 본을 이용해서 헤드샷/바디샷 을 구분했음. 그래서 영상에 보면 헤드샷은 데미지가 쎄고 빨갛게 나오고 바디샷은 흰색의 숫자가 뜨는 모습을 볼 수 있다.