[DAY114] SoulslikeProject(17) - EQS Dot Product

베리투스·4일 전

TIL: Today I Learned

목록 보기
93/93

✅ 오늘 한 일 (Done)

  • EQS 포지셔닝 로직 개선: 몬스터가 전투 중 자리를 잡을 때(EQS) 사용하는 내적(Dot Product) 계산의 기준 좌표를 변경.
  • 불필요한 횡이동(Strafe) 제거: 플레이어가 등을 보이고 도망가는 상황에서는 몬스터가 굳이 측면으로 돌지 않고 즉시 추격하여 공격하도록 전투 템포 개선.

💣 트러블 슈팅 (Issue & Fix)

  • 문제: 몬스터가 바로 공격할 수 있는 거리임에도 불구하고, 자꾸 플레이어의 측면 위치를 잡으려고 크게 원을 그리며 도는(Strafe) 현상 발생.
  • 원인: 기존 EQS 위치 선정 기준이 '몬스터'였기 때문. (몬스터가 플레이어를 바라보는 방향 vs 몬스터와 EQS 포인트 방향). 이 방식은 플레이어가 어디를 보고 있는지 고려하지 않아 항상 기계적으로 측면만 고집하게 됨.
  • 해결: Dot 계산 기준을 '플레이어의 Rotation(정면)'으로 변경. 플레이어의 시선을 기준으로 정면/측면/후면을 판단하게 하여 상황에 맞는 자연스러운 위치를 선택하도록 수정.

💡 핵심 로직 (Key Logic - Vector Math)

Dot Product 기준 변경

  • 기존 (몬스터 기준 - 항상 측면 고집):
    A = 몬스터 → 플레이어 방향
    B = 몬스터 → EQS 포인트 방향
  • 수정 (플레이어 기준 - 상황별 포지셔닝):
    A = 플레이어 Forward Vector
    B = 플레이어 → EQS 포인트 방향
profile
Shin Ji Yong // Unreal Engine 5 공부중입니다~

0개의 댓글