지난주에 하던 Game Animation Sample을 이용한 애니메이션 모션 구성 파악을 하던 중 한 가지 난관에 봉착했다. 당연한 얘기겠지만 GAS는 블루프린트로만 구성된 게 아닌 c++을 이용한 코딩도 포함되어 있다는 것이다. 그렇기에 하나하나 노드를 뜯어보면서 이해하기에는 c++내용을 모르면 어떻게 생겨먹은 노드인지도 파악하기 힘들다는 것이고 나는 자랑은 아니지만 c++에 대해서 아는 게 없다! 본캠프 과정 3주 차에서부터 c++의 기초부터 하나하나 배워갈 예정이기에 잠시 GAS 씹고 뜯기는 미뤄두고 내가 해볼 수 있는 일부터 하는 게 맞다고 생각이 들어 주제를 한번 바꿔보자
MMORPG를 하다보면 자연스럽게 자신의 캐릭터에 애착이 생기게 마련이고 여러 구도로 내 캐릭터를 보고 싶어지는 마음이 드는 것은 필연이다. 그러한 유저의 니즈를 개발자도 당연히 알고 있기에 실제 게임에서는 다양한 카메라 각도로 캐릭터를 볼 수 있게끔 줌 인, 줌 아웃 등의 기능이 포함되어 있다. GAS에도 이러한 기능이 존재하지만 첫 번째, 부드럽게 줌 인, 아웃이 되는 게 아닌 정해진 길이만큼만 스위치 되듯 변한다는 점이 있고 두 번째, 연습용 프로젝트로 마이그레이션 하면서 기존 Thirds person 프로젝트와 충돌이 있는 건지 막상 줌 인, 줌 아웃이 안된다는 점이다. 그렇기에 해당 부분을 수정해 보도록 하자.

far, balanced, close의 형식으로 정해진 길이만큼 바뀌게 되어있고, 바뀔때 마다 소리와 String이 출력되도록 되어있는 것을 볼 수 있다. 필요 없으니 과감하게 지워주도록 하자

자 이제 동작을 생각해보자 내가 휠을 다운한다면 카메라는 멀어져야 하고 휠을 업한다면 카메라는 가까워져야 할 것이다. 그러면 휠 다운 동작 1번당 특정 값만큼 기존 Target Arm Length에 더해지도록 하면 되지 않을까? add를 써보도록 하자


근데 여기서 하나 짚고 넘어가야하는게 있다. 최소, 최대 값을 정해두지 않았기에 최대로 줌을 당긴다면 캐릭터 안으로 들어가고, 최대로 줌 아웃을 한다면 아예 지구가 보인다. 그렇기에 최대, 최소를 정해주도록 Clamp 노드를 쓰도록 하자

이렇게 휠 조작으로 쉽게 줌 인, 줌 아웃을 구현해 보았다. 카메라를 다룬김에 다른 것도 구현해 보도록 하자 펄어비스의 MMORPG인 검은 사막에는 특별한 기능이 존재한다 그것은 바로 줌 인을 통해서 캐릭터의 얼굴을 확대하면 특정 구간에서 캐릭터가 카메라를 쳐다보는 기능이 존재한다.

이 기능도 구현할 수 있을까? 한번 도전해보자
'unreal 5기' 카테고리의 다른 글
| 250813 언리얼엔진 본캠프 8일차 C언어를 배워보자 (2) (7) | 2025.08.13 |
|---|---|
| 250812 언리얼엔진 본캠프 7일차 C언어를 배워보자 (5) | 2025.08.12 |
| 250808 언리얼엔진 본캠프 5일차 TIL 캐릭터 애니메이션을 적용해보자 with Game Animation Sample (2) (4) | 2025.08.08 |
| 250807 언리얼엔진 본캠프 4일차 TIL 캐릭터 애니메이션을 적용해보자 with Game Animation Sample (1) (6) | 2025.08.07 |
| 250806 언리얼엔진 본캠프 3일차 TIL 과제 - 텍스트기반 슈팅게임을 만들어보자 (3) | 2025.08.06 |