Projectile가 생성되는 타이밍은 BP_Enemy의 OneShot 함수에서이다.
따라서 Projectile의 Instigator를 설정해주는 것도 OneShot 안에서 해줄 것이다.
매우 간단히, SpawnActor시 Instigator를 this로 설정해주면 된다.
이제 DamageIndicator 위젯이 적의 방향에 따라 돌아가도록 할 것이다.
현재 KannaCharacter와 Causer가 모두 설정되도록 했으므로, 두 액터의 위치 값에 따라 UI의 방향을 잘 바꿔주면 된다.
플레이어가 적을 바라보는 방향에 해당하는 Rotator를 Find Look at Rotation 노드로 찾는다.
그리고 플레이어의 Control Rotation 값을 빼준다.
Control Rotation을 사용해주는 이유는, 피격방향 표시는 캐릭터의 방향이 아닌 카메라의 방향에 좌우되어야 하기 때문이다.
예시로 카메라가 정면을 바라보고 있고, 적이 오른쪽에서 공격했다면
오른쪽 방향에서 정면 방향을 뺀 차가 Set Render Transform Angle의 Angle로 들어갈 것이다.
Set Render Transform Angle의 Target으로 들어간 Image_0은 위젯 내 피격 방향 표시기에 해당하는 그 이미지이다.
피격 방향 UI가 의도대로 잘 뜨는 것을 볼 수 있었다.
'언리얼 엔진 5 > 개발 일지' 카테고리의 다른 글
[UE5] 블루아카이브 TPS게임 개발일지 (48) - 스크린 데미지 효과 (Radial Gradient Exponent) (0) | 2024.01.20 |
---|---|
[UE5] 블루아카이브 TPS게임 개발일지 (47) - HP 자동회복 구현 (0) | 2024.01.20 |
[UE5] 블루아카이브 TPS게임 개발일지 (45) - 피격 방향 표시기 구현 2 (0) | 2024.01.20 |
[UE5] 블루아카이브 TPS게임 개발일지 (44) - 피격 방향 표시기 구현 1 (0) | 2024.01.20 |
[UE5] 블루아카이브 TPS게임 개발일지 (43) - 피격 구현 (0) | 2024.01.20 |