기사 메일전송
게임엔진을 넘어 건축, 3D 모션까지 영역 확장 중인 유니티
  • 박명오 차장
  • 등록 2021-03-29 16:17:21

기사수정

모발일 게임 기업 컴투스 야구게임의 모션 캡쳐의 예 

[사람과뉴스 = 박명오 기자] 요사이 메타버스라는 용어가 급부상하고, 메타버스의 수혜주라고도 하는 유니티 또한 키워드로 급부상하는 것을 볼 수 있다. 이렇게 급부상하고 있는 유니티에 대해서 알아보고자 한다. 그리고 유니티를 써본 유저로써 사용한 후기(느낀 점) 또한 이어가 보겠다.

 유니티란 무엇인가? 유니티(Unity)는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진이자, 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작을 위한 통합 저작 도구이다.(위키피디아 인용) 즉 게임을 만드는 도구(게임엔진)다.

1. 게임엔진의 종류(유니티, 언리얼 엔진)

게임엔진의 종류는 다양해서 유니티 이외에도 언리얼 엔진, 코코스 2d, 크라이 엔진이 유명하다. 다른 엔진에 비하여 인지도가 높은 이유로 여러 가지 이유가 있겠지만, 사용자 층수가 많고, 입문하는데 어려움이 낮기 때문에, 초보자도 쉽게 자료를 구할 수 있는 메리트가 있는 한편, 기존의 PC 플랫폼과 아이폰 OS뿐만 아니라 안드로이드 같은 모바일 플랫폼, PS3, Xbox 360, Wii 같은 콘솔 게임기 등의 다양한 플랫폼으로 개발할 수 있고, 스마트폰의 대중화와 맞물려서 유니티 엔진으로 개발된 게임들이 늘어나는 것을 그 이유로 볼 수 있다.

2. 게임엔진이 쓰이는 부분(게임 개발 이외 웹, VR/AR)

 그럼 이 유니티로 할 수 있는 것들이 무엇이 있는지 알아보자. 우선 게임 제작으로서, 게임사 넥슨의 메이플 스토리가 대표적인 유니티로 만들어졌다.

유니티로 제작된 넥슨 메이플 스토리 

그 외에도 3D 시뮬레이션 등 다양한 분야로 이용, 교육, 의료, 교통, 건축, 우주, 환경, 국방, 등 다양한 분야에서 유니티가 사용될 수 있다.

 유니티(Unity Reflect)가 건축/엔지니어링/건설 부분에 적용되는 예시

4. 메타버스와의 관계성

 이러한 다양한 분야에, VR(가상현실)/AR(증강현실)/MR(혼합현실) 더불어 XR(확장 현실)이 응용된 디지털 세계를 하나로 연결하는 메타버스를 만들어 줄 도구가 즉 게임 엔진이 된다는 것이다.

메타버스의 예) bts 뮤직비디오 가상현실 공간에서 공개

 유니티를 1년간 사용해 본 결과

 유니티 사용 과정에 대한 다음 내용은 유니티를 써보고 어떠한 것이 필요로 하는지 기재한 것이다.


1. 초기 유니티 설치

 먼저 유니티를 설치함에 있어서 빠른 인터넷 환경에 놓여 있으면 어려움이 없는 것으로 알고 있다. 유니티로 인한 수입이 년간 10만 달러 이하인 경우, 특히 유니티를 배우려는 학생이나 일반인은 unity personal 버전을 설치할 수 있다.

2. 3D 디자인 관점에서 볼 때

 첫 번째로 오브젝트(객체) 작성에 있어, 유니티에서 자체적으로 간단한 오브젝트 객체를 작성할 수 있으나, 모델링 프로그램을 어느 정도 활용해야 되는 단점이 있다. 이 또한 유니티에서 자체 지원하는 에셋 스토어나 유/무료 모델링 등을 다운로드하여 사용할 수 있으나 자신이 생각하는 디자인이 있다고 한다면 모델링 프로그램(3ds-max, maya, blender 등)을 사용하는 것을 추천한다.

 두 번째로 디자인 영역의 연장선으로 객체에 적용되는 texture, material(재질감)을 표현하려면 포토샵 같은 2d 프로그램이 필수적으로 쓰이게 된다.

 세 번째로 애니메이션 역시 간단한 애니메이션(이동이나 회전)은 가능하나, 캐릭터의 동작을 구현하고 싶다면, 모션 캡쳐 장비 등으로 동작을 캡쳐(예 ; 야구 동작 모션 캡쳐)하여 실시간이나, 데이터로서 활용, 또는 캐릭터에 리깅(rigging)한 후, 대표적인 키 프레임 애니메이션으로 캐릭터 움직임을 (3ds-max, maya, blender 등)에서 모션 데이터를 작성 후에 유니티에서 모션을 구현하면 된다.

유니티에서 리깅(rigging)된 캐릭터의 예

3. 프로그램 언어 관점에서 볼 때

 다음으로는 3d 모델링 프로그램에서 만든 이런 캐릭터(오브젝트)들을 유니티에서 명령어를 통하여 움직이게 하는 프로그래밍 과정을 알아보고자 한다.

 java, python, c언어 등 많은 프로그램 언어 중 unity에서는 c#을 기반으로 한 스크립트 언어로 구현되고 있다. 기본적으로 작성한 c# 스크립트는 오브젝트에 적용,(예를 들어, 방향 키를 누르면 오브젝트(캐릭터)가 움직이게 하는 등) 하여 구현할 수 있다. 이렇게 c# 스크립트는 구현하고자 하는 여러 스크립트가 적용되면 게임이 유저의 요구에 맞게 수행할 수 있다. 프로그램언어 이외에도 물리 엔진(충돌 시뮬레이션) 적용을 필요로 한다.

c# 스크립트를 적용한 방향 키로 움직이는 큐브 오브젝트 예시

 결론적으로 유니티는 에셋 스토어 등에서 유/무료로 모델링 오브젝트를 시작으로 material, script 등 게임의 필요한 요소를 다운로드할 수 있고, tutorial 강좌 또한 인터넷에서 쉽게 구할 수 있는 접근의 용이성과 앞으로도 발전될 메타버스의 플랫폼과 같이 성장할 소프트웨어 분야로 평가받고 있다.

사람과뉴스 = 박명오 기자 = pnn8585@naver.com

0
  • 목록 바로가기
  • 인쇄


모바일 버전 바로가기