[인터뷰] 비주얼 스크립팅 추가, 편의성+기능+안정성의 삼각편대 유니티 2020.1

인터뷰 | 윤서호 기자 | 댓글: 3개 |



게임 엔진은 최초에 게임 개발 과정에서 단순 반복되는 업무를 줄이기 위한 수단으로 고안됐다. 그러다 점점 더 나아가 퀄리티 있는 게임을 더 쉽고 간편하게, 혹은 개발에 소요되는 시간과 비용을 줄이기 위해 다양한 기술들이 접목됐다. 그러면서 게임 엔진은 게임 개발과 떼어놓을 수 없는 도구로 자리잡았다.

최초에는 어느 특정 게임만을 위한 엔진 위주로 만들어졌지만, 시간이 지나면서 범용성까지 고려한 상용 엔진까지 등장했다. 그 중 하나인 유니티는 그간 여러 번의 발전을 거쳐왔고, 지금은 전세계 개발자들이 가장 선호하는 상용 엔진 중 하나로 자리매김했다.

그 자리에 오기까지, 유니티는 말 그대로 수많은 변화를 거쳐왔다. 특히 유니티5 이후, 유니티 2017부터는 개발자들의 니즈에 부합하고자 1년 단위로 기존 기능 개선뿐만 아니라 새로운 기능 추가, 다른 회사와의 협업 등 과감한 변화를 연달아서 보여줬다. 특히 유니티 2019 버전은 최첨단 3D 그래픽뿐만 아니라 2D 관련 기술과 저사양 기기에 대한 호환 및 모바일 디바이스 시뮬레이터 등을 선보이면서 폭넓은 행보를 보여줬다.

그 다음 버전인 유니티 2020 버전의 첫 단계, 유니티 2020.1 버전이 지난 7월 24일 출시됐다. 지난 몇 달 간의 테스트를 끝내고 상용화의 첫 걸음을 걸은 유니티 2020 버전은 과연 어떤 변화를 보여줄까? 유니티 코리아의 오지현 에반젤리스트와의 인터뷰를 통해서 들어볼 수 있었다.



▲ 유니티 코리아 오지현 에반젤리스트


Q. 유니티 2020 버전이 지난 몇 달 간 테스트를 거쳐서 이제 정식으로 업데이트됐는데, 어떤 피드백을 주로 받았나 궁금하다.

유니티가 그간 계속 기능을 개발하고 업데이트해오다보니, 개발에 필요한 웬만한 기능은 다 들어가있었다. 개발 편의성으로 보자면 2D쪽만 해도 스프라이트 애니메이션 외에 스켈레탈 애니메이션 기능도 추가되고, 모바일 개발자들이 기기 테스트할 때 필요한 디바이스 시뮬레이터도 추가가 됐었다.

AR로 보자면 AR 파운데이션으로 개발 환경을 최적화시켰고, 그 외에도 XR 툴킷과 플러그인 연동 등 개발자들이 필요하다고 생각되는 기능은 이미 거의 다 들어가있는 상태라고 보면 되겠다.

그렇게 기능을 다 갖추고 난 다음에는 사용편의성과 안정화가 이슈가 된다. 유니티 2020을 테스트할 때는 이 점에 많이 신경을 썼다. 실제로도 시각적인 UX 부분에서 피드백을 많이 받았고, 여기에 포커스를 맞췄다. 그 외에도 UI 개선과 패키지 매니저 사용법도 개선했다.

전반적으로 개발자들이 작업의 워크플로우를 효율적으로 만들어갈 수 있도록 하는 것에 중점을 뒀으며, 기능 안정성도 업그레이드했다. 유니티 내부 인력이 많이 늘었는데, 기능 개발쪽 인력뿐만 아니라 안정성 및 테스트 관련 인력도 많이 늘었다. 그래서 내부 테스트 및 업데이트 개선도 전보다 폭이 넓어졌으며, 이번 2020.1 버전에서는 안정성 확보에 좀 더 집중하고 있다.


Q. 지난 업데이트들을 살펴보면 유니티 엔진이 가면 갈수록 모듈화, 파편화되는 느낌이었다. 기능들이 이것저것 많이 생기고 변화하기는 하는데, 제각각 다 따로따로 받아야하다보니 어떤 것이 필요한지 알기 어려웠다고나 할까. 이번 유니티 2020.1 버전은 어떤지 궁금하다.

패키지 매니저로 인해 모듈화가 되면서, 개발을 처음 시작하는 분들이 어떤 걸 써야 할지 모르겠다 이런 느낌이 있는 건 사실이다. 우선 패키지 매니저의 취지를 설명하자면, 유니티 엔진의 코어에 영향을 최소화하면서 새로운 기능을 추가하기 위한 방식이라고 하겠다.

아마 유니티를 예전 유니티5 때부터 썼던 분이라면 알 거다. 그 당시에는 어떤 기능이 추가되면 다른 곳에서 버그가 나고, 혹은 무언가 수정을 하면 다른 곳에서 오류가 나는 일도 종종 있었다. 그러다가 5.3 정도쯤에 안정화가 됐다.

이때의 경험이 바탕이 되어서 채택된 것이 패키지 매니저 방식이다. 엔진의 기본 기능은 그대로 놔둔 상태에서 패키지 매니저에서 자신이 원하는 기능을 따로 받는 방식이니 어떤 기능에서 문제가 생겨도 이를 제거하면 코어에서는 큰 영향이 생기지 않는다. 이전처럼 통합된 방식이면 어떤 기능을 추가하면 안정화 작업까지 2주에서 3주 정도 걸린다. 그 기간 동안에 다른 기능과도 충돌이 발생하면 조치하기도 까다롭고. 그렇지만 패키지 방식이면 해당 기능만 따로 떼어서 관리하면 되기 때문에 업데이트도 좀 더 빨리빨리 진행된다.

즉 엔진을 개발하는 입장에서도, 사용하는 입장에서도 편의를 생각한 것이 모듈화된 방식이라 하겠다. 더 나아가 패키지 기능을 배포할 때 베리파이드, 프리뷰, 체험판, 이런 식으로 마킹을 해두니 사용자 입장에서는 자신의 상황에 맞춰서 쓸 수 있다.

물론 현재 패키지 매니저는 처음 보는 입장에선 무엇부터 시작해야 할지 모르겠다는 단점도 있다. 이 때문에 템플릿을 다듬고자 하고 있다. 예를 들어 2D 게임 개발자라면 2D 관련 기능을 모아둔다거나, 3D쪽은 3D로 구분하는 식이다. 또 그 중에서 정말 고해상도, 고퀄리티 그래픽을 추구하는 개발자라면 이와 관련된 HDRP 템플릿에 모으는 거고. 이와 같은 식으로 좀 더 자신에게 맞는 기능을 빨리 찾아서 적용할 수 있게끔, 진입장벽을 낮추고자 노력하고 있다.



Q. 엔진 업데이트하면 가장 먼저 생산성이 얼마나 향상되었나 따지지 않나. 기존 엔진 대비 어느 정도 향상되었다고 보는가?

아직 수치로 따지긴 애매하다. 출시한지 얼마 안 되지 않았나. 이제 개발자들이 사용하기 시작할 테니 피드백을 받아야 하지 않나 싶다.

수치상으로 말하기는 어렵긴 하지만, 커뮤니티 반응은 좋다. 유니티 2020으로 오면서 정식으로 릴리즈된 기능이 있는데, 개발자들이 프리뷰 단계부터 그 기능들을 쓰면서 호응을 보였기 때문이다. 이제 안정화를 거쳐서 정식 출시가 된 만큼, 더 반응이 좋지 않을까 싶다.


Q. 지난 유니티 2019에서 개인적으로 많이 썼던 게 코드 커버리지였다. 코드 활용도를 일일이 브레이크 걸지 않고 파악할 수 있어서 프로그래밍 초보자에게도 도움이 됐는데, 이와 같이 프로그래밍에 익숙하지 않은 인디 개발자들이나 지망생을 위한 기능도 있을까?

볼트가 가장 적합하지 않나 싶다. 프로그래밍에서 아무래도 진입장벽을 많이들 느낄 텐데, 비주얼 스크립팅이 아무래도 비교적 진입장벽이 낮으니 말이다. 항상 비주얼스크립팅 쪽에서 이야기를 들어왔고 우리도 고민해왔던 내용인데, 볼트를 인수하면서 이 부분이 좀 해결됐다고 하겠다. 현재 볼트는 애셋스토어에서 무료로 받을 수 있고, 차후에 패키지 매니저에 통합될 예정이다.

그 외에도 프로그래머들의 퍼포먼스 향상을 위해 추가됐던 기능들을 좀 더 개선하고 있다. 언급했던 코드 커버리지도 개선 중이며, 아이디 통합도 패키지 매니저에 추가할 예정이다. 지금 비주얼스튜디오용과 라이더용 아이디가 따로 흩어진 상황인데, 이를 통합해서 좀 더 관리가 쉬워지게끔 할 것이다.

프로파일러도 개선하고 있다. 프로파일 애널라이저가 대표적인데, 기존에 프로파일링해서 나온 결과물을 좀 더 다각도로 비교분석할 수 있게끔 하는 기능이다. 예를 들어서 스테이지1, 2, 3의 몬스터 출현 빈도와 그에 따라 퍼포먼스가 어떻게 변하는지 종합적으로 분석하고 싶다고 하자. 이 각 씬을 각각 프로파일링해둔 다음, 결과물을 바로 비교분석할 수 있게끔 하는 것이 프로파일 애널라이저다. 씬 단위가 아니라 좀 더 큰 범위에서 비교분석이 바로 가능해지는 만큼, 작업 효율이 높아지지 않을까 싶다.

사실 엔진을 홍보할 때는 URP, HDRP 등 시각적인 분야 위주로 어필을 하게 된다. 아무래도 바로 눈에 띄는 무언가가 나오다보니, 좀 더 직관적으로 알기 쉽고 또 어필하기도 좋다고 할까. 그렇다고 해서 유니티가 엔지니어, 프로그래머를 위한 기능을 업데이트하지 않은 건 아니다. 골고루 준비해왔다. 안정성 및 기능 등, 다양한 분야에서 이를 느낄 수 있으리라 본다.



▲ 유니티는 지난 7월 비주얼 스크립팅 에셋, '볼트'를 인수하고 유니티 안에 이를 통합했다


Q. 지난 2019 버전에서 가장 인상깊었던 것이 2D 기능이 대폭 강화된 것이었다. 특히 URP로 2D에 라이팅을 입힐 수 있다는 게 놀라웠는데, 이번 유니티 2020.1 업데이트에서는 2D쪽에서 추가된 기능이 있다면?

2D는 성능과 안정성 쪽에서 개선을 진행하고 있다. 이미 필요한 기능은 2019 버전에서 많이 개발이 된 만큼, 앞으로의 과제는 무언가를 추가하기보다는 이를 좀 더 안정적이고 효율적으로 다듬는 것이라고 보기 때문이다.

좀 더 개선된 것을 예로 들자면, 2D 엔진 분야라고 하겠다. 유니티의 내부 물리 엔진은 3D는 엔비디아 피지크를 기반으로 하고, 2D는 오픈 소스 엔진인 박스2D를 개선해서 활용하고 있다. 그간 몇 년 동안 유니티가 박스2D를 가장 많이 활용해왔는데, 그러면서 박스2D 쪽과 많은 교류를 해왔다. 박스2D의 성능이 업데이트되면서 유니티의 물리 엔진도 업데이트됐고, 성능과 안정성 모두가 개선됐다.

그리고 코스트가 많이 드는 분야에서도 성능을 개선하고 있다. 2D 스켈레탈 애니메이션을 예로 들자면 코스트가 정말 많이 들어가지 않나. 관절 하나하나 업데이트하고, 버텍스 스키닝을 하고, 업데이트해야 하지 않나. 이를 하나하나 연산 처리하면 아무래도 성능이 저하될 수밖에 없을 테고. 이런 쪽에서 효율성을 높여서 성능을 개선하고자 하고 있다. 즉 새로운 기능을 집어넣기보다는, 기존 걸 안정화시키면서 좀 더 효율적으로 퍼포먼스를 높이는 방향으로 가고 있다 하겠다.



▲ 눈에 띄는 새로운 기능 추가보다는 기존에 넣은 기능들의 퍼포먼스 향상 및 안정성 확보를 우선했다


Q. 지난 유나이트 2019에서 하복 엔진과 콜라보로 유니티 피직스를 발표하지 않았나. 그 후로 물리 엔진 쪽에서 어떤 발전이 있었나?

산업 분야쪽에서 좀 더 강화됐다고 하겠다. 정교한 물리 엔진은 사실 게임보다는 산업, 특히 시뮬레이션 부문에서 더 수요가 높다. 아무래도 물리 현상을 최대한 있는 그대로 표현하는 것 그 자체가 목표인 분야다보니, 더욱 더 정교하고 현실적인 물리 엔진을 요구한다.

그 외에 프리스펙티브를 인수해서 인터랙트라는 제품을 출시하기도 했다. 여기에는 별도의 산업용 물리 엔진이 적용됐다. 로봇 팔의 제어를 예로 들자면 나사를 하나 박을 때도 어느 각도로 어떻게 돌려넣느냐에 따라서 제품의 안정성도 차이가 난다. 그 하나하나도 세밀하게 조정할 수 있는 산업현장용 엔진이라고 보면 되겠다. 대구에서 한 차례 시연했는데 업계에서 호응이 좋았다.

이렇듯 유니티 본사에서는 물리 엔진에 대해서 다각도로 접근하고 있다. 물론 유니티 엔진 내에서도 앞서 언급한 것처럼 물리 엔진을 계속 개선해나가고 있다.


Q. 초보 개발자들이 애먹는 것 중 하나가 카메라워크인데, 유니티에서는 시네머신을 도입하면서 어느 정도 보완이 됐다. 이번 2020 버전에서 시네머신이 어떻게 변했나 궁금하다.

시네머신은 원래 애셋스토어에 있던 플러그인이었는데, 유니티에서 개발자를 영입해서 2017년부터 점차 도입이 된 기능이다. 그러면서 기능을 이것저것 늘렸는데, 안정성이 초반에 좀 떨어졌었다.

그러다가 개발과 필드 테스트를 거치면서 2020 버전에서 정식 버전이 릴리즈됐다. 실제로 개발자들 사이에서는 많이 쓰이고 있고, 최근 유니티로 개발된 게임 중에 시네머신을 안 쓰는 게임은 거의 없으리라고 본다.

사실 카메라는 게임뿐만 아니라 영화, 애니메이션 등 미디어에서 가장 중요한 요소다. 게임 개발 커리큘럼을 보면 대학이나 강의에서도 카메라 무브먼트가 한 챕터, 혹은 한 학기 이상을 투자해야 하는 분야다. 시네머신은 이를 획기적으로 줄인 툴이라고 생각한다.


Q. 프리팹도 세대를 거치면서 여러 변화를 거쳐왔다. 예전에는 하나하나 씬에 끌어와서 바꾸고 어플라이하는 방식이었다면, 이젠 따로 프리팹 인스펙터를 열어서 전체 적용하는 식으로 변화하지 않았나. 이번 버전에서는 어떤 변화가 있나?

언급한 것처럼 이미 작년 초에 프리팹 쪽에서 큰 변화가 있었다. 이전에는 프리팹을 일일이 씬에 불러와서 어플라이를 해야 했지만, 이젠 그렇게 씬에 일일이 불러올 필요 없이 프리팹 인스펙터에서 바로 변경하고 적용할 수 있도록 했다.

최근 업데이트는 여기서 한 발 더 나아가서 씬을 보면서 프리팹 인스펙터를 보고 작업을 할 수 있게끔 했다. 이전에는 씬에서 작업하다가 프리팹 인스펙터로 무조건 창이 변경되서 다소 불편했는데, 이를 개선했다. 그 외에도 성능 및 안정성도 점검하고 있고, 이전 버전에서 최신 버전으로 업데이트할 때 발생하는 문제들도 수정하고 있다.



▲ 유니티 2020버전에서는 씬을 보면서 프리팹 인스펙터창을 열고 프리팹을 수정할 수 있다


Q. 팀 단위로 작업을 하다보면 작업 진도를 살펴보는데 시간을 많이 할애하게 되지 않나. 이런 것 때문에 외부 툴이나 슬랙 등을 활용해서 업무 진도를 공유하고는 하는데, 유니티에서는 자체적으로 이를 해결해나가기 위해 어떤 과정을 거쳐왔나?

유니티는 엔진을 넘어서, 개발이라는 카테고리에만 얽메이지 않고 다각도로 개발자를 지원하고 있다. 팀 단위 작업과 관련해서는 유니티 팀즈 서비스가 있는데, 엔진 버전과 관계없이 클라우드 기반의 협업 툴 서비스라 하겠다. 버전 관리도 유니티 엔진 안에 콜라보레이트 기능이 있어서 팀원 간 버전 관리는 딱히 어렵지 않을 것이다.

대기업이야 자체 플랫폼, 혹은 외부 툴 등을 활용하지만 소규모 혹은 인디 팀, 중소 업체는 팀즈 서비스를 많이 쓰고 있다. 유니티 자체에서 버전 컨트롤 툴도 있고, 협업 툴과 협업 관련 서비스도 지원하기 때문이다.

또 한 가지로는 오토데스크의 샷건이 유니티 내에서도 활용이 된다. 샷건은 일종의 프로젝트 관리 툴인데, 영화와 애니메이션에 많이 쓰였지만 게임 업계에서도 최근 많이 활용되고 있다. 작업자와 감독이 레이아웃을 서로 공유하고, 코멘트를 남기고, 그 외에도 업데이트 파일에 대한 피드백도 바로 주고 받고 버전별로 정리되는 프로젝트 관리 및 협업 툴이라고 할까.

유니티는 그간 오토데스크와 파트너십을 맺었고, 오토데스크의 제품을 적극적으로 활용해왔다. 샷건과의 연동도 그 일환이고, 이런 과정을 통해서 한 층 더 효율성을 높였다고 보면 되겠다.


Q. 2019 버전에서 패키지 매니저를 보다보니까 인풋 시스템이 새롭게 소개됐던 게 보였다. 2020 버전에서 정식으로 채택됐나? 또 기존 인풋 시스템과 어떻게 다른지 소개한다면?

기존 인풋 시스템도 잘 만든 시스템이긴 하다. 다만 너무 오래되다보니까, 그 당시에 주류였던 게임 패드와 키보드 이 두 가지 위주로만 짜여져있었다.

그런데 최근에는 입력기기가 정말 다양하지 않나. 컨트롤러도 Xbox 패드, 듀얼 쇼크 이 둘만 하더라도 이젠 세대를 거치면서 기종이 다양해졌다. 이 인풋 시스템을 기반으로 한 또다른 컨트롤러도 많고. 또 닌텐도도 컨트롤러가 완전 다르지 않나. 그 외에도 VR 컨트롤러만 봐도 오큘러스, VIVE도 각각 다 다르다.

이전의 인풋 시스템이 이 각각의 입력기기에 대응하는 방식은 추상적인 숫자로 마킹하는 방식이었다. 예를 들자면 Xbox 패드의 어떤 버튼에는 키보드의 어떤 키가 적용되는지 그 마킹이 코드 넘버로 되어있는데, 이를 일일이 찾아서 대입해야 했다. 그러다보니 개발자들이 각 버튼에 대응하는 숫자와 키를 찾아서 이미지화하고 공유하는 일도 있었다. 그렇게 맵핑하는 게 편했기 때문이다. 더군다나 오래 전에 만들어진 것이다보니 최신 디바이스 지원도 미흡했다.

그래서 이를 좀 더 깔끔하게 정리하고, 더 많은 입력기기에 간편하게 대응할 수 있게끔 새롭게 인풋 시스템을 적용했다고 보면 되겠다.



▲ 최신 기종 및 더 다양한 플랫폼에 맞춰 인풋 시스템을 새로이 갖췄다


Q. 패드나 키보드 외에 모바일 인풋 시스템도 변경됐을 텐데, 어떤 식으로 변경됐나 궁금하다.

모바일은 터치 스크린을 주로 쓰니, 기존 것과는 별도로 작성을 해야 하지 않았나. 조작법도 패드와 또 다르다보니, 그걸 다 따로따로 코드로 작성해야 했다. 드래그나 터치 등 각각 다른 조작법에 대해서 말이다. 이것도 인풋 시스템에서 통합 관리가 되기 때문에 별도로 그와 같은 작업을 할 필요는 없다.

아마 새로운 디바이스가 나오면 어떡하나 싶을 텐데, 이 인풋 시스템도 패키지 매니저로 관리되니까 새로 업데이트해서 빠르게 적용이 가능하다. 코어 기능과 관련 없이 해당 기능만 갖추고 엔진 본 버전과 상관 없이 따로 안정성 테스트를 거칠 수 있기 때문이다.


Q. 그간 XR 분야에서도 AR 파운데이션 등 새로운 기술을 발표하지 않았나. 2020 버전에서 변경점이 있다면 어떤 것인가?

최근에는 유니티 어느 한 버전의 업데이트라고 말하기엔 다소 애매하긴 하다. 아무래도 기능들이 어느 특정 버전에 종속되기보다는, 패키지 매니저 형태로 따로따로 관리하고 따로 업데이트해서 추가하는 방식이기 때문이다. 그래서 2020 버전이라기보다는, 비슷한 시기에 개발되고 개선되어서 적용된 기능들이라고 말하는 게 더 맞는 것 같다.

일단 XR 쪽에서의 변화를 들자면, MARS가 AR 개발자들에게 정말 큰 도움이 될 거라고 생각한다. AR에서는 이미 AR 파운데이션이라는 프레임워크가 있으니 개발 자체는 어렵지 않다. 그보다 AR 콘텐츠 개발에서 가장 어려운 게 테스트하는 것이다.

일반적인 게임 테스트는 빌드를 추출한 뒤에 테스트하거나, 혹은 빌드를 추출하지 않고 엔진 단위에서 디버깅이나 간단한 테스트를 진행한다. 그런데 AR은 조금 다르다. AR은 카메라를 통해서 얻은 현실 정보를 기반으로 하지 않나. 그에 맞춰서 대응하는지 빌드를 테스트해보기 위해서는 일일이 빌드를 추출하고, 기기로 옮긴 뒤 현실에서 직접 테스트를 해봐야 한다.

MARS는 이 테스트를 실제 기기로 옮기지 않고 가상에서 진행할 수 있게끔 하는 툴이다. AR 콘텐츠를 만든 뒤에, 이를 빌드로 추출하지 않고 엔진 내에 가상 현실로 실제 환경을 시뮬레이션해서 테스트할 수 있도록 했다. 예를 들자면 로봇과 알을 만들었는데, 테이블 위에 놓인 로봇과 알이 어떤 모습일지 확인해보려면 기존에는 빌드를 추출해야 했다. 그런데 이제는 그런 과정 없이, 엔진 내에서 가상의 테이블을 구현해서 어떤 식으로 보이는지 미리 테스트해볼 수 있다는 것이다.



Q. 한 때 머신러닝, 그리고 AI에 대해서 붐이 일지 않았었나. 그 분야에서 어떤 발전이 있었나 궁금하다.

7월에 진행한 유니티 라이브에서 선보인 사례 중에 공을 떨어뜨리지 않는 로봇이 있다. 이건 머신러닝으로 구현한 것이다. 사실 이를 일일이 코드를 짜서 구현하기가 얼마나 귀찮은 작업인지 개발자라면 알 것이다. 어떤 각도에서는 어떻게 움직여야 공이 안 떨어지는지 하나하나 설계해야 하기 때문이다.

머신러닝은 그런 조건을 일일이 주는 게 아니라, 핵심 조건 몇 개를 던진 뒤에 기계가 이를 수행하기 위해 자기 자신이 반복학습해나가는 것이다. 유니티에서는 작년에 이와 관련된 머신러닝 에이전트를 발표했었다. AI가 이 시스템을 통해서 스스로 학습하고, 결과물을 보여주는 그런 것이다. 예전에는 이걸 다 If, 스위치문으로 다 일일이 지정해줘야 하는데 이제는 환경만 정해주고, 스스로 습득할 수 있게끔 하는 식이다.

이 머신러닝이 활용되고 있는 대표적인 사례가 자율주행 자동차다. 자율주행은 실제 도로 환경을 다 테스트해봐야 하는데, 직접 차량이 도로를 다니면서 테스트하기엔 위험하지 않나. 그래서 가상 환경에서 시뮬레이션을 거치게 된다. 그 안에서 비가 왔을 때, 밤일 때, 태풍이 올 때 등등 모든 환경을 가정해서 시뮬레이션을 진행해야 하는데, 그 모든 상황을 다 일일이 코드로 쓰긴 애매하지 않나. 밤일 때는 어떻게 행동해야 하는지 지침을 만드는 것도 힘들 것이다. 또 태풍의 정의를 어떻게 줘야할지도 애매할 테고.

실제로 LGSVL 시뮬레이터에서 유니티를 활용해서 머신러닝을 진행하고 있다. 그리고 유니티 2020.1 출시와 비슷한 시기에 머신러닝 에이전트가 정식 버전으로 출시됐다. 다만 게임에서 머신러닝은 게임 내 캐릭터에 활용되기보다는, 테스트 쪽에서 쓰이게 될 거라고 생각하고 있다.

아무래도 기계는 끊임없이 학습하다보니, 내버려두면 인간의 학습량을 아득히 넘어버려서 상대하기가 너무 어려워지지 않을까 싶다. 그보다는 QA 테스트에서 많이 쓰이게 되리라고 예상한다. 수도 없이 반복해서 플레이하고, 그때그때 다르게 하면서 문제점을 파악해낼 테니 말이다.



Q. 최근 국내에서 콘솔 게임 개발에 대한 관심이 높아지고 있지 않나. 특히 차세대 콘솔이 곧 등장하고 그에 맞춰서 개발도 진행되고 있는 상황인데, 유니티 엔진에서는 차세대 콘솔 대응을 어떻게 준비 중인지 궁금하다.

유니티는 항상 어떤 상황, 어떤 환경에서도 맞춰서 대응하고자 하고 있다 콘솔이나 PC, 모든 환경에 맞춰서 대응하는 HDRP라던가 그 외에 리얼타임 레이트레이싱 등 최신 기술에 맞춰서 계속 개발을 진행해왔다. 아직 공개하기는 어렵지만, 차세대 콘솔에 대응해서 여러 가지 준비하고 있다고 하겠다.

이미 출시됐지만, 앞으로 차세대 게이밍 중 하나로 자리잡을 클라우드 게이밍 쪽으로도 지속적으로 대응하고 있다. 이미 스태디아를 정식으로 지원하고 있으며, 클라우드 게이밍 관련 기술도 관심을 갖고 협력을 이어가고 있다.


Q. 엔진 업데이트 때마다 해당 기술의 실사용 사례를 엿보거나 분석할 수 있는 테크 데모가 공개되지 않았나. 이번 데모는 언제쯤 볼 수 있을까?

이번 버전의 테크 데모가 언제 나올지는 확실히 언급하기는 어렵다. 다만 이번 엔진, 그리고 최신 기능과 관련해서 이를 활용한 사례는 곧 볼 수 있다. 유니티 데모팀의 장이빙 디렉터가 제작한 와인드업이라는 애니메이션인데, 이번에 부천 국제 애니메이션 페스티벌에 출품했다.

유니티 데모팀이 직접 만든 것이니 HDRP, VFX 그래프 등 유니티의 최신 기능이 적극적으로 활용되서 개발된 애니메이션이다. 이번 업데이트와 동시에 공개된 건 아니지만, 그 최신 기능을 활용해서 어떤 결과물이 나올 수 있을지 보여주는 좋은 사례라 생각한다.



Q. 지난 2019 버전에서 안드로이드 시뮬레이터 등 모바일 개발자들이 별도의 시뮬레이터나 기기를 갖출 필요 없이 테스트할 수 있는 기능이 지원됐다. 프리뷰 버전이라 다소 불안정하고 불편하다는 평가도 있었는데, 이번 버전에서 어떻게 개선이 이루어졌나?

시뮬레이터는 지속적으로 개선하고 있다. UX뿐만 아니라 디바이스 목록도 추가가 계속 이어지고 있다. 아무래도 완전한 에뮬레이터라기보다는 시뮬레이터다보니 한계가 있다고 할까? 그래서 개발자들에게도 실제 빌드를 추출해서 테스트하는 게 더 정확하다고 권하고 있다.

다만 모든 기기를 구비해서 테스트하는 건 물리적으로 어렵지 않나. 굉장히 불편한 과정이기도 하고. 이러한 과정을 좀 더 편하게 해주는 것이지, 프로세스를 완전히 대체하는 건 아니라고 하겠다. 그래도 이 기능이 있고 없고가 개발자들, 특히 중소 개발자들에겐 꽤 큰 문제다보니 정말 필요한 기능이라는 피드백을 받았다. 이번 버전에서 지속적으로 개선해나갈 계획이다.


Q. 보통 이런 엔진 업데이트는 유나이트 등 행사에서 발표되고 또 여러 세션을 통해서 디테일한 변화에 대해서도 언급하지 않았나. 코로나19로 인해서 제약이 되는 상황인데, 이를 어떤 식으로 대체해나가고 있나?

코로나19로 세계 각지에서 진행하던 유나이트가 취소되거나 연기되면서 유나이트 나우라는 웨비나 형식으로 온라인 세션을 진행하고 있다. 일부는 번역해서 유니티 코리아 유튜브 등을 통해서 올려놓고 있다.

이 중에 핵심이 되는 내용을 8월과 9월에 프로그래머 세션과 아티스트 세션으로 나눠서 유튜브, 유니티 스퀘어를 통해서 소개할 계획이다. 국내에서는 에반젤리스트들과 테크팀이 개발자들을 위해서 기능을 소개하는 데브 위크를 진행하고 있다.

다만 기능 자체가 2019에서 많이 추가되다보니, 새로운 기능을 소개하는 것보다는 기존에 있던 것이 어떻게 변하고 개선됐는지, 또 어떤 식으로 활용하는지 소개하는 것에 중점을 두고 있다.



▲ 유나이트의 핵심을 추려서 우리말로 옮긴 '유나이트 나우 하이라이트'가 2회에 걸쳐 진행될 예정


Q. 아직은 이르다고 하지만, 실시간 레이트레이싱이 점차 실용화를 눈앞에 두고 있지 않나. 2019 버전에서 시범 적용된 것으로 아는데, 2020 버전에서는 어떻게 개선해나갈지 그 비전이 궁금하다

HDRP가 업데이트되면서 점차 실시간 레이트레이싱도 개선이 될 것이라고 보고 있다. 그런데 실시간 레이트레이싱은 엔진만의 문제가 아니라, 그래픽카드에서도 지원이 잘 이루어져야 한다. 아직은 스탠다드한 기능이 아니다보니, 엔진과 하드웨어 각각에서 보완이 완벽히 이루어지진 않고 있다고 본다.

실시간 레이트레이싱은 소프트웨어와 하드웨어 양쪽 모두에서 잘 지원이 이루어져야 한다. 그런 관점에서 보면 엔진과 하드웨어 모두 과도기적인 단계로 보고 있다. 유니티에서는 이를 개선해나가고 있고, 특히 레이트레이싱을 활용한 그림자나 각종 효과 쪽을 수정하고 개선하고 있다.

현재의 실시간 레이트레이싱 기술은 아직 실용화되긴 좀 이르고, R&D 단계라고 보고 있다. 특히 게임은 더욱 그렇다. 애니메이션 업계에서 이를 도입하고 테스트하고 있긴 한데, 이쪽 역시도 말 그대로 테스트 단계다. 실시간 레이트레이싱은 게임 체인저가 되겠지만, 이를 어떻게 활용해나가야 할지 알아가는 단계라고 보고 있다. 시장뿐만 아니라 하드웨어, 엔진 모두가 다 그런 상황이고, 앞으로를 대비해서 R&D를 계속 하고 있다고 하면 되겠다.



▲ 레이트레이싱은 지속적으로 R&D를 거치면서 실용화를 준비 중이다


Q. 유니티 내에서 수익화 관련 기능 및 게임 배포까지 지원하는 기능들이 있지 않나. 2020 버전에서 이러한 기능들에 어떤 변화가 있을지 궁금하다.

앞서 언급했듯, 유니티 2020에서는 새로운 기능 추가보다는 최적화에 좀 더 신경을 많이 썼다. 수익화 관련 분야에서라면, 개발자들이 BM 설계를 어떻게 해야 할지 분석하고 결정할 때 도움이 되는 방향에 대해 고민하고 있다. 예를 들어 인앱 광고 모델이라면 한 판 한 판 할 때마다 광고 보내는 게 좋은지 아니면 두세 판 한 이후에 보내는 게 좋은지, 피버 타임 등 특정 상황에서 노출하고 이를 시청했을 때 어드밴티지를 얼마나 줘야 효율적인지 등등 생각해봐야 할 것이 많다. 이때 참고할 만한 것들을 최대한 종합, 분석해 BM을 설계할 수 있게끔 돕고자 하고 있다.

그간 유니티에서는 다량의 데이터가 쌓였고. 이를 분석하면서 개발자들에게 적절한 타이밍 등을 조언하고 있다. 이것이 가능한 이유는 유니티가 그간 이와 관련된 분석 툴을 많이 갖춰왔기 때문이다.

최근에는 개발 외적인 분야, 즉 유지 및 관리, 테스팅 등 라이프사이클을 관리해온 회사인 델타DNA를 인수했다. 이를 인수하면서 기존에 있던 애즈나 여러 가지 게임 수익화 관련 기능에서도 개선이 이루어졌다.

유니티는 단순히 게임 개발을 위한 엔진일뿐만 아니라, 개발 외적인 부문에서도 개발자들을 돕도록 다방면으로 노력해왔다. 유지 보수 및 관리, 수익화 등, 게임을 개발한 다음에 서비스하는 그 사이클까지 모두 아울러서 말이다. 그러다보니 에반젤리스트인 나도 잘 모르는 서비스가 정말 많다(웃음). 인앱 결제 및 스토어에 필요한 기능도 통합해서 개발, 관리할 수 있는 기능도 있고. 실제 인디 개발자들에게 들어보면 이런 기능을 정말 유용하게 쓰고 있다고 하더라. 유니티 2020에서는 이런 기능들을 좀 더 안정적이고 효율적으로 다듬어가는 과정이라 하겠다.


Q. 지금까지 유니티 2020.1 버전에 대해서 이야기했는데, 정리해서 유니티 2020.1 버전이 지난 버전과 가장 달라진 것을 하나 꼽자면 무엇이라고 하겠나?

사실 게임 개발에 필요한 기능은 이미 대부분 개발이 됐다. 이번 유니티 2020.1 버전은 기존에 탑재된 기능을 좀 더 효율적이고 안정적으로 사용할 수 있게끔 하는 것에 주력한 버전이라고 하면 되겠다. 그동안 프리뷰로 제공된 것들이 안정화를 거쳐서 정식 버전으로 제공되는 것들이 많은데, 여기에 효율적인 워크플로우까지 고려해서 이런저런 개선이 이루어지고 있다고 하겠다.


Q. 유니티를 사용하고 있는 개발자 및 지망생에게 마지막으로 한 마디 부탁한다.

유니티를 사용해주시는 모든 분들께 항상 감사하다. 유니티는 "크리에이터가 많아질수록 세상이 더 나아진다고 믿는다"는 철학을 기반으로 하고 있다. 우리의 목표는 콘텐츠 크리에이터들이 개발이 어렵다는 이유로 포기하지 않고 자신이 만들고 싶은 콘텐츠를 만들 수 있도록 지원하는 것이다.

다르게 이야기하자면 쉽게 게임이나 여러 콘텐츠를 만들고, 이를 쉽게 배포하고, 서비스나 유지 보수도 좀 더 간편하게 진행할 수 있도록 다방면에서 돕고자 하고 있다. 게임도 어느 한 장르, 하나의 스타일이 아니라 2D부터 3D, AR/VR, 콘솔, PC 모든 플랫폼과 장르, 스타일을 망라해서 만들고 싶은 것들을 얼마든지, 이전보다 쉽게 만들 수 있도록 돕는 게 목표다.

유니티는 여기서 더 나아가, 단순히 개발을 돕는 것 그 이상을 보고 있다. 수익 창출 및 분석, 서비스와 유지 등 게임 개발자들이 겪어야 하는 그 모든 과정, 라이프 사이클을 지원하고자 다방면으로 준비하고 있다. 유니티 2020.1 버전에서는 좀 더 안정적으로 다양한 기능을 제공하니, 이를 활용해서 자신의 작품을 원하는 대로 만들어가길 바란다.



댓글

새로고침
새로고침

기사 목록

1 2 3 4 5