ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개발일지] 벽돌깨기 레트로 (가제) - 003 벽돌 체력, 외형 변화
    Develop/Games 2020. 3. 28. 00:44

    개요

    벽돌의 체력은 1에서 많게는 몇 천까지도 부여하기도 하죠.

    그만큼 공의 개수도 늘려서 게임 플레이를 하지만요.

    그런데 벽돌의 체력을 표기하지 않으면, 도대체 벽돌이 언제 깨지는건지, 깨지기는 하는건지

    전혀 알 수가 없죠.

    이번 작업은 벽돌의 체력을 숫자로 표기하고, 체력에 따라 벽돌의 상태를 변형할 거예요.

    벽돌 체력

    벽돌의 체력은 벽돌의 중앙에 숫자로 표기했어요.

    유니티에서 텍스트를 게임 오브젝트로 생성하려면 텍스트 메쉬(Text Mesh)를 이용하는데요.

    작은 사이즈의 이미지로 이루어진 이번 게임에는 어울리지 않았어요.

    그리고 숫자만 사용할 거라 폰트의 크기도 클 필요가 없었죠.

     

    그래서 숫자 폰트를 직접 이미지로 제작하고, Sprite로 변환하여 출력하는 기능을 만들기로 결정하고 스크립팅을 시작했어요. 그리고 결과물은 바로~

     

    폰트를 스프라이트로 변환하는 툴

    만들어둔 스크립트로 새로운 폰트를 생성하고, 폰트의 이름과 폰트 소스 이미지, 글자의 높이, 공백의 넓이, 그리고 가장 중요한 소스 이미지 상의 글자 좌표 정보를 입력해서 글자를 잘라올 수 있도록 만들었어요.

     

    숫자, 영문까지는 위 기능으로 사용이 가능할 듯한데 한글은 조합형이라 경우의 수가 너무 많고, 한자는 그냥 많아서 이럴 경우는 그냥 텍스트 메쉬를 이용하는 것이 더 나을 듯 해요.

     

    이 작은 숫자 이미지가 벽돌에 사용되는 숫자 폰트 입니다.

    높이가 겨우 8px 이에요.

     

    폰트 관리툴

    만들어진 폰트는 폰트 관리툴을 만들어서 보관했습니다.

    벽돌 관리툴과 동일한 기능을 가지고 있어요.

     

    폰트 출력을 위한 스크립트

    폰트를 만들었으니 사용을 해야겠죠?

    폰트 이름과 텍스트를 입력하면, 스프라이트 렌더러로 출력하는 스크립트를 제작했습니다.

    폰트 관리툴에서 폰트 이름을 이용하여 폰트를 가져와서 폰트에서 텍스트를 스프라이트로 변환해주면 렌더러를 이용하여 출력하는 기능을 하도록 만들었어요.

     

    폰트 적용 후 실행

    지난번에 만든 맵을 불러왔습니다.

    벽돌에 체력이 정상적으로 잘 표기됩니다.

    성공~!

    체력에 따른 벽돌 이미지 변경

    벽돌의 체력이 줄어들때 이미지를 변경해주면, 시각적으로 더 보기 좋을 것 같아서 작업을 시작했어요.

    이전에 제작했던 벽돌깨기에도 적용이 되었던 기능이기도 하구요.

    무한벽돌깨기는 부숴진 모양, 캐논 벽돌깨기는 색상의 변화를 넣었어요.

    이번 벽돌깨기는 색상이 단순해서, 색상의 변화는 표현할 수 없어서 부숴진 모양으로 작업하기로 했어요.

     

    벽돌 이미지를 5단계로 표현 했어요.

    벽돌의 전체 체력의 20% 마다 이미지가 변경되고, 체력이 0이되면 사라져요.

     

    체력 숫자와 벽돌 이미지가 함께 적용된 화면이예요.

    깨진 벽돌 때문에 숫자가 잘 보이지 않아 폰트에 흰색 테두리를 추가했어요.

    이제 벽돌이 공에 타격 될 때의 이펙트를 추가하면 타격감도 늘어나고 게임의 퀄리티도 올라가겠죠?

    마치며

    벽돌의 종류는 위의 이미지 처럼 네모 벽돌, 그리고 앞으로 추가될 삼각형 벽돌, 부술수 없는 벽돌이 될 것 같아요.

    아직 이미지 작업이 완료되지 않아서 추가하진 않았지만, 벽돌이 다양해지면 더 재밌어지겠죠?

    벽돌 외에도 게임을 방해하는 요소도 곧 작업할 예정인만큼 재밌는 게임으로 발전했으면 좋겠네요.

    그럼 전 다음 작업이 완료되면 또 찾아올게요~

    댓글 0