728x90
반응형
▣ 플레이어의 Pawn을 가져오는 부분
UGameplayStatics::GetPlayerPawn(...)는 현재 월드에 존재하는 0번 인덱스의 플레이어 컨트롤러가 조종하는 Pawn을 반환합니다.
0 → 기본 싱글플레이어라면 첫 번째 플레이어
결과: PlayerPawn 변수에 플레이어 액터가 저장됩니다.
▣ 서로의 현재 위치를 가져옴
GetActorLocation() → Actor의 현재 월드 좌표를 반환합니다.
ZombieLocation: 좀비의 위치
PlayerLocation: 플레이어의 위치
▣ 방향벡터 계산 (수평 2D 기준)
Player - Zombie: → 좀비에서 플레이어까지 향하는 방향벡터
GetSafeNormal2D():
이 벡터를 정규화(Normalize) 하되,
Z 축(높이)은 무시하고 XY 평면 기준으로 방향만 남깁니다.
결과적으로 → 좀비가 수평 방향으로만 플레이어를 보게 됩니다 (위아래 쳐다보는 건 제외)
▣ 방향벡터를 회전값으로 변환
Rotation() 함수는 벡터를 Yaw, Pitch, Roll로 이루어진 FRotator로 변환합니다.
▣ 좀비의 회전을 설정
이 한 줄로 좀비의 몸통이 해당 방향으로 즉시 회전합니다.
SetActorRotation()은 기본적으로 부드럽지 않고 "즉시" 회전입니다.
애니메이션과 함께 실행하면 공격 전에 자연스럽게 정면을 바라보는 효과를 만듭니다.
728x90
반응형
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 BehaviorTree, EQS 응용 (0) | 2025.04.05 |
---|---|
언리얼엔진5 c++ AI 간의 충돌 방지 코드 (0) | 2025.03.29 |
언리얼엔진5 c++ Animistance 데이터 ABP에서 바인딩 사용 (0) | 2025.03.27 |
언리얼엔진5 c++ Random함수 (0) | 2025.03.27 |
언리얼엔진5 c++ EndPlay(Actor 종료시점 호출함수) (0) | 2025.03.22 |
댓글