유니티 초보일기
2D로만 앱을 만들다가 3D로도 앱을 제작해 보고싶어서 유니티에 대해서 공부하고 있다. 유니티에 들어가기 전에 사전에 준비해야 것들이나 알아야 할 것에 대해서 적어본다.
먼저 유니티는 C#, 자바스크립트, 그리고 BOO 스크립트라는 언어를 쓰므로 이 중 한가지 언어를 알고 있어야 하는데 C#을 제일많이 사용하므로 미리 C#에 대해서 공부해 두고 있어야 한다.
그리고 그림편집 프로그램으로 포토샵, 그리고 3D 모델작업을 위해서는 3D Max에 대해서 알고 있어야 한다.
유니티 작업을 위해서 알아야 하는 것들은 대충 이 정도이고 실제로 유니티를 쓰게 되면 부딪히게 되는 문제들이 많으므로 실전을 통해서 익히는 수밖에 없다.
유니티는 일종의 게임엔진인데 수많은 게임엔진중에서 가장 쉬운 엔진으로 평가받고 있다. 먼저 게임엔진의 종류에 대해서 알아보도록 하자.
첫째는 언리얼 엔진이다. 이것은 게임엔진의 지존이라는 평가를 받는 프로그램으로 리니지2, 블레이드엔 소울 그리고 테라등이 이 언리얼 엔진으로 만들어 졌다.
두번째는 크라이 엔진이라는 프로그램이다. 이 크라이 엔진은 배경화면이 가장 좋은 엔진으로 평가 받는다. 배경이 사진인지 그림인지 구분하기 힘들 정도이다. 아이온이 바로 크라이 엔진으로 만든 게임이다.
세번째로 소개할 엔진은 겜브리오 엔진이다. 우리나라 업체에서 많이 사용하는 엔진으로 월드오브워 크레프트가 바로 이 엔진으로 만든 게임이다.
네번째는 유니티 엔진인데 가장 쉽고 최근 인기가 급 상승중인 게임엔진이다. 배틀하트, 삼국지를 품다 등의 게임이 유니티로 만들어 졌다.
몇년 전만 해도 이런 게임엔진들의 가격이 수백만원 부터 심하게는 수억원에 이르기 때문에 개인이 이런 게임엔진을 쓴다는 것은 상상하기 어려운 일이었다. 그러나 지금은 년 10만 달러 이하의 매출을 올리는 기업이나 개인들에게는 무료로 이 엔진을 배포하기 때문에 누구나 이 엔진들을 사용할 수 있다. 덕분에 나도 이렇게 게임엔진이라는 것을 사용할 수 있게 되었다. 또한 Asset Store에서 게임캐릭터들을 쉽게 사고 팔 수 있고 무료 아이템들도 많기 때문에 초보자나 개인개발자도 손쉽게 게임을 개발할 수 있다.
그럼 유니티의 특징을 간략하게 정리해 보겠다.
1. 정교한 에디터와 뛰어난 워크프로우
유니티는 통합 개발환경을 제공하고 하고 있으며 전세계 게임개발자의 절반 가량이 유니티로 게임을 개발 하고 있는 것으로 추정된다.
유니티가 이렇게 전세계 개발자들의 사랑을 받는 이유는 사용하기 쉬우면서도 매우 정교한 에디터를 개발환경내에 구비하고 있기 때문이다. 또한 프로그래머 뿐만아니라 디자이너도 캐릭터의 움직임 설정과 이미지 레이아웃 등의 작업에서 유니티를 사용할 수 있고 기획자도 유니티를 이용해서 전체적인 설정을 설계할 수 있다. 따라서 기존과는 완전히 다른 워크 플로우로 개발시간을 절약할 수 있다. 기획자 디자이너, 프로그래머가 짧은 시간내에 의사소통과 조정을 거칠 수 있어 개발자는 세밀한 개발 작업과 버그 수정 작업에 더 많은 시간을 쏟을 수 있다.
2. 캐릭터의 소재와 플러그인이 갖추어진 에셋 스토어
유니티가 운영하는 에셋스토어에서는 개인이나 기업에서 만든 캐릭터와 그림 소재등을 저렴한 가격에 구매하거나 무료로 사용할 수 있다. 따라서 개인개발자도 비주얼이 뛰어난 게임 개발이 가능하다.
3. 폭넓은 멀티 플레폼 대응
유니티에서 개발한 코드와 콘텐츠로 애플, 안드로이드, 플레쉬, 웹플레이어, 닌텐도, PS3, Xbox 등등 20여개 이상의 플레폼에 사용할 수 있다. 현재와 같이 하루가 멀다하고 새로운 게임이 출시되는 이런 상황에서 멀티 플레폼이라는 특징은 개발 비용과 관리비용을 크게 줄일 수 있고 개발 초기에는 계획하지 않았던 비즈니스 기회도 제공해 줄 것이다.
게임 개발 전문가도 사용하는 이 유니티라는 엔진은 고급스러운 처리와 표현도 가능하지만, 다른 한편으로는 누구나 쉽게 게임을 만들 수 있게 해 준다. 유니티에서 제공하는 고급 에디터를 사용함으로써 복잡한 내부 로직을 거의 의식하지 않고, 다양한 기능을 사용할 수 있기 때문이다. 개발한 게임은 누구나 자유롭게 마켓에 게시할 수 있다. 유니티는 우리 가슴속 깊이 잠들어 있는 게임에 대한 아이디어를 실현해 줄 수 있는 아주 뛰어난 도구다. 어려운 여타의 게임엔진과는 다르게 아주 짧은 시간에 멋진 게임을 만들 수 있도록 해준다. 가장 쉬운 프로그램이라 해도 또 그렇게 만만하게 볼 프로그램은 아니며 실제로 거대한 엔진이기도 하다. 눈에 보이는 겉모습만 쉽게 보일 뿐이다. 게임개발이라는 것은
그렇게 빨리 마스터 할 수 있는 것은 아니다. 수많은 시행착오와 길고긴 버그 수정의 시간이 필요한 것은 마찬가지다.