▲ 이상윤 유니티 에반젤리스트

유니티 엔진은 현재 전 세계 모바일 게임 중 절반 이상의 작품에 사용되는 제작 툴이다. 유니티 엔진은 해를 거듭하며 발전하고 있으며, 현재 2018.1 버전을 정식 출시하고 2018.2 베타 버전을 선보이고 있다. 최근 정식 출시된 2018.1 버전에는 스크립터블 렌더 파이프라인(Scriptable Render Pipelines) 및 C# 잡 시스템(C# Job System) 등 다양한 요소가 추가되고 개선됐다.

금일(10일) 킨텍스에서 진행되는 PlayX4(플레이엑스포)에서는 새로워진 유니티 엔진에 대한 소개도 들을 수 있었다. 소개를 맡은 이상윤 유니티 에반젤리스트는 개발사들이 유니티 엔진을 활용하면서 겪을 수 있는 어려움을 해소하는 데 도움을 주고 있다. 이날 소개에서 그는 2018.1 버전에서 추가된 사항을 중심으로 발표했으며 개발 팁도 간략히 소개했다.

그의 소개에 따르면 이번 유니티 2018.1 버전은 퀄리티, 그래픽, 퍼포먼스 향상과 함께 플랫폼이 확장되고 아티스트와 기획자 친화적인 향상을 이뤄냈다. 또한 이전 버전과 비교해 58가지 주요 사항 업데이트와 225가지 개선을 이뤘고, 51개의 API를 교체했으며 1,243가지 버그를 고쳤다.

▲ 수많은 개선이 이뤄진 유니티 2018.1

이상윤 에반젤리스트가 강조한 유니티 2018.1 버전에서 가장 눈여겨볼 기능은 스크립터블 렌더 파이프라인(Scriptable Render Pipelines)이다. 이 기능은 C# 코드로 제어되는 렌더링을 구성하고 작동된다. 그동안 유니티 개발자가 직접 코드를 보며 수정했다면, 이제는 그래픽 디자이너나 기획자가 비쥬얼 스크립트를 보며 편하게 작업할 수 있게 됐다. 또한 커스터마이징과 확장이 쉽고 ‘블랙박스’가 적다는 장점도 갖고 있다.

그는 스크립터블 렌더 파이프라인이 개발 중인 프로젝트에 즉시 적용 가능하고, 다양한 디버그 툴을 제공하는 등 다양한 장점을 소개했다. 현재 이 기능은 모바일 플랫폼에서 주로 쓰일 수 있는 라이트 웨이트 렌더 파이프라인(Light Weight Render Pipeline, LWRP)과 PC, 콘솔 등 고사양 게임에 적합한 하이 데피니션 렌더 파이프라인(High Definition Render Pipeline, HDRP)로 나뉜다.

▲ 스크립터블 렌더 파이프 사용 가이드

스크립터블 렌더 파이프라인은 최신 PC와 콘솔 게임 개발에 최적화되어 있다. 모바일에서는 프레임 버퍼 패치 등으로 GPU의 타일 내 스트로지가 개선됐다. VR에 있어서는 포워드 셰이딩, MSAA, 단일 패스 렌더링, 원거리 렌더링 결과를 캐싱, 공유하고 뷰포트의 다변화와 해상도 스티칭 최적화를 이뤘다. 단순한 2D 게임에서는 단일 패스 조명을 통해 저사양 디바이스에서도 원활하게 지원될 수 있도록 했다.

이외에도 버퍼를 C# 클래스로 노출시켜 모든 종류의 버퍼 데이터에 사용되도록 했다. C# 단에서는 유니폼 및 상수 버퍼를 생성하고, 수동으로 업데이트할 수도 있다. 뿐만 아니라, TextureFormat과 RenderTextureFormat을 통합해 ‘DataFormat’과 비슷하게 만들었다. 이는 D3D에서의 DXGI와 비슷하다. 즉, 기존보다 더 많은 포맷을 사용할 수 있게 됐다.

다음으로 소개된 기능은 프로그레시브 라이트매퍼(Progressive Lightmapper)이다. 이 기능은 이름 앞에 프리뷰를 붙이고 이전 버전에서 선보인 바 있다. 개선을 거쳐 2018.1 버전에서는 정식 탑재됐다. 프로그레시브 라이트매퍼는 옵션을 선택하는 것으로도 꽤 좋은 빛(light) 품질을 선사한다.

▲ '노드'로 프로그래머가 아니더라도 편히 작업을 볼 수 있다

쉐이더 그래프(Shader Graph)는 프로그래머가 아닌 아티스트나 기획자도 손쉽게 작업에 참여할 수 있도록 노드(node) 기반의 비쥬얼 로드(visual load)를 제공한다. 이상윤 에반젤리스트는 “현재 쉐이더 그래프는 계속해서 개선 중이며, 2018.2 버전에서도 더 나은 화면을 보여줄 것”이라고 전했다.

▲ 편한 메쉬 관리 툴 '프로빌더'

프로빌더(Probuilder)로 에디터에서 매쉬를 직접 편집할 수 있게 됐다. 또한, UV까지도 조정 가능하다. 2018.1 버전에 포함된 기능이지만, 이전 버전 사용자도 에셋 스토어에서 무료로 다운받아 쓸 수 있다. 다만, 아직 라이트맵에서 사용되는 세컨 채널 리뷰는 UV 편집이 안 된다. 그래도 간단한 레벨 디자인과 많은 기능을 손쉽게 사용할 수 있다. 이 기능으로 빠른 레벨 디자인과 마야와 맥스를 거치지 않아도 간단한 레이아웃 씬 확인이 가능하다는 장점이 있다.

▲ '프로그리드'에는 유저 편의를 위해 강력한 기능이 추가됐다

프로그리드(ProGrids)로 전보다 스냅(snap) 및 오브젝트 제어를 손쉽게 할 수 있다. 밸류, 스케일, 유닛, 앵글 값을 편하게 조정할 수 있으며 강력한 버넥스 스냅과 로테이트 스냅을 제공한다. 이상윤 에반젤리스트는 “사용자 편의를 위해 강력한 기능이 추가된 것”이라고 소개했다.

파티클 시스템은 2017.1 이후 지속적으로 개선된 사항으로, 2018.1에서는 벨로시티 오버 라이프타임(Velocity over Lifetime) 모듈에 오비탈 벨로시티(obital velocity) 추가로 보다 실감 나게 업데이트됐다.

유저 편의를 위한 기능으로는 콤포넌트 값을 프리셋으로 저장해 적용하거나 편집하는 기능이 추가됐다. 기존에는 로테이트와 같은 값을 복사해 붙여넣는 불편함이 있었는데, 이제는 프리셋으로 저장해 다른 프로젝트에 쉽게 적용할 수 있다. 적용은 드래그 앤 드랍 방식으로 간편하다. 현장에서 이상윤 에반젤리스트는 4개의 프리셋을 이용해 설정을 적용한 모습을 직접 보여줬다.

패키지 매니저 또한 간편해졌다. 이전 버전까지 깃허브로 자신의 프로젝트 어셋 모음을 관리해야 했고 직접 유니티 폴더로 설치해야 하는 불편함이 있었다. 이제는 깃허브와 같은 기능을 유니티 패키지 매니저가 지원한다. 패키지 매니저를 통해 프로젝트에 지원되는 항목을 손쉽게 확인할 수 있고 한 번 다운로드 받은 매니저는 하드디스크에 남아 바로 적용할 수 있다.

▲ 컬러 파레트는 원형으로 변해 그래픽 디자이너가 보다 편하게 사용할 수 있도록 개선

소개를 마친 이상윤 에반젤리스트는 끝으로 유니티로 만든 콘텐츠를 나열했다. '로열블러드', ' 펜타스톰', '피싱스트라이크' 등이 유니티로 개발되고 출시됐으며, '아이언쓰론'이 곧 선보일 예정이다. 인디에서도 유용하게 쓰이는 유니티 엔진은 '마이 오아시스', '트릭 아트 던전' 등 개발에 활용됐다. 이외에도 웹툰, 애니메이션, 영화 제작에도 유니티는 쓰여 엔진의 새로운 활용법을 제시하고 있다.