Unreal - 대쉬 공격 만들기 (Sweep 처리방식)

2025. 4. 22. 12:29·Unreal5 프로젝트 다이어리

일자로 적을 베는 공격을 만들어보도록 하겠습니다

먼저 연출을 위해 캐릭터가 잠시 공격할때 잠깐 사라졌다가 보이게세팅합니다

캐릭터를 앞방향으로 움직여보겠습니다

필요한 변수와 함수를 선언합니다

bSSkillMoving은 움직임의 위치에 도착했을때를 알리는 플래그변수

SSkillTargetLoc 은 도착할 위치

sSkillMoveSpeed는 움직일 속도

SkillSMoving함수는 tick에서 작동할 bSSkillMoving변수가 바뀌면 호출될 함수

StartSSkillMove함수는 움직임을 할 함수입니다

 

캐릭터의 tick에서

bSSkillMoving플래그가 true면 SkillMoving함수가 호출되도록 세팅합니다

현재위치부터 FMath::VInterpTo() 함수로 벡터 보간이동을 할껀데

skillSNewLoc은 캐릭터의 새로운 위치를 계산할 벡터입니다

현재위치 (currentSLoc부터 도착위치 SSkilltargetLoc까지 DeltaTime으로 sSkillMoveSpeed속도로 움직입니다)

위치를 새로운 위치로 바꿔주고

만약 새로운위치와 타겟위치가 1보다 작아진다는 거의 가까워졌을때니 목표에 도착했으면

bSSkillMoving플래그를 다시 false로 변경

 

이제 노티파이에서 호출시킬 벡터위치를 계산하고 플래그를 바꿔줄 함수를 만듭니다

StartSSkillMove함수는 노티파이에서 호출할 함수이며 처음 노티파이가 호출될때 한번 위치를 계산합니다

위치는 현재캐릭터 위치에서 앞 방향 800만큼입니다

 

게임인스턴스에서

이렇게 만들어주고 SSkillMoving노티파이를 해당 애니메이션에 찍어줍니다

그리고 모션워핑도 설정해주겠습니다

노티파이를 찍어줍니다

그리고 저번에 만들었던 잠시 적과의 충돌을 무시하는 노티파이도 찍어줍니다

근데 이렇게 이동하면 벽에 가까이서 사용하면 낑기는 현상이 발생합니다

이럴때는 Sweep 처리를 반드시 해줘야합니다

Sweep처리란 이동 중에 다른 물체와 충돌을 감지하고 반응을 처리하는 방식을 뜻합니다

동일하게 vinterpTo로 이동을 하나 새로운 moveVector

이번프레임에 얼마나 이동할지 에 대한 벡터를 구합니다

그리고 충돌체크를 확인하기위한 hit

AddActorWorldOffset으로 moveVector에서 true를 하면 스윕(Sweep)을 활성화하여 충돌을 감지합니다

목표위치와 현재위치가 < 1.0 가까워졌으면 더이상 bSSkillMoving을 하지않습니다

 

그리고 전에 만들어놨던 데미지를 입히는 데미지액터도 크기에 맞게 스폰해줍니다

액션에 맞는 나이아가라도 추가해줍니다

공격할때의 공격범위

 

 

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

Unreal - Ghost Trail(고스트 트레일) 잔상  (0) 2025.04.23
Unreal - Radial Blur 기법 (신속 블러)  (0) 2025.04.22
Unreal - 어색한 충돌 처리 해결하기  (0) 2025.04.21
Unreal - 공중 공격 - (2)  (0) 2025.04.20
Unreal - 공중 공격 - (1)  (0) 2025.04.15
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
  • Unreal - Ghost Trail(고스트 트레일) 잔상
  • Unreal - Radial Blur 기법 (신속 블러)
  • Unreal - 어색한 충돌 처리 해결하기
  • Unreal - 공중 공격 - (2)
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (121) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (3) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 다이어리 (21) N
        • Stack (3)
        • Hash (4)
        • Heap (2)
        • Sort (1) N
      • 코드 개인보관함 (8) N
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

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

    unreal look at
    unreal sequence
    unreal 모션매칭
    언리얼 foot step
    언리얼 look at
    언리얼 비헤이비어트리
    언리얼 페이드 아웃
    언리얼 컷씬
    unreal 컷씬
    unreal loading
    언리얼 motionmatching
    unreal 시퀀스
    언리얼 behavior tree
    언리얼 behaviortree
    언리얼
    언리얼 로딩창
    unreal 로딩
    언리얼 로딩
    언리얼 모션매칭
    언리얼 시퀀스
  • hELLO· Designed By정상우.v4.10.3
lucodev
Unreal - 대쉬 공격 만들기 (Sweep 처리방식)
상단으로

티스토리툴바