Unreal 캐릭터 - 콤보어택

2025. 4. 4. 20:20·Unreal5 프로젝트 다이어리

 

캐릭터의 기본적인 평타를 만들어보도록 하겠다

평타의 방식은 총 3가지로

일정시간안에 다시 클릭하면 다음 콤보공격이 나가게 해보겠다

 

일단 공격모드 스테이트 머신에 중간에 공격모션이 나오게

default slot을 추가해줬다

총 3가지의평타모션이 들어갈테니 리타게팅 작업을 미리 해놨다

마우스 좌클릭으로 기본공격이 나가게해보겠다

우선 액션매핑작업부터 해준다

역시 바인드 해준다

InputMouseLeftClick에 들어갈껀 캐릭터에서 MeleeAttack이라는 함수를 불러올예정이다

MeleeAttack함수는 캐릭터에서 만들예정이고

 

단순하게 PlayAnimMontage만 할 예정이다

캐릭터에서 meleeAttack함수를 만들어보자

플레이어컨트롤러에서 바인드해놓은

InputMouseLeftClick함수가 실행되면 캐릭터의 meleeAttack함수가 실행되어

애님몽타쥬가 실행이 된다

캐릭터블루프린트에서

애니메이션몽타쥬를 할당시켜주면

기본애니메이션 평타1이 완성된다

우리가 만들건 총 3가지종류 의 평타기 때문에 추가작업을 해보자

추가할 애니메이션몽타쥬를 더 추가해준다

그리고 switch Case에서 쓸 int변수 하나 선언

 

1번 ~ 3번의 애니메이션을 적용해줬다

근데 이렇게 하면 무조건 1~3번이 나가기때문에 동작이 1초안에 들어왔을때

2번평타 -> 3번평타로 진행하는식으로 바꿔보겠다

 

 

총 이렇게 두가지 타이머로 변수값을 조절해주면된다

그리고 이제 문제점은 애니메이션은 잘 나가는데 나가는방향이 무조건 애니메이션에서 

정해진 방향대로 즉 앞방향으로만 갈것이다 

그것을 해결하기위해 월드내에서 라인트레이스를 쏴서 그 방향 (보는방향)으로 캐릭터의 Rotation을 회전시켜보겠다

startPoint와 endPoint가 마우스가 가리키는 위치고

hitResult는 바닥과의 교차점을 구하기위한 변수값이다

 

FCollisionQueryParams으로 지면과의 충돌을 확인할건데

캐릭터에 맞으면 안되니 자신은 무시하고

수평회전이니 z축은 고정해준다

그리고 구한 벡터값에

SetActorRotation해서 값을 적용시켜 캐릭터를 회전시켜 적용한다

 

전체코드이다

SwitchCase문을 사용하고 타이머핸들인 th_ComboReset을 사용한 결과이다

확인하면 1초의 딜레이안에 다시 입력을 받으면 두번째와 세번째 콤보가 나간다

그리고 라인트레이서 방향 즉 바라보는 방향으로 캐릭터의 방향이 회전한다

여기서 문제가 생긴다

평타의 딜레이가 없어서 너무빨리나간다

문제가 딱봐도 엄청나게 많다 다음글에 문제점을 해결하는글과 함께 해결해보도록하겠다

 

 

'Unreal5 프로젝트 다이어리' 카테고리의 다른 글

Unreal 캐릭터 - 위젯애니메이션  (0) 2025.04.04
Unreal 캐릭터 - UI위젯과 동기화  (0) 2025.04.04
Unreal 캐릭터 - 움직임의 제약(선딜과 후딜)  (0) 2025.04.04
Unreal 캐릭터 - 소켓의 활용, 외부에셋활용, 칼들려주기, 모드의구분  (0) 2025.04.04
Unreal 캐릭터 - 플레이어 마우스 이동, 입력키 바인딩, 스테이트머신  (1) 2025.04.04
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
  • Unreal 캐릭터 - UI위젯과 동기화
  • Unreal 캐릭터 - 움직임의 제약(선딜과 후딜)
  • Unreal 캐릭터 - 소켓의 활용, 외부에셋활용, 칼들려주기, 모드의구분
  • Unreal 캐릭터 - 플레이어 마우스 이동, 입력키 바인딩, 스테이트머신
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (121) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (3) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 다이어리 (21)
        • Stack (3)
        • Hash (4)
        • Heap (2)
        • Sort (1)
      • 코드 개인보관함 (8) N
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    언리얼 로딩
    언리얼 페이드 아웃
    unreal sequence
    언리얼 behaviortree
    unreal 시퀀스
    언리얼 비헤이비어트리
    언리얼
    언리얼 컷씬
    언리얼 로딩창
    언리얼 behavior tree
    unreal 모션매칭
    unreal loading
    언리얼 시퀀스
    언리얼 motionmatching
    unreal look at
    언리얼 foot step
    unreal 컷씬
    언리얼 look at
    unreal 로딩
    언리얼 모션매칭
  • hELLO· Designed By정상우.v4.10.3
lucodev
Unreal 캐릭터 - 콤보어택
상단으로

티스토리툴바