[Unreal] 23일차 - 애니메이션 몽타주, 소켓으로 총 고정, 카메라 셰이크 효과, 총 발사 사운드, 적 생성

2024. 8. 20. 00:15Unreal Engine

728x90
반응형

애니메이션 몽타주 계속

왜 이전 글에서 "spine_03"을 넣어서 몽타주의 기준을 정해주었는지 살펴보자.

상단 우측에 해골모양 Skeleton 정보 클릭

 

 

예상했던 것처럼 spine_03을 기준으로 위쪽은 Blend Poses 0, 아래쪽은 Base Pose가 적용되는 것이었다.

 

 


 

 

총이 캐릭터와 같이 움직이게 하기

소켓을 만들기 위해서, BP_Player에서 Mesh를 클릭한 상태로 우측에서 [Skeletal Mesh Asset]을 더블클릭한다.

 

 

hand_r에 마우스 우클릭해서 [Add Socket] 선택

 

 

참고로, 위쪽에 [Character] - [Bones] - [All Hierarchy] 하면 모든 리깅을 볼 수 있다.

 

 

다시 BP_Player로 돌아와서,

sniper1 총을 선택한 후 우측에 [Sockets]에서 hand_r Socket을 넣어준다.

 

 

총 위치를 다시 맞추기 위해서, Mesh 클릭하고 우측에 [Animations] - [Advanced] - [Pause Anims]를 체크한다.

 

 

sniper 총 위치 맞추기

 

 

유탄발사기 SK_FPSGun도 소켓 설정

 

 

SK_FPGun GrenadeGun 위치 수정

 

 

다시 Mesh에서 PauseAnim을 체크해제한 후 살펴본다.

달릴 때 쏘는 총이 조금 이상한 것을 볼 수 있다.

 

 

APB_Player에서,

[Layered blend per bone] 노드를 선택한 후 [Mesh Space Rotation Blend]를 체크한다.

 

 

아직 쏠 때만 총을 드는 것이 어색해보인다.

 

 

New_Fire_Rifle_Ironsight_Montage를 더블클릭해서 몽타주를 연다.

[Blend In] - [Blend Time]을 0.1에서 0.05로 줄이고, [Blend Out] - [Mode]를 Exponential In으로 수정한다.

 

 

이제 달리면서 연속으로 쏴도 어색하지 않게 되었다.

 

 


 

 

카메라 셰이크 효과

Blueprints 폴더에서 Blueprint Class를 하나 생성한다.

"camerashake" 검색한 후 CameraShakeBase 선택 후 생성

 

 

만든 블루프린트를 더블클릭하여 들어가면 우측에 [Camera Shake Pattern]이 이미 만들어져 있는 것을 볼 수 있다.

디테일 설정으로, Location은 사용하지 않을 것이므로 0으로 설정. Rotation 중 총 반동에 의한 위아래 회전 값인 Pitch 회전만 사용하므로 Yaw와 Roll은 0으로 설정했다. Timing은 알아서.

 

 

BP_Player의 EventGraph로 간다.

Fire 부분 초반에 [Start Camera Shake] 노드를 끼워넣고 [Get Player Camera Manager]를 [Target]에 연결한다. 컴파일하고 실행하면 총을 발사할 때마다 카메라가 흔들리는 것을 볼 수 있다.

 

 

*참고로 [Set View Target with Blend] 노드를 사용하면 특정 키를 눌렀을 때, 다른 블루프린트가 바라보는 뷰로 카메라가 자연스럽게 이동될 수 있다.

 

 


 

 

BP_CameraShake에서 [Root Shake Pattern]을 [Sequence Camera Shake Pattern]으로 바꾸면?

 

 

새로운 Camera Animation Sequence를 만들었다.

 

 

더블클릭하여 열고 Viewport 아래에 고정했다.

 

 

Transform 속성 값 추가해서 그 중 Pitch Rotation을 변경할 예정이다.

 

 

확대하여 짧은 시간에 회전 값을 변형시켜줄 것이다.

0에서 3까지 총 4개의 Pitch 키프레임을 넣었다. 1프레임 일 때는 2.0, 2프레임 일 때는 -1.0, 3프레임일 때는 다시 0으로.

 

 

카메라가 잘 흔들리는 것을 볼 수 있다.

 

 


 

 

총 사운드 넣기

 

 

BP_Player로 간다.

발사하는 노드쪽에 [Play Sound 2D] 노드를 추가하여 사운드도 넣었다.

 

 


 

 

적 만들기

Character로 블루프린트 클래스를 하나 생성한다. 이름은 BP_Enemy로 지었다.

 

 

Enemy 에셋 다운로드

 

lifeunreal5/자료실/3장/Enemy.zip at main · araxrlab/lifeunreal5

인생 언리얼 5 프로젝트 교과서 . Contribute to araxrlab/lifeunreal5 development by creating an account on GitHub.

github.com

 

 

압축 풀어서 Content 폴더 아래에 탐색기를 켜서 옮긴다. uasset 파일은 프로젝트에 드래그 앤 드랍이 아니고 탐색기에서 이동. 파일 이동 후 에디터 재시작

 

 

BP_Enemy를 열고 Mesh를 선택한 후 [Skeletal Mesh Asset]에 적 모델링을 넣는다.

 

 

Transform 값 설정

728x90
반응형