Unreal Engine 5 공격시 넉백 기능 구현

2025. 11. 18. 20:57·Unreal Engine 5/MMORPG 개발
반응형

공격 로직

플레이어의 공격 키 입력 -> (서버) 공격 가능 상태 확인 -> (멀티 캐스트) 상태 변화 및 애니메이션 호출

 

데미지 처리

애니메이션을 이용하여 Anim Notify 호출 -> (Local) Multi Sphere Trace For Objects를 통하여 타격 확인 -> 타격된 대상을 Cast를 이용하여 플레이어인지 확인 -> (서버) 데미지 처리 및 넉백 처리 -> (멀티 캐스트) 상태 업데이트

 

문제점

문제점 1 - AnimNotify 호출 과정에서 1회 호출이 아닌 N회 호출

해결법 :

Notify Begin와 End를 설정하고 Begin 함수의 첫 호출에서 Bool 변수를 True로 End에서 False로 변경한다.

-> 공격자에게 이를 설정할 경우 한 번에 연속적인 공격 구현이 어려움

-> 피격대상에게 설정할 경우(전제가 잘못됨) 여러 대상이 공격했을 경우의 처리도 이상해짐

-> 애초에 AnimNotify에서 여러 번 호출되는 것이 아닌 Multi Sphere Trace For Objects함수에서 발생된 결과값만큼 함수가 호출이 되었던 문제.

=> Multi Sphere Trace For Objects함수에서 발생하는 결과값을 Set자료구조를 이용하여 데이터를 Unique하게 만듦.

=> 데이터 정리 후 데미지 처리 함수 1회 처리

 

넉백 시스템

방향 : 공격한 오브젝트로부터 피격당한 오브젝트의 방향을 전송

목표 

1. 10(Default) 값을 기준으로 100의 이동 거리를 이동시킴 -> 테스트는 100 이동 고정

2. 설정한 시간을 기준동안 캐릭터를 이동시킴 -> 테스트는 1초

3. 피격당한 캐릭터는 일정 시간 이동중 조작 불가능

 

방향

=> ( Enemy.Location(Z=0) - Attacker.Location(Z=0) ).Normalize 

 

SetActorLocation을 통한 구현

Set Actor Location을 통한 넉백 시스템

작동은 잘 되나 부드러운 넉백 이동 표현이 되어있지 않고 즉각적인 SetActorLocation의 호출로 인하여 끊겨 보인다.

 

SetActorLocation의 문제점을 TimeLine을 통해 해결

 

 

AddImpulse를 통한 구현

반응형
저작자표시 (새창열림)

'Unreal Engine 5 > MMORPG 개발' 카테고리의 다른 글

시간 흐름 제어  (2) 2024.11.24
Behavior Tree  (0) 2024.11.24
Networking content  (0) 2024.11.24
언리얼 엔진 5 경로 관련 참고 사이트  (0) 2024.10.03
Damage Indicator Object Pooling  (0) 2024.08.18
'Unreal Engine 5/MMORPG 개발' 카테고리의 다른 글
  • 시간 흐름 제어
  • Behavior Tree
  • Networking content
  • 언리얼 엔진 5 경로 관련 참고 사이트
숯불돼지왕갈비
숯불돼지왕갈비
게임 개발을 목표로 학습하는 블로그 입니다!
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (314)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (52)
        • 코딩 테스트 (5)
      • Unreal Engine 5 (26)
        • MMORPG 개발 (26)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (9)
        • 컴퓨터 활용능력 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩테스트
    c++
    알고리즘
    정렬
    백준
    프로그래머스
    자료구조
    코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
Unreal Engine 5 공격시 넉백 기능 구현
상단으로

티스토리툴바