본문 바로가기

게임 프로그래밍/유니티

(2)
Asset Bundle 사용해보기 유니티 공식 메뉴얼 에 있는 에셋 번들에 대한 설명 사진이다. 리소스를 에셋 번들이라는 이름으로 묶어서 외부로 뺄 수 있는 기능으로 특히나 모바일 게임에서 apk 자체의 용량을 줄이기 위해 매우 유용하게 사용된다. 데스크탑의 경우에도 예외는 아니며 버그 조금 수정했다고 전체 게임을 다시 받게 할 수는 없는 노릇이기에 이미지, 사운드, 모델 등으로 분류를 해서 번들로 관리를 한다면 필요한 리소스들만 버전 체크로 업데이트해서 유저, 개발자 서로 편할 수 있다. 또한 DownLoadable Content 와 같은 기능을 구현할 때도 매우 유용하게 사용할 수 있다. 이제 이 좋은 기능을 한번 사용해보자. 우선 에셋 번들을 에셋에 설정하는 법은 간단하다. 옆 사진과 같이 인스펙터 하단의 AssetBundle 에서..
시간 제어에 대한 간단한 테스트 최근 스팀에서 청강문화사업대학교의 졸업 작품인 여명이라는 게임을 알게 되었다. 주인공이 시간을 조종해서 회피기나 시간 역행, 일정 범위 시간을 멈추는 기술을 사용하는 TPS 게임으로 대학생들이 직접 더빙까지 하여 꽤나 좋은 퀄리티를 보여준다. 아무튼 이 게임은 유니티로 개발되었는데 유니티에는 각 객체의 시간을 별도로 제어하는 기능이 없다. 시간에 관련된 건 Time 클래스에 있는데 timeScale 값을 변경하게 되면 게임의 전체적인 속도에 영향이 가므로 특정 객체를 제어하기엔 부적절하다. 이전에 붕괴3 에서도 비슷한 걸 본 기억이 있는데 (아마도) 생각난 김에 간단하게 한번 구현해보려 한다. public abstract class AreaTimeMonoBehaviour : MonoBehaviour { ..