[UE5] ArenaRPG(3) - 원거리 대상 자동 설정 기능

리벤쿤·2024년 1월 18일
post-thumbnail

들어가기 앞서

앞선 글에서 근접 공격 캐릭터가 적에게 대미지를 주는 매커니즘의 구현 방식을 설명했다. 이번 포스트에서는 원거리 공격 캐릭터가 자동으로 적을 설정하고 대미지를 주는 매커니즘을 설명하려고 한다. 해당 기능은 근접 공격 캐릭터도 스킬 사용 시 사용한다.

박스 콜리전(Box Colision)

모든 캐릭터는 전방으로 Scale(15,6,5)의 박스 콜리전 컴포넌트를 가진다.

해당 컴포넌트에 무언가가 오버랩되는 이벤트가 발생하면, 해당 대상이 플레이어 캐릭터인지 확인한 후, 그가 내 적이라면 내가 공격할 수 있는 대상의 후보로 둘 수 있다. 이 후보들을 배열에 저장한다.

오버랩이 끝나는 이벤트가 발생하면, 해당 객체를 배열에서 지운다.

가장 가까운 적(Nearest Enemy)

스킬을 쓰기 전, 배열에 저장된 나와 가장 가까운 적을 찾아낸다. 해당 적을 '가장 가까운 적'이라고 설정하고, 스킬을 해당 대상에게 사용한다.

이를 적용한 법사의 일반공격 블루프린트는 다음과 같다. 마지막 Req Look Enemy 함수는 대상을 향해 내 캐릭터의 방향을 돌리는 기능을 한다.

다음 블로그를 참고하여 작성했으니 자세한 설명은 이 쪽에서 확인하기를 바란다. 바로가기

유도탄(Homing Projectile)

원거리 공격 캐릭터의 경우, 대상을 향해 화살이나 마법 구체와 같은 오브젝트를 발사해야 한다. 누가 발사하는지, 어느 방향으로 발사하는지는 캐릭터 단계에서는 다음과 같이 작성한다.

이제 발사되는 대상인 BP MageAttack의 살펴보자. 발사한 대상이 적 타겟에 부딪히면 대미지를 주면서 파괴된다.

소유한 캐릭터, 그리고 그 캐릭터가 바라보는 대상의 위치를 기반으로 거리를 측정한다.

투사체(Projectile)에 유도(Homing) 기능을 더해주는 설정을 진행하면 투사체가 타겟을 향해 날아간다. 이 때, 중력 설정을 0으로 하지 않으면 중력의 영향을 받아 계속 땅 속으로 처박히니 주의하자.

참고문헌 바로가기

profile
컴퓨터공학 & 미디어콘텐츠, AI/ML, HCI, PM, QA

0개의 댓글