top of page

유니티 제작 3. 개와 고양이

  • 작성자 사진: 100 powerun
    100 powerun
  • 4월 14일
  • 1분 분량

다가오는 고양이에게 먹이를 던져주어 쫒아내고 생선 가게를 지키는 게임 입니다.


위 게임을 제작하며 흥미롭게 본 것들

  1. 체력바 생성

    그간의 체력바는 유니티 내에서 제공하는 슬라이더(Slider)를 이용하여 제작 하였습니다. 기본적인 기능들이 이미 충족이 되어 있었기 때문에 편리했지만, 일일히 사용 할 때 마다 기본 슬라이더에서 해제하고 없에야 할 것이 많았기도 했고, 이를 하나라도 놓치면 체력바를 스크롤 하여 움직여 게임 플레이에 방해가 되는 등 여러 문제점이 있었지만, 이곳에서는 단순히 UI이미지를 활용하여 체력바를 구현했습니다.

energy += 1.0f;
front.localScale = new Vector3(energy / full, 1.0f, 1.0f);

해당 코드 중 일부로 (현재 값 / 최대값)을 할 경우 UI의 길이가 체력바와 같이 동작하게 됩니다.

예시(1245 / 6215 = 0.2.... = 체력바는 20%가 남았음을 알려줌!)


이 이외에는 이미 이전에 알고있거나 영양가가 높지 않은 내용들 입니다.

이번 프로젝트의 중심은 하나의 객체가 여러가지의 형태로 나오는 것을 실습하는 것 이지만, switch-case문을 이용한 아주 간단한 데이터 처리를 거치게 됩니다.


예를들어 type이 1이면 일반 고양이, 2라면 뚱보 고양이, 3이라면 해적 고양이를 스폰 시키는데

해당 값들은 같은 변수를 이용하고 생성 시 switch-case를 이용해 다른 속도, 체력을 부여 받습니다.


그렇다면 다르게 생성할 수 있을까?

이전에 사용한 대표적인 방법으로는 스크립터블 오브젝트를 이용하는 방법이였습니다. 여러개의 데이터를 가지고 있다 생성된 객체에게 Instantiate를 이용해 데이터를 복사하여 붙여넣는 방식 입니다. switch-case가 하나의 데이터를 생성할 때 마다 여러곳에서 작업을 해야하는 것 과는 다르게, 스크립터블은 만들어 놓으면 큰 수정 없이 여러곳에서 사용할 수 있다는 것이 특징 입니다.


다만 스크립터블 자체를 수정할 경우 수정해야할 부분이 많아지긴 합니다.

최근 게시물

전체 보기
25.05.07

유니티 프로젝트를 진행하며 생긴 자잘한 문제들과 해결을 정리하였습니다. 처참한 TIL작성율 작업량이 길어짐에 따라 TIL의 작성률이 바닥을 길 정도로 떨어졌습니다. 프로젝트 제작이 중심이 되다보니 TIL이 우선순위에서 밀려나 작성을 못하는 날짜가...

 
 
 

Comentários


bottom of page