초보 코린이의 성장 일지

UE4 TPS Weapon, AnimNotifyState 본문

언리얼

UE4 TPS Weapon, AnimNotifyState

코오린이 2023. 3. 17. 16:40

우선 무기를 들고 해제하는 동작부터 진행을 할 것이다.

 

CWeapon.h
CWeapon_AR4.cpp

1. 부모 Weapon에서 몽타주, 소켓 정의

2. 실행할 무기로가서 값과 애니메이션 동작 넣어준다.

 

CWeapon.h
CWeapon.cpp

1. 위에 정의해준 몽타주와 Rate를 넣어주고, 조건 체크를 해준다.

2. if로 조건을 계속 줄줄이 쓰는 방법보다 효율 적으로 사용할 수 있는 방법이 위에 있다.

3. 실행을 해보면 총을 뽑는 몽타주가 실행될 것이다.

1. 이제 수행을 조건을 위한 노티파이를 생성해 준다.

 

CWeaponComponent.h
CWeaponComponent.cpp

1. 컴포넌트에 장착, 해제를 동작 전달을 위해 만들어준다.

 

UAnimNotifyState
CAnimNotifyState_Equip.h
CAnimNotifyState_Equip.cpp

1. CAnimNotifyState_Equip이 UAnimNotifyState를 받고 있으므로, 안에 있는 정의를 사용해야 하므로, 재정의해서 사용하기 위해 가져와서 재정의해준다.

2. 노티파이에서 Begin, End를 정의해준다.

1. 이제 몽타주로가서 노티파이를 알맞게 배치해준다.

2. 소켓 오른쪽 손에 소켓 추가를해주고, 이름을 설정

3. 알맞은 위치에 맞도록 디테일 위치 설정해준다.

CWeapon.h
CWeapon.cpp

1. 이제 위에 추가해놓은 소켓을 손으로 장착을 시켜주기 위한 소켓 설정

CWeapon.cpp
CHelpers.h
수정 후

1. 어딘가 붙일때 이렇게 길게 붙이기에는 앞으로 진행할때 불편함이 생긴다. 그래서 템플릿으로 정의해서 사용해 보겠다.

2. 템플릿 생성후, 사용해서 선언하니 훨씬 간편해졌다. 아래 주석처리된 부분이 변경되었다.

CWeapon.cpp

1. 이제 몽타주와 소켓까지 다 설정을 해놓았으니 이제 동작에서 알맞게 동작하도록 코드를 작성해준다.

2. 2개의 소켓에 Euqip와 UnEquip가 되도록 만들어줬다.

1. 이제 장착, 해제가 된다.

 


 

이제 조준을 만들어 볼 것이다

 

CWeapon.h
CWeapon.h
CWeapon.cpp

1. 이제 조준을 위한 카메라와, 알맞은 팔위치가 필요하다

2. 구조체를 선언하여 직렬화 후, BP에서도 사용할 수 있도록 만들어 주기 위한 작업이다.

CWeapon_AR4.cpp

1. Cweapon에서 선언해 놓은 변수 가져와서 세팅

Cweapon.h
Cweapon.cpp

1. CWeapon_AR4.cpp에  세팅해놓은 값이 들어올 자리이다.

CWeapon.h

1. 이제 에임 실행을 위해 3가지 함수를 정의해준다.

CWeaponComponent.h
CWeaponComponent.cpp

1. Begin_Aim, End_Aim 두가지는 결국 Weapon에서 명령을 내려 Component에서 또 내려주기 때문에 똑같이 가져와서 선언해줘야 한다.

2. 체크 후 가져와서 실행.

 

CPlayer.cpp

1. 이제 플레이어가 사용할 수 있도록 세팅.

CWeapon.h

1. 알맞은 조건때만 실행하도록 만들어준다.

 

1. 에임 조준이 가능해졌다. 하지만 부드럽게 움직이는게 아니기 때문에 커브를 사용하여 부드럽게 만들어 줄 것이다.

 

1. 20초부터 200을 곱해서 0.1로 천천히 진행되도록 설정해 줄 것이다.

2. 이 커브는 공통으로 총기 전부한테 사용할 것이다.

 

CWeapon.h
CWeapon.cpp

1. Curve와 보간을 해줄 TimeLine 선언.

2. 둘다 생성해준다.

 

CWeapon.h
CWeapon.cpp
CWeapon.cpp

1. 커브 수치를 설정해주고, 이벤트로 에임에 대한 행동을 수행해 줄 것이다.

CWeapon.h
CWeapon.cpp

1. 커브에 설정해 놓은 값 0 ~ 1까지를 넣어주고, 그다음 설정해준 20 ~ 0까지 200배한 값을 넣어줌으로써 보간을 끝내준다.

 

https://www.youtube.com/watch?v=JidQ00cGPlY

'언리얼' 카테고리의 다른 글

UE4 TPS Weapon Fire, Sound, Widget  (0) 2023.03.22
UE4 TPS Weapon IK, Fire  (0) 2023.03.22
UE4 TPS Weapon  (0) 2023.03.16
UE4 MultiTrace, TPS 세팅  (0) 2023.03.15
UE4 Collision (Override), Trigger  (0) 2023.03.14
Comments