TIL(Today I Learned)

Unity 팀 프로젝트 : 카메라 줌 인/아웃, 플레이어 HP UI 만들기 - TIL#25

Najdorf 2024. 1. 26. 21:07
728x90

오늘의 개발 상황 요약

 

영상에서 확인 가능하듯이

카메라의 줌 인/ 줌 아웃을 값으로 조절할 수 있게 했고,

플레이어의 HP 값에 해당하는 방사형 게이지 UI를 중앙에 추가했다.

Player.cs에서 값을 가져와서 현재 플레이어의 HP를 나타내는 UI다.

 

줌 인/아웃의 원리는 어제 계산했던 3차원 좌표의 확장이다.

여기서 할당된 상수인 '10' 이라는 값은 기울기가 0일 때

최초의 카메라 위치의 z축 절대값이었다.

 

그래서 이 상수만 변수로 바꾸어 조절할 수 있게 하면,

자연스레 카메라의 줌 인/아웃이 구현되는 것이다.

 

 

 

추가로 구현을 맡은 Ranking이다.

원본 게임에서도 랭킹을 통해 자신과 다른 사람의 기록을 겨룰 수 있다.

RankingScene을 만들어 RankingManager를 통해 복사 가능한

Prefab인 'RankingIndex'를 만들어 순위를 처리한다.

 


구현에 있어 어려웠던 점

 

위에서 구현했던 기능 말고 추가로 구현하려고 시도했던 것은

배경음악의 BPM(Beats Per Minute, 분당 비트 수)에 맞춰

중앙에 있는 HP UI가 춤추도록 애니메이션을 추가하고자 했다.

 

애니메이션 자체는 추가하는게

단순히 transform.localScale 값을 늘렸다 줄이면 되기에,

그렇게 어렵다고 느끼진 않았지만,

 

BPM을 입력받아 이를 '비트 하나 당 시간' 으로 쪼개어,

(예컨대, BPM이 110이면 비트 하나 당 시간은 0.545 초이다.)

이를 조건에 맞춰 처리하는 것이 꽤 까다로웠다.

 

아직은 완벽히 구현을 하지는 못했지만,

빠른 시일 내에 구현을 할 수 있을 것으로 예상된다.

 


느낀 점

 

 

확실히 어제 카메라의 좌표계를 계산하고 나니

카메라 관련된 움직임은 구현하기가 쉬워졌다는 것을 체감했다.

 

그리고 팀끼리의 협업에서 팀장님이 고민하는 코드를

다 함께 해결하기 위해 생각해보는 시간을 갖기도 했다.

 

그런데 바로 보고 코드의 동작 원리를 알 수 있는 것은 아니라서

개인적으로 스크립트를 처음부터 차근차근 읽어봐야

제대로 이해를 하고 문제 파악을 할 수 있을 것 같았다.

 

 

개발 진행이 생각보다 순차적으로 속도감있게 완료되고 있었다.

이는 팀 프로젝트 첫날, 기획에만 오전 오후를 할애해서

시간을 공들인 보람이라고 생각한다.

 

게임 기획과 임무 분담이 체계적으로 이루어져 있으니,

중간에 본인이 맡은 일을 다 하고도

뭘 해야 할 지 몰라 손 놓고 헤매는 경우가 생기지 않았고,

바로 일 거리를 받아서 퍼즐 조각이 딱 끼워맞는 느낌이었다.

 

 

주말에는 코드 정리와 배경 음악 작곡에 몰두할 것 같다.

728x90