초보 코린이의 성장 일지

UE4 Magazine, Reloa 본문

언리얼

UE4 Magazine, Reloa

코오린이 2023. 3. 28. 14:57

장전 몽타주는 넣어줬기 때문에 잘 나오고 있지만, 장전시 탄창이 갈아지진 않는다. 

탄창도 갈게되고, 자연스러운 동작이 나오도록 구현해 볼 것이다.

 

1. 사용할 장전 노티파이를 생성해준다.

 

CWeapon.h
CWeapon.cpp
CWeaponComponent.h
CWeaponComponent.cpp

1. 각 Enum대한 동작을 위한 함수 생성, 부모인 Weapon에서 선언 후 컴포넌트에서도 생성.

2. WeaponComponent에서 체크 후 함수 실행.

CAnimNotify_Reload.h
CAnimNotify_Reload.cpp

1. Enum에 각 상황에 대한 행동을 실행 시킨다.

1. 4가지 동작에 대한 Enum 노티파이를 4개 추가해준다.

2. 순서대로, 탄창을 잡고 빼는 동작 (Eject) -> 뒤로 손이가서 탄창을 쥐는 동작 (Spawn) -> 탄창을 끼워 넣는 동작 (Load) 

-> 장착이 끝나고 다시 총을 잡는 자세 (End)가 된다.

3. 그럼 이제 장전이 끝이나고 재장전시 탄이 다시 새걸로 교체되면서 총알수와 모션 동작이 자연스럽게 연출된다.

 


1. 하지만 동작이 될뿐 탄창이 직접적으로 보이진 않는다. 아직 추가를 해준게 아니기 때문에 탄이 없는 탄창, 탄이 들어있는 탄창 2개를 사용하여 원하는 지점에서 Spawn 시킬 것이다.

 

1. 탄창을 다룰 클래스를 하나 생성해준다.

 

CMagazine.h
CMagazine.cpp

1. 탄창을 2가지 만들어준다. 탄창이 꽉차 있는것, 비어져있는 탄창

2. 특정한 상황에서 보여주고, 숨기고 해줄 것이다. 물리를 추가해서 탄창을 갈때 자연스럽게 아래로 떨어지는 연출을 만들것이다.

3. 주석친 채널은 좀 있다 생성 후 다시 풀어줄 것이다.

3. 이걸 가능하게 하는 방법은 뒤에 설명을 할 것이다. 이 방법이 BP에서는 없지만 C++에서는 있는 BeginPlay가 세팅되기전에 먼저 세팅을 하게 되는 방법이다.

1. 블루프린트 클래스로 생성해준다.

2. 탄창 2가지다 생성된걸 확인할 수 있다.

 

1. 우리가 숨기게 될 부분은 탄창이다.

2. 아까 위에 언급한 BeginPlay이전에 세팅을 하여 숨기게 되는 방법을 사용하면, 내가 입력한 소켓 아래 하위 전부는 다 숨겨진다. 그 숨겨진 하위들을 따로 키거나 다른 방식으로 다룰수 없이 무조건 숨기게 된다.

 

CWeapon.h

 

CWeapon.h
CWeapon.cpp
CWeapon.cpp
CWeapon_AR4.cpp

1. 탄창을 갈때 숨기고 갈아진 탄을 떨어뜨린다 -> 탄창을 소멸 시키고 -> 뒤에 손가는 동작이 나올때 탄창을 생성 -> 설정한 Bone에 다시 생성되도록

2. BeginPlay이전에 미리 생성을 통한 접근 방식

3. 숨겨줄 부위를 전체적으로 한번에 숨길수 있다.

언리얼 액터 수명 주기

SpawnActor = 생성 

PostSpawnInitialize = Spawn이 초기화된 이 후 콜 

PostActorCreated =  Actor이 만들어진 후 콜

ExecuteConstruction = Level에서 Spawn, BeginPlay전에 생성 

OnConstruction = 위에서 콜된게 이 부분에서 생성된다.

결론 적으로 BeginPlay가 실행되기 전에 구간 사이를 사용자가 조절 할 수 있다.

 

1. 채널을 추가해 탄창이 바닥에 떨어졌을때 충돌 판정을 해준다.

2. 충돌을 다 꺼버리게되면 탄창이 떨어지면서 바닥을 관통하게 될 것이다.

 

1. 위에서는 주석으로 처리했으나, 채널을 만들어줬으므로, 다시 주석을 제거해준다.

2. 채널 설정한 이름 "Magazine"를 설정해준다.

3. 이제 충돌이 끝이난다.

 


1. 캐릭터 등뒤에 백팩을 만들어서 장착 시킬 것이다.

2. 재료가 없으므로, 사이트를 통해 들어가 백팩과 머터리얼들을 임포트해서 가져온다.

3. 머터리얼이 빠져서 들어왔으므로, 머터리얼 생성을 통해 직접 알맞은 위치에 넣어준다.

 

1. 색상 및 음영 처리 굴곡 등등 처리를 해주고 나니 백팩다운 모습이 만들어졌다.

 

https://www.youtube.com/watch?v=95sMclP6oXY 

 

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

UE4 FPS AK47, DotSight  (0) 2023.03.30
UE4 Miaxmo, AK47  (0) 2023.03.29
UE4 Weapon CrossHair, Reload  (0) 2023.03.27
UE4 TPS Weapon AutoFire, Widget  (0) 2023.03.24
UE4 TPS Weapon Fire, Sound, Widget  (0) 2023.03.22
Comments