게임의 심장, 게임 엔진 - 언리얼 VS 유니티

게임의 심장, 게임 엔진 - 언리얼 VS 유니티

#UnrealEngine #Unity #GameEngine #GameDev #VFX

‘언리얼’ 그리고 ‘유니티’! 게임을 좋아하거나 게임 개발에 관심을 가져본 분들이라면 익숙한 이름일 텐데요, 바로 명실상부 게임 엔진계의 양대산맥으로 꼽히는 두 엔진입니다. 그런데 이 두 게임 엔진이 게임 바깥에도 점점 더 손을 뻗치고 있다는 사실도 알고 계시나요?

7월 마지막 주 <주간 인프런> 에서는 가장 인기있는 두 게임 엔진, 유니티(Unity)와 언리얼 엔진(Unreal Engine)에 어떤 차이가 있는지, 게임을 뛰어넘어 어떤 분야까지 활약하고 있는지를 소개합니다.

 

게임 엔진이 대체 뭐죠? 🕹️

▲ 게임 엔진은 게임을 개발하는 데 핵심적인 역할을 하죠.

▲ 게임 엔진은 게임을 개발하는 데 핵심적인 역할을 하죠. 

게임 엔진은 비디오 게임을 개발하는 데 필요한 구성 요소(그래픽 엔진, 오디오 엔진, 물리 엔진, UI 시스템 등) 를 제공하는 소프트웨어를 말해요. 게임에 필요한 장면을 구현하기 위해 매번 복잡한 계산을 거쳐 바닥부터 일일이 코딩해야 한다면 무척 힘들겠죠? 하지만 게임 엔진을 사용하면 이미 구성된 소스 코드를 상황에 따라 제어할 수 있어요.

즉, 게임 엔진은 게임 개발에 들어가는 시간과 비용을 절약하고, 복잡한 단계를 줄임으로써 프로젝트 효율을 높이는 역할을 해요. 보통 게임 개발사는 내부에서 자체 개발한 엔진을 사용하거나, 시중에 공개된 상용 엔진을 구매해 게임을 만들게 됩니다. 언리얼 엔진, 유니티, 코코스(Cocos), 크라이엔진(CRYENGINE) 등이 대표적인 상용 게임 엔진이죠. 그중에서도 언리얼 엔진과 유니티는 각각 게임 엔진 시장 점유율 1,2위를 차지하고 있어요.

 

 

언리얼 VS 유니티, 무엇이 좋은가요? 🧐

사실 언리얼 엔진이 좋은지, 유니티가 좋은지는 그렇게 간단하게 비교할 만한 문제는 아니에요. 게임을 개발하는 데 있어 두 엔진의 접근 방식이 다른 만큼 프로젝트의 성격이나 규모, 주어진 개발팀 구성에 따라 엔진 선택이 달라지기 때문이죠.

▲ 언리얼 엔진은 C++, 유니티는 C#을 스크립터 언어로 사용하고 있어요.

▲ 언리얼 엔진은 C++, 유니티는 C#을 스크립터 언어로 사용하고 있어요.

어디까지나 대략적인 특징만 비교해보면, 첫째로 쓰는 언어가 다릅니다. 언리얼 엔진은 C++, 유니티는 C#을 기본 스크립트 언어로 사용해요. 보통 C#이 C++에 비해 진입 장벽이 낮다고들 하죠. 때문에 막 게임 개발에 입문한 사람 입장에서는 유니티가 언리얼 엔진보다 비교적 다루기 쉬울 수 있어요. 반면, 언리얼 엔진은 직접 코딩을 하지 않아도 프로그래밍을 할 수 있는 블루프린트(Blueprint) 기능을 제공하기 때문에 코딩을 잘 모르는 디자이너라도 그래픽 작업에 필요한 테스트를 진행해볼 수 있다는 장점이 있죠.

▲ 왼쪽은 언리얼 엔진으로 만든 게임, 오른쪽은 유니티로 만든 게임이에요.

▲ 왼쪽은 언리얼 엔진으로 만든 게임, 오른쪽은 유니티로 만든 게임이에요.

작업의 복잡성과 편의성에도 차이가 있어요. 흔히 ‘인디 게임은 유니티, 대규모 3D 그래픽 게임은 언리얼’이라는 인식이 퍼져 있죠? 물론 유니티로도 일정 이상의 그래픽을 구현할 수 있고, 언리얼 엔진으로 인디 게임을 개발하는 경우도 부쩍 늘었어요. 하지만 유니티는 언리얼보다 상당히 가볍고, TV/웹/모바일 등 멀티플랫폼 지원에 특화되어 있으며, 초기 개발 환경 세팅이 복잡하지 않다는 장점이 있죠. 반대로 언리얼 엔진은 유니티와 달리 소스 코드를 100% 공개하고 있어 복잡한 프로그래밍으로의 확장성이 높고 유지보수에도 강하고요. 

실제로 유니티에 비해 본래 콘솔이나 PC 중심이었던 언리얼 엔진은 3D 모바일 게임이 주목받기 시작한 비교적 최근에서야 모바일 게임 개발을 지원하기 시작했습니다. 2D 게임, 인디 게임 등 제한된 자원으로 빠르게 개발을 진행해야 하는 소규모 프로젝트라면 유니티가, 고성능 대규모 프로젝트라면 언리얼 엔진이 유리하다고 볼 수 있어요.

 

 

렌더링 지옥은 이제 안녕! 게임 바깥의 게임 엔진 ⚙️

▲ 2018년, 언리얼 엔진은 실시간 레이 트레이싱을 구현한 데모 영상을 선보였습니다. 그로부터 현재까지 게임 엔진의 그래픽 성능은 비약적으로 발전해나가고 있죠. 이 영상은 2021년에 새롭게 출시될 언리얼 엔진 5의 테크 데모 영상입니다. ©Unreal Engine

이렇게 각자 개성과 장단점이 분명한 언리얼 엔진과 유니티지만, 두 엔진 모두 최근 들어서는 또다른 승부수를 내세우고 있습니다. 고성능 그래픽 기술이 요구되는 분야에서 게임 엔진이 새로운 도구로 주목받고 있기 때문이죠.

2010년대 후반부터 정밀한 빛 반사 효과를 표현할 수 있는 레이 트레이싱(Ray-Tracing) 기법이 본격적으로 게임에 도입되면서 엔진의 그래픽 성능이 폭발적으로 성장했어요. 이 기법은 예전부터 있었지만, 렌더링이 오래 걸리는 만큼 영화나 애니메이션에서만 제한적으로 활용돼 왔죠. 수십 년의 세월이 지나 등장한 실시간 레이 트레이싱 기법 덕에 게임 엔진은 CG 퀄리티 대비 필요한 시간과 비용을 절약할 수 있게 됩니다. 끝도 없이 기다려야 하는 렌더링의 늪에서 조금은 자유로워진 셈이죠.

더욱이 게임 엔진은 즉각적인 퍼포먼스를 구현하면서도 손쉽게 쓸 수 있게끔 진화해온 만큼 어떤 분야에서라도 탁월한 솔루션을 제공할 수 있다는 장점이 있어요. 실제로 영화, 애니메이션은 물론 VR/AR, 건축이나 자동차, 심지어는 의료나 군사 분야의 각종 시뮬레이터까지 언리얼 엔진과 유니티가 활용되고 있어요.

 

영화/애니메이션

 

▲ 언리얼 엔진은 영화 <한 솔로: 스타워즈 스토리>의 버추얼 프로덕션 툴인 <StageCraft VR>을 사용해 시각 효과를 기획하고 제작하는 과정을 공개했어요. ©Unreal Engine

게임 엔진은 기본적으로 미디어 분야, 그중에서도 정교한 시각 효과(VFX)를 요구하는 영화 및 애니메이션에서 가장 활발하게 쓰입니다.

언리얼 엔진은 영화 <스타워즈: 로그 원><한 솔로: 스타워즈 스토리>, 디즈니+(Disney+, Disney Plus)의 첫 오리지널 드라마 <더 만달로리안>의 제작 과정에서 VR을 활용해 시각 효과를 입힌 예상 장면을 실시간으로 실험, 확인해볼 수 있는 기술을 제공했죠. HBO 인기 드라마 <왕좌의 게임>에도 언리얼 엔진이 사용되었다고 해요. 

▲ 2019년, 유니티 테크놀로지스는 디즈니와 협업해 제작한 TV 애니메이션 <베이맥스 드림즈>로 에미상 기술공학 부문(Technology and Engineering Emmy® Award)을 수상했어요. ©Disney

유니티 역시 <디스트릭트 9>로 잘 알려진 닐 블롬캠프 감독이 참여해 화제가 된 오리지널 단편 영화 시리즈 <아담(ADAM)>과,  디즈니 단편 TV 애니메이션 <베이맥스 드림즈>(Baymax Dreams)를 통해 영상에서 유니티를 활용한 기술을 선보였어요. 최근에는 <레디 플레이어 원>, <블레이드 러너 2049>, <라이온 킹>에 사용된 실시간 3D 가상 촬영 개발 플랫폼 개발사 ‘디지털 모나크 미디어(DMM)’를 인수하며 기술 확장에 박차를 가하고 있습니다.

 

디지털 휴먼

▲ 2020년 6월 공개된 유니티 코리아의 광고 모델, ‘수아(SUA)’의 모습이에요. ©Unity Korea

▲ 2020년 6월 공개된 유니티 코리아의 광고 모델, ‘수아(SUA)’의 모습이에요. ©Unity Korea

22년 전 불현듯 가요계에 등장했던 사이버 가수 ‘아담’을 기억하시나요? 디지털 휴먼이란 말 그대로 컴퓨터 그래픽으로 만들어진 가상의 인간 캐릭터입니다. 다만, 실시간으로 행동하고 대화하게 함으로써 게임이나 영상 등 다양한 분야에 활용할 수 있다는 게 아담과는 다른 점이죠. 디지털 휴먼은 이른바 ‘불쾌한 골짜기(Uncanny Valley)’ 현상도 그다지 느껴지지 않을 정도로 점점 더 자연스러워지고 있어요. 언리얼 엔진과 유니티가 소개하는 디지털 휴먼 패키지를 통해 마치 살아 움직이는 듯한 캐릭터를 만들어낼 수 있답니다.

지난 6월, 유니티 코리아는 유니티로 만든 디지털 휴먼 ‘수아(SUA)’를 광고 모델로 선정했어요. 수아는 유니티 2019.3 버전에 새로 포함된 그래픽 렌더링 기술 기반으로 제작되었으며, 피부 표현이나 표정, 동작이 정교하고 자연스럽다는 평가를 받고 있어요.

▲ 2018년, 언리얼 엔진은 게임 개발자 컨퍼런스(GDC) 2018에서 디지털 휴먼 사이렌(Siren)의 모습을 공개했습니다. (썸네일 속 저 크리처가 아니에요!) ©Unreal Engine

언리얼 엔진 역시 디지털 휴먼을 선보인 바 있습니다. 2018년에 공개된 디지털 휴먼, 사이렌(Siren)은 시연 영상을 통해 스스로를 언리얼 엔진의 다이내믹 모션 캡처를 통해 만들어졌다고 소개했어요. 2019년에는 SIGGRAPH(세계 최대 컴퓨터 그래픽스 관련 학회)에서 ‘프로젝트 빈센트’의 디지털 휴먼 제작기를 공개하기도 했고요.

 

자동차, 운송, 건축

▲ 9 Dekalb Avenue는 브루클린에서 가장 높은 건축물로, 그 높이가 무려 325m에 달한다고 합니다.  시공 과정에서 유니티의 ‘유니티 리플렉스’ 솔루션이 활용되었어요. ©SHoP Architects

▲ 9 Dekalb Avenue는 브루클린에서 가장 높은 건축물로, 그 높이가 무려 325m에 달한다고 합니다. 시공 과정에서 유니티의 ‘유니티 리플렉스’ 솔루션이 활용되었어요. ©SHoP Architects

유니티는 현대 기아차와 손잡고 차량 안팎의 모습을 사실적인 3D 그래픽 콘텐츠로 구현한다는 계획을 밝혔고, BMW 그룹은 언리얼 엔진을 통해 차량 디자인 개발 프로세스에 혼합현실(MR) 시스템을 도입하고 있어요. 한편, 항공사 에어 캐나다(Air Canada)에서는 비즈니스 클래스 좌석을 잠재 고객에게 시연하는 데 언리얼 엔진 기반의 VR 기술을 사용하고 있고요.

건축, 설계 분야에서도 게임 엔진의 활약은 계속됩니다. 2019년 12월 서울 강남에서는 ‘언리얼 빌드: 건축 2019’가 개최되어, 3D 비주얼을 활용한 AEC(건축ㆍ엔지니어링ㆍ건설) 분야의 혁신을 주제로 세미나를 진행했어요. 미국 뉴욕 브루클린에서 가장 높은 건축물인 ‘9 DeKalb’를 시공하는 과정에서 실시간 3D 환경을 통해 작업을 돕는 유니티의 ‘유니티 리플렉트(Unity Reflect)’ 솔루션이 쓰였다고 합니다.

 

그밖에

▲ 프리시전 OS(Precision OS) 사는 언리얼 엔진의 VR 솔루션을 이용해 만든 정형외과 전문의 수술 훈련 플랫폼을 제공하고 있습니다. ©Unreal Engine

언리얼 엔진과 유니티가 쓰이는 분야는 이밖에도 무궁무진합니다. 실시간 렌더링이 가능한 만큼 생방송 이벤트에서도 활용할 수 있죠. 뿐만 아니라 AR/VR 기술을 통해 부담이 큰 의료, 군사, 자율주행 등 다양한 실험이나 훈련에 대한 시뮬레이션을 제공할 수도 있고요. 

실제로 언리얼 엔진은 정형외과 수술 교육과정과 뇌 수술 등 의료 시뮬레이션에 필요한 실시간 렌더링 기술을 지원하고 있습니다. 유니티는 머신러닝 훈련에 필요한 합성 데이터 셋을 손쉽게 생성하고 분석할 수 있는 툴로 Unity Perception 패키지를 소개하고 있죠.

 

 

 

 

언리얼과 유니티가 선보이는 즐거운 변화 🎮

▲ 기술이 변화하는 만큼 게임도, 게임 엔진도 빠르게 바뀌어나가고 있어요.

▲ 기술이 변화하는 만큼 게임도, 게임 엔진도 빠르게 바뀌어나가고 있어요.

게임 엔진의 끝은 대체 어디일까요? 언리얼 엔진과 유니티로 이렇게나 많은 일을 할 수 있다는 게 놀랍죠. 게임 엔진이 기술 플랫폼으로서 세상을 좀 더 편리하게 만들 수 있다면 무척 멋진 일이니까요. 당분간은 두 게임 엔진이 맞붙으며 선보이는 무궁무진한 가능성을 즐겁게 지켜보아도 좋을 것 같아요. 기술은 꾸준히 발전할 테고, 게임 엔진 역시 앞으로도 쭉 변화해나갈 테니까요!

 

언리얼 엔진, 유니티를 어떻게 쓰는지 궁금하신가요?
인프런과 함께 학습해보세요 📑


이번 [주간 인프런] 어떠셨나요?
솔직한 의견을 들려주세요!

유익해요 | 아쉬워요

지난 [주간 인프런] 이 궁금하다면? (클릭)

댓글 1

댓글을 작성해보세요.

  • 나무아미타불
    나무아미타불
    둘 중 멀 배워야 할지 더 어려운 선택이 되었다..