[인터뷰] 유니티 엔진이 고급스러워 졌다고요? 입문자를 위한 준비도 여전합니다

인터뷰 | 윤홍만 기자 | 댓글: 5개 |



지난 16일 유나이트 서울 2017이 개최됐다. 이날 키노트에서는 클라이브 다우니 유니티 최고 마케팅 책임자에서부터 루카스 메이어 유니티 기술 디렉터 등이 참여해 유니티 5.6과 앞으로의 로드맵을 소개했다. 이날 컨퍼런스는 단순한 컨퍼런스가 아닌, 유니티의 자부심을 표출하는 자리같았다. 유니티는 분명 뛰어난 엔진이었지만 언젠가부터 최고 수준은 아닌 엔진이라는 일종의 꼬리표가 따라다녔다. 이번 키노트는 그런 꼬리표를 뗀 유니티가 '우리가 이만큼이나 대단해졌다'라고 자부하는 듯한 모습이었다.

그런 만큼 인상적인 키노트라고 할 수 있었다. 하지만 동시에 걱정스러운 부분도 있었다. 그동안 유니티는 범용성이란 아래 최고 수준은 아니지만, 모두가 쓸 수 있는 평준화된 엔진이라는 장점이 있었기 때문이다. 이번 키노트와 같은 유니티의 발전이 이런 범용성과 대중성을 해치진 않을까 우려됐다.

과연 유니티는 앞으로 어떤 길을 나아갈까? 고급화 전략일까? 아니면 여전히 모두를 위한 엔진이 되고자 할까? 금일(17일) 유니티 테크 그룹 인터뷰를 통해 앞으로의 유니티에 대해 질문했다.



▲ 앤디 터치, 러스 스캐멜, 이안 던도르, 마이크 부더릭, 안민호 (좌측부터)


Q. 우선 간단한 자기 소개 및 유나이트에서 맡은 세션에 대한 소개 부탁한다.

앤디 : 브라이튼에 있는 유니티 영국지사에서 일하고 있다. 프로덕트 콘텐츠 에반젤리스트로서 유니티에서 개발한 신기능과 앞으로 출시할 기능을 미리 사용하면서 소개하거나 교육하는데 필요한 데모 콘텐츠 등을 만드는 일을 하고 있다. 이번 유나이트에서는 유니티 UI 최적화 팁에 대한 세션을 진행했다.

러스 : 유니티 2D 팀에서 테크니러 프로덕트 매니저를 맡고 있다. 거기서는 유저들이 원하는 기능이나 툴을 개발, 개선하는 작업을 주로 하고 있다. 이번 행사에서는 5.6 버전에서 새롭게 포함된 2D 기능에 대해 소개하는 자리를 가졌다.

이안 : 유니티 엔터프라이즈 기술 총괄을 하고 있다. 주로 유럽에서 일하는데 가끔 한국이나 일본 개발사에 찾아가기도 한다. 하는 일에 대해 간단히 말하자면 주요 고객을 만나 빨리 개발할 수 있도록 기술적 문제를 해결하는데 도움을 주는 식이다. 이번 유나이트에서는 CPU나 메모리를 효율적으로 관리하는 방법에 대한 설명과 굉장히 중요한 기능인 스크립터블오브젝트(ScriptableObject) 클래스에 대한 강연을 했다.

마이크 : 유니티가 제공하는 애니메이션, 오디오, 비디오 기능을 담당하고 있다. 물론 유니티 2017에 포함될 타임라인 역시 맡았다. 프로덕트 매니저로 하는 일에 대해 말하자면 고객이 필요한 기능을 개발하는 것과 동시에 마케터와 협력해 적시에 필요한 기능들이 출시되도록 하고 있다. 유나이트에서는 키노트 때 타임라인과 시네머신에 대한 발표를 했었다. 두 기능 모두 유니티 2017에 포함되니 많은 기대 바란다.

안민호 : 한국에서 고객사에 기술 지원과 에반젤리즘이라고 기술을 전파하는 일을 하고 있다. 올해 유나이트에는 외부 연사들이 많이 참가해 아쉽지만 강단에 서진 못했다.


Q. C# 잡 시스템이 매우 뛰어난 것 같은데 사용 전후를 비교해 어느 정도 성능 향상이 있나? 30프레임에서 60프레임이 된다던가 수치적으로 알고 싶다.

이안 : 정확한 수치를 말하긴 어렵다. 게임을 프로그래밍 하는 방식에 따라 최적화에 따른 성능 향상치가 달라지기 때문이다. 거기에다 멀티쓰레딩이 아닌, 메인 쓰레드만 이용하는 게임이라면 성능 향상이 그렇게 높지 않을 거다. 하지만 멀티쓰레딩 기능을 많이 이용하는 게임의 경우 수치로 말하기 어려울 정도의 성능 향상을 꾀할 수 있다.


마이크 : 덧붙이자면 본격적으로 사용되기 앞서 내부적으로 C# 잡 시스템이 애니메이션이나 오디오 등 유니티 하부 기능을 사용하는데 큰 도움이 되고 있는 중이다. 물론 캐릭터가 많은 게임이라면 성능 향상 폭이 크다는 건 말할 필요도 없고, 스마트폰이나 콘솔같이 멀티 코어를 사용하는 게임들에서도 성능 향상을 느낄 수 있을 거다.


Q. 전에는 멀티쓰레딩을 쓰기 위해선 별도의 코드를 작성해야 했는데 C# 시스템이 추가되면 그럴 필요 없이 엔진에서 자동으로 지원한다는 뜻인가?

마이크 : 그렇다. 좀 더 자세히 말하자면 유저들이 좀 더 사용하기 쉽도록 코드를 통해 지원한다는 건데, 안정적으로 멀티쓰레딩을 사용할 수 있도록 하는 거다. 물론 현재는 내부적으로 좀 더 다듬는 중이고 안정성이 보장되면 앞으로 유니티 엔진에 추가할 예정이다.


Q. 원래 유니티는 다양한 언어를 지원했다. 그런데 최근 BOO는 거의 퇴출됐고 자바스크립트도 점차 그 입지가 좁아지는 느낌이다. C# 잡 시스템부터 C#을 밀고 있다는 느낌인데 앞으로 C#으로 언어를 통일할건가?

앤디 : 알다시피 유니티4부터 C#이 메인이 됐다. 말한 것처럼 BOO는 퇴출됐고 자바스크립트는 레거시(Legacy) 등으로 부분적으로만 남아 있는 정도다. %로 보자면 유럽에서 99.9%가 유니티에서 C#을 쓰고 있는데 좋은 수순이라고 생각한다. 모두가 공통의 언어, API를 쓰는 게 바람직하기 때문이다. 여담으로 공식 튜토리얼도 C#으로 작성됐는데 이것 역시 사용언어를 C#으로 통일하고자 하는 의도에서다.


Q. 모두가 쓸 수 있는 엔진이라는 게 유니티의 최대 강점인데 버전이 업데이트되면서 보면 아무래도 고급 기능이 주로 추가되는 걸 볼 수 있다. 점점 입문자에 대한 배려가 부족해진다는 느낌인데, 입문자를 위해 준비하는 기능이 있다면 설명 바란다.

마이크 : 작년 정도부터 유니티는 아티스트도 얼마든지 유니티를 쓸 수 있도록 하겠다고 발표했다. 그리고 그 일환으로 타임라인 등의 기능을 개발했다. 여기에 더해 월드 빌드, 비쥬얼 스크립팅 기능을 추가해 앞으로도 입문자, 비 프로그래머 직군 유저도 유니티 엔진을 쉽게 쓸 수 있게 할 것이다.

앤디 : 신규 유저를 유치할 때 까다로운 부분이 유니티 엔진이 굉장히 다이나믹한 엔진이라는 점이다. 슈팅, 플랫포머, RPG 등 다양한 장르에 사용할 수 있는 범용성 있는 엔진이다 보니 신규 유저가 처음에 어떤 식으로 써야 할 지 어려움을 느낀다. 이런 어려움을 해소해주기 위해 유니티에서는 범용적인 게임 개발 튜토리얼을 통해 게임을 개발하면서 필요한 공통된 부분에 대한 교육하고 있다.

앞으로도 C# 잡 시스템처럼 전문 개발자를 위한 기능은 물론 입문자, 초급 개발자들도 쉽게 쓸 수 있는 기능들을 추가하는 식으로 균형을 맞출 예정이다.


마이크 : 추가하자면 유니티의 강점으로 유저가 발전할 가능성이 굉장히 높다는 점을 들 수 있다. 고급 기능을 주로 추가했다고 했는데 처음에는 단순한 기능으로 개발하던 유저가 필요 때문에 중급, 고급 기능을 사용함으로써 고퀄리티의 게임을 만들 수도 있다. 이런 확장성은 유니티의 큰 강점이다.

러스 : 타일맵을 예로 들 수 있는데, 타일맵의 경우 단순히 타일만 배치하는 기능으로 알고 있다가 커스텀 브러시처럼 새로운 기능이 있는 걸 깨닫는 유저들이 더러 있다. 우리는 이처럼 유저들이 더 성숙해질 수 있도록 데모를 통해 더 숙련된 기능을 쓸 수 있도록 하고 있다.


Q. 어제 기자간담회에서 유니티 엔진이 비게임 분야에서도 이용되고 있다 했는데 어느 기업에 어떤 식으로 사용하고 있나?

이안 : 의료나 자동차 분야에서 사용하고 있는데 아쉽게도 이 자리에서 정확히 어떤 식으로 쓰이는지 말하기는 어려울 것 같다. 그리고 이런 비게임 분야 쪽으로의 협력은 계속 강화할 예정이다.

마이크 : VR, AR, 영화, 의료 산업 등에서 공통된 기능이 필요해 우리 엔진을 사용하고 있다. 이를테면 시뮬레이션 용도로 쓰이거나 하는 식이다.

앤디 : 건축 분야에 대해서는 좀 자세히 설명할 수 있는데, 최근 방문한 회사에서는 3D 렌더링한 건축물을 갖고 VR을 통해 직접 체험할 수 있도록 도와줬다. 그랬는데 10년 이상 건축업에 종사한 분들이 편리하고 신기한 경험이라면서 놀라워하더라. 여담이지만 정장을 입고 근엄한 모습의 분도 VR을 끼고 직접 체험하니 아이처럼 좋아하던 게 기억에 남는다.

▲ 유니티 VR을 통해 가상 모델 하우스를 만들 수도 있다 (출처 : Creed Plus 유튜브)


이안 : 자동차 분야에 대해 부연 설명을 하자면 제로 라이드라는 자동차 디자인 구상(Visualization) 회사에서 유니티를 쓰고 있다. 수년간 우리 고객으로 있던 회사인데 재규어, 아우디 등이 고객사로 VR을 이용해 자동차를 체험할 수 있는 기능을 제공하고 있다.

Q. VR 게임을 만들 때 유니티로는 특정 수준 이상으로 만들 기 어렵다는 얘기가 있다. 향후 이런 쪽에서 어떤 지원을 할 예정인지 궁금하다.

마이크 : 우선 현재 시장에서 만들어지는 VR 게임 대부분이 유니티로 만들어지고 있다는 걸 말하고 싶다. 그리고 퀄리티를 높이는 방법에 대해서는 오늘 강연에서 소개한 스크립터블 랜더 무비(Scriptable Render Movie) 기능을 사용하면 된다.

앤디 : 유니티 내부에서도 VR 전담팀이 있는데 SDK를 지원하는 것뿐 아니라 기능을 개선하고자 MS나 소니, 페이스북 등과 협력 중이다.

안민호 : 사실 퀄리티에 대한 얘기들을 많이 하는데 접근법이 다르기에 발생한 문제라고 생각한다. 우리의 대표적인 경쟁사 엔진의 경우 실행하면 엔진의 기본 기능들이 전부 켜진 상태다. 그리고 만약 최적화가 덜 됐다면 기능을 하나씩 끄는 식이다. 우리는 반대다. 기능이 다 꺼져 있는 상태에서 하나씩 키는 식이다. 그러다 보니 처음에 써보고 경쟁사 엔진으로 만든 콘텐츠의 퀄리티가 더 높다고 인식하는 것 같다. 앞으로 유니티는 이런 그래픽 셋팅을 좀 더 쉽게 조절할 수 있도록 함으로써 VR 콘텐츠를 더 개발하기 쉽게 할 거다.


Q. 유니티 기술 전문가들이 한자리 모인 자리니 이 질문을 안 할 수가 없다. VR에 대한 건데, VR 콘텐츠를 만들 때 어떤 기술이 가장 중요하다고 생각하나?

마이크 : 성능이라고 생각한다. VR 콘텐츠를 이용할 때 최악의 상황은 프레임이 낮아지거나 해서 속도가 느려지는 경우다. 그렇기에 프레임을 유지할 성능은 중요하다. 여담이지만 VR은 아직 정답이 없기에 계속 발전하고 있는 시장이다. 그래서 우리도 함께하며 패러다임을 만들고 있어서 재미있는 시장이라 생각한다.



▲ VR을 사용할 때 가장 중요한 점은 바로 안정적인 프레임이다

러스 : 제작 과정 역시 중요하다고 생각한다. VR은 지금까지의 방법으로는 만들기 어렵다. 그 세계에 직접 들어가서 개발해야 효과적이다. 그래서 많은 유저나 개발사가 에디터 툴을 만들고 있는데, 유니티에서는 VR 에디터 기능을 통해 VR 속에서 원하는 데로 개발할 수 있도록 지원하고 있다.


Q. 경쟁사의 경우 ‘로보리콜’ 처럼 기술 실증 형식의 게임을 내곤 한다. 이를 통해 어떤 식으로 개발해야 좋을지, 어떤 리소스를 쓰면 좋은지 지원해주는데 유니티는 어떤 준비를 하고 있나?

앤디 : 우선 유니티 내부에도 입문자, 전문 개발자를 위해 다양한 콘텐츠와 에셋을 만드는 팀이 있다는 걸 말하고 싶다. 그리고 기술 실증의 경우 작년에 공개한 아담을 예로 들 수 있는데, 아담은 우리 엔진이 얼마나 발전했는지 보여주는 테크 데모로 당시 다양한 최신 기능들을 소개했었다. 앞으로도 유니티는 이런 지원을 이어갈 방침이다.


마이크 : 덧붙이자면 옆에 있는 이안이 기술적인 도움을 주는 일을 하고 있다.


Q. 끝으로 앞으로 유니티 엔진이 어떤 식으로 발전할 지 간략한 설명 부탁한다.

마이크 : 유니티 2017.1부터 아티스트들이 사용할 수 있는 기능들이 굉장히 많이 추가될 거다. 앞서 말한 타임라인이나 시네머신이 대표적인 기능이다. 물론 그렇다고 아티스트만을 위한 엔진이 되는 건 아니다. 우리는 여전히 전문 프로그래머들을 위해서 새로운 기능을 제공할 건데 스크립터블 랜더러, C# 잡 시스템 등을 들 수 있다.

고급 기능들이 추가된다고 해서 입문자나 초심자를 배제하는 게 아닌가 걱정할 수도 있는데 걱정하지 않아도 된다. 오그라드는 말일 수 있는데 유니티의 모토가 바로 개발의 민주화 아닌가. 그런 만큼, 앞으로도 입문자, 전문 개발자를 가리지 않고 누구나 유니티로 훌륭한 게임을 개발할 수 있도록 더욱 발전하는 유니티가 될테니 많은 기대 바란다.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5