몽타주 만들기
만든 몽타주에 애니메이션을 넣어준다.
한개 더 끌어다가 올려 놓기
Default Section의 이름을 Damage0 으로 변경해주었다.
두번 째 슬롯 이름을 Damage1로 설정
CreateDefault를 눌러주면 나눠졌던 Section 다시 합쳐진다.
Clear를 눌어주면 Section을 나누어 줄 수 있다.
Anim Slot를 보면 나누어진 슬롯들을 확인 할 수 있다.
Default Group을 Damage 슬롯으로 바꿔준다.
애님 ABP_Enemy로 돌아가서
디폴트 슬롯을 추가 해준다.
디폴트 슬롯을 선택해준다.
오른쪽 디테일창에서 디폴트 슬롯에서 내가 설정한 데미지 슬롯으로 변경해준다.
플레이어의 파이어 부분에 OndamageProcess 를 변경 해주기
데미지를 줄 수 있도록 매개변수를 int32로 데미지를 주도록 넣어줌
좀비의 죽음을 구현해보겠다
New Montage Section을 추가해주기 Die 로 설정해주고
Clear 로 하나 추가해주어서 Section 나누어 주기
새 노티파이를 추가
새 Section을 추가
DieLoop를 무한 반복 재생해도록 다시 선택해주기
애니메이션이 끝나면 Die 애니메이션이 재생 되고
몽타주가 차례대로 재생 되는 모습
AI 가 잘 따라 올 수 있도록 네비게이션 시스템을 넣어주도록하겠다.
TPSProject.Build에서 AddRange에 두가지를 추가하겠다.
"NavigationSystem", "AIModule" 를 추가해줘야 사용 할 수 있다.
AIController를 선언해주고
사용할 수 있도록 BeginPlayer에 AIController를 할당해준다.
이제 블루프린트 에디터로 돌아가서 Place Actors에 Nav Mesh Bounds Volume을 검색한다.
월드에 Nav Mesh Bounds Volume을 배치해 준다.
월드에 올리고 P를 눌러주면 AI가 지나 갈 수 있는 길을 초록색으로 표시해주는 모습을 볼 수 있다.
플레이를 해보면 직선으로 플레이어를 따라 오던 모습과 다르게
막힌 길을 피해 플레이어를 향해 다가오는 모습이 보인다.
맵이 커지면 네비 메시를 받는 메모리 용량이 커질 수 있기 때문에 필요한 부분에 의해서만
처리할 수 있도록 설정 해주면 된다. 정해진 영역 만큼만 계산을 하여서 하는 것이 계산량이 더 적기 때문에
상황에 사용해준다.
네비게이션 인보커
Tile Generation Radius :생성하는 영역 범위 만큼 설정
Tile Removal Radius 일정 영역을 넘어가면 삭제하는 것
영역을 설정해주고 레벨을 보면 허용되는 영역을 볼 수 있다.
패트롤 기능 순찰기능을 넣어 보도록 하겠다.
// centerLocation 어딜기준으로 얼마만큼의 범위를 가져올 것 인지 , 랜덤 포즈를 데스트에 넣고 값을 거기에서 가져올거임
타겟쪽으로 이동 할 수 있는 지 없는 지 타겟으로 갈지 패트롤을 할지
MoveState에 추가해준다.
auto ns = UNavigationSystemV1::GetNavigationSystem(GetWorld());
현재 내 영역에서 목적지가 포함이 되는 지
이제 에디터를 들어가서 확인해보면 혼자 돌아다니다가 플레이어를 보고 따라오는 모습과 멀어지니까 다시 혼자 돌아다니는 모습을 볼 수 있다.
길 찾기 기능 정지 추가
추가
길 찾기 정지를 하지 않으면 맞는 동안 데미지 주는 동안 따라 올 수 있기 때문에 정지를 해주어야한다.
'새싹 TPS 게임 만들기' 카테고리의 다른 글
TPS 게임 만들기_ (0) | 2025.02.19 |
---|---|
TPS 게임 만들기 (0) | 2025.02.14 |
TPS 게임 만들기_ (0) | 2025.02.13 |
TPS 게임 만들기_Anim (0) | 2025.02.12 |
TPS 게임 만들기 _Animation (0) | 2025.02.11 |