초보 코린이의 성장 일지

UE4 FPS AK47, DotSight 본문

언리얼

UE4 FPS AK47, DotSight

코오린이 2023. 3. 30. 16:23

AK47를 사용할때 1인칭 모드로 전환해서 발사할 수 있도록 Mesh 하나 더 추가해서 만들어 볼 것이다.

또 한 도트사이트를 달아서 조준이 가능하도록 미리 세팅해볼 것이다.

 

1. 쓰일 재료가 필요하므로, 템플릿을 이용할 것이다.

2. 추가/임포트 -> 피처 또는 콘텐츠 팩 추가 -> 일인칭으로 만들어준다.

3. 제일 중요한건 팔만 있는 Mesh가 필요하다. 이주해서 가져와 준다.


 

CPlayer.h
CPlayer.cpp
CPlayer.cpp

1. Arms Mesh를 붙여주기 위해 생성.

2. 카메라 바로 앞에 붙여줘야 1인칭 모드처럼 보이게 할 수 있기 때문에 붙여줄 위치는 Camera.

3. 수치들을 조절해준다.

1. 붙여서 생성해 놓은 상태

2. 이제 애니메이션을 사용해서 자연스레 동작속에서 회전을 시켜줄 것이다.

1. 애니메이션 블루프린트에 사용할 에임 애니메이션을 생성해준다.

CAnimInstance_Arms.h
CAnimInstance_Arms.cpp

1. 오버라이드해서 부모 함수 사용.

2. 총을 잡는 동작은 동일하므로, 가져와서 붙여준다.

 

1. 원래 기존에것을 사용할 수도 있지만, 현재 1인칭을 구현하는데 있어서는 다른 Mesh가 필요하기 때문에 새로 만들어서 사용해야한다.

2. 애니메이션이 편집이 된 상태로 가져온 것이기 때문에, 연결만 해주면 회전해서 자연스럽게 동작이 나오는걸 알 수 있다.

CPlayer.cpp

1. 만들어준 애니메이션 블루프린트 넣어준다.

1. 컴파일해서 보면 정확한 위치에 들어가있는걸 볼 수 있다.


1. 도트를 달아주기 위해 소켓을 Root에 하나 생성해준다.

2. 알맞은 위치로 도트 수치를 설정해준다.

1. AK47사용시 1인칭 도트모드로 전환하게되면, 백팩은 숨겨야하고, 팔은 보여야한다 또한 Mesh도 숨겨져야하므로 리턴함수를 만들어 준다.

 

1. 가져온 1인칭 Mesh를 소켓을 추가해서 따로 조절을 해줘야한다.

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

1. 지금까지한걸 실행해본다면, 1인칭으로 잘 바뀌는것은 볼 수 있으나, 그전에 만들어 놓은 다른 총인 AR4가 옆에 나오게된다. 이걸 숨겨줘야하는데 하위에 상속 객체가 부모에 접근하여 명령을 만들어내는 행위는 커플링으로 하면 안된다.

2. 그래서 델리게이션 이벤트를 생성해 변수로 받아 넘겨서 소유하고 있는게 아닌 기능만 가져와서 무기를 숨겨줄 것이다.

 

CWeapon.h
CWeapon_AK47.h
CWeapon_AK47.cpp

1. 부모에 함수를 사요해야 하므로, 가상으로 만들어서 가져와준다.

2. 델리게이션으로 만들어 놓은 이벤트들 받아서 연결

3. 숨길때는 숨기고, 보여줄 때는 보여주게 선언.

 

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

 

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

UE4 FPS IK, Pistol  (0) 2023.04.01
UE4 FPS Pistol  (0) 2023.03.31
UE4 Miaxmo, AK47  (0) 2023.03.29
UE4 Magazine, Reloa  (0) 2023.03.28
UE4 Weapon CrossHair, Reload  (0) 2023.03.27
Comments