유니티는 최근 AI에 주목, 다양한 솔루션을 제공하고 있다. 특히 지난 6월에는 '유니티 센티스' 등 AI 솔루션 플랫폼을 출시, 베타 테스트를 진행하면서 본격적으로 AI로 게임 및 콘텐츠 개발자들을 보조하는 방향을 제시하고 있다.

통상 콘텐츠 제작에서 AI하면 생성형 AI를 우선 떠올리지만, 유니티 센티스는 AI를 활용해 개발자들이 필요로 하는 다양한 작업이 원활하게 이어지도록 돕는 복합 솔루션이다. AI 모델을 전 플랫폼에서 배포할 수 있게 하도록 돕거나 혹은 개발자들이 구축하기 어려운 클라우드 컴퓨팅 관련 이슈를 최적화해주는 등 다양한 기술 지원으로 개발자들의 창작을 극대화한다.

▲ 빌 컬런 유니티 수석 PM

빌 컬런 유니티 수석 PM은 유니티 센티스가 '유니티 바라쿠다'에 기원한다는 사실을 밝혔다. 바라쿠다는 경량형 크로스 플랫폼 뉴럴 넷 추론 라이브러리다. ONNX 포맷을 기반으로 개발자들이 쉽게 다양한 AI 모델을 임포트해서 활용할 수 있도록 개발이 진행되어왔으나, 당시 유니티는 AI에 관해 초보 단계였기 때문에 지원 모델도 적고 API 활용도 어려웠다. 그리고 '경량화'에 치중해 퍼포먼스가 의도한 만큼 나오지 않았다. 이러한 시도를 기반으로 유니티에서는 새로운 AI 솔루션, '센티스'로 발전시켰다.

그렇다면 왜 유니티는 여전히 인공 신경망에 관심을 보이고 있으며, 또 뉴럴 네트워크를 구축하는 과정에서 어떤 문제에 봉착했을까? 컬런 PM은 기존의 코드 기반으로는 해결하기 어려운 문제들을 쉽게 해결할 수 있기 때문이라고 설명했다. 기존에는 어찌 되었든 기계에게 통하는 언어로 입력, 그 후에 결과를 출력하는 구조로 되어있다. 처리해야 할 정보의 유형은 여러 가지지만 그것을 다 기계에 통하는 언어로 변환하거나 다른 곳에서 레퍼로 불러오는 형태로 처리가 된다.

그렇지만 인공 신경망을 구축하면 이야기가 달라진다. 인간의 뉴런 구조를 본따서 만든 기계 학습 모델인 만큼, 다양한 유형의 정보를 동시 다발적으로 학습해서 처리할 수 있기 때문이다. 그러나 인공 신경망 구축은 그리 쉽게 구축할 수는 없었다. 인공 신경망은 클라우드 환경을 전제로 설계가 되어있기도 했고, 게임에 최적화되어있지도 않았다. 이를 타파하기 위해 로컬 CPU, GPU를 활용하는 '유니티 바라쿠다'를 고안했으나 앞서 언급한 한계에 봉착하고 더 다양한 모델을 분석하면서 구조를 바꾼 뒤 '센티스'로 거듭났다. 그 사이에 유니티에서 버스터 컴파일러 잡 등 여러 가지가 뒷받침되면서 바라쿠다보다 두 배 이상 빨라졌다. 또한 베타 테스트 버전에서도 AI 모델을 훈련한 뒤 유니티에 임포트해서 통합한 뒤, 튜닝을 거쳐서 런타임 플랫폼에 구동까지 쉽게 이어졌다.

▲ 기존 개발 방식의 문제를 해결해줄 대안으로 인공 신경망을 찾았으나, 게임에 최적화 되어있지 않았다

▲ 이에 유니티에서는 게임 최적화, 로컬 컴퓨터 기반의 인공 신경망 '유니티 바라쿠다'를 연구했고

▲ 여러 난관에 봉착한 바라쿠다를 재설계, AI 솔루션이자 인공신경망 '센티스'로 거듭났다

▲ 센티스를 게임에 적용하는 방법은 크게 네 단계로 이루어진다

예시로 든 본랩 스튜디오의 '스트레스 레벨 제로'는 지하 유적을 조사하면서 그곳에 도사리고 있는 수백 마리의 '보이드'라는 적대 개체를 물리치고 나아가는 VR 액션 게임이다. 벽이나 로프를 타고 오르는 등 플레이어의 액션 구현은 쉬웠지만, 여기에 수도 없이 많은 적들의 패턴을 짜넣는 것이 어려웠다. 단순히 코드로 짜자니 적이 너무 패턴화된 움직임을 보였고, 그렇다고 랜덤 수식을 집어넣으니 제어하기가 힘든 진퇴 양난에 처했다.

더군다나 최적화 문제도 겹쳤다. 유적 탐사 중 위험하다는 느낌 그리고 수많은 적을 소탕하는 재미를 주기 위해 수백 마리의 보이드들이 맴돌다가 유저에게 돌진하는 그런 기획안대로 게임을 만들었는데, 그 수많은 개체에 콜라이더나 파티클을 입히는 순간 CPU와 GPU의 과부하가 심각한 수준이 되었다. 이 문제를 최적화로 푸는 것도 문제였지만, 보이드 '군체'뿐만 아니라 각각의 보이드만 있는 상황은 어떻게 별도로 구현해야 할까도 문제였다.

이러한 문제는 AI 모델을 도입하면서 사라졌다. 본랩 스튜디오에서는 센티스에 유니티 ML 에이전트를 활용, 인공신경망을 훈련시켰다. 응집, 산개, 정렬 세 가지를 보상으로 설정하고 포지션, 로테이션 등을 인풋으로 설정한 뒤 Pitch, Roll, Yaw 가속 네 가지를 아웃풋으로 설정했다.

그렇게 학습을 거친 AI 모델을 센티스로 적용하니 군체로 움직일 때 행동 패턴도 자연스럽게 구현됐다. 날아다니다가 일정 범위 내에 플레이어가 무방비 상태로 있으면 몇몇 개체가 쇄도하고 뒤따라간다던가 이를 역이용해 멀리 있는 보이드들을 일거에 소탕하는 등 플레이가 좀 더 풍부해졌다. 또한 모델 사이즈는 0.3mb에 메타퀘스트2 기준으로 추론 시간은 3ms, 프레임은 90fps으로 최적화도 이루어졌다. 스트레스 레벨 제로는 2024년 센티스 기반의 모델로 업데이트할 예정이다.

▲ 다수의 적을 최적화까지 챙긴 상태에서 실감나게 움직여야 한다는 과제가 있었는데

▲ 센티스와 유니티 ML 에이전트를 기반으로 설계한 결과

▲ 스트레스 레벨 제로의 AI 모델은 최적화 및 추론 시간에서 확실한 발전을 이루어냈다

또다른 사례로는 크로스플랫폼 헬스 케어 및 명상 프로그램인 'TRIPP'이 소개됐다. 메타퀘스트, PSVR, 모바일 등 다양한 환경에서 건강 유지를 위한 여러 프로그램을 제시하는 TRIPP에서는 최근 유저가 들숨과 날숨 그리고 숨을 멈춰야 할 타이밍에 화면에 소소한 변화를 주면서 화면에 좀 더 집중하게 하는 방안을 연구하고 있다.

그러나 여기서도 기존의 코드 방식으로는 난제에 봉착했다. 단순히 들숨, 날숨을 무미건조하게 반복하는 것이 아니라 리프레시하는 차원에서 그리고 소소하게 변하는 호흡에 따라서 반응하는 환경을 구현하고 싶었기 때문이었다. 특히 대다수의 VR 기기는 호흡을 체크하는 센서도 없기 때문에, 무엇을 기준으로 유저의 호흡 상태를 체크하고 오브젝트나 다양한 환경을 그에 맞춰 변화시킬 수 있을지도 난제였다. 소리를 기준으로 하자니 단순 소음과 호흡을 구분을 못하는 일도 있었기 때문이었다.

이를 AI 모델로 해결하는 방법도 생각했지만, 네트워크 기반 모델은 런타임 동안에 프레임워크나 추론 시간에서 퍼포먼스가 썩 좋지 않았다. 뿐만 아니라 모바일 플랫폼 대응에서 썩 만족스럽지 못했다. 바라쿠다로 적용해도 모바일 등 일부 디바이스 퍼포먼스가 떨어지는 편이었다. 그러나 센티스로 적용한 이후 퀘스트2 기준으로는 3mb의 AI 모델 크기로 추론 시간은 9ms, 프레임은 72fps로 준수하게 유지됐다.

▲ 호흡 센서가 없는 기기에서 어떻게 호흡에 맞춰 영상을 바꾸고 피드백을 줄 수 있을까 고민하다가

▲ AI 인공신경망을 갖추고 센티스로 적용했다

알렉스 리바르 유니티 ML 개발자는 VR 외에도 다방면으로 활용되고 있는 센티스의 AI 모델을 소개했다. 키노트에서 소개됐던 '머슬 비전'은 유니티 AR 파운데이션 기반으로 만든 프로젝트로, LSTM 인공신경망에 센티스를 더해서 카메라로 촬영한 인체의 움직임을 보고 바로 하체의 근육 움직임과 활용도를 체크할 수 있게끔 한 프로젝트다. 하체의 움직임을 보고 80개의 근육의 활용도를 AI로 연산, 표시하는 모델이 크기가 1mb에 추론 시간은 16ms, 프레임은 60fps로 경량화까지 성공했다.

▲ 알렉스 리바르 유니티 ML 개발자

인공 신경망을 도입한 유니티의 데모, '테일즈 오브 인 노바'에서는 NPC가 정해진 선택지에 따라 반응하는 것이 아닌, 음성을 인식해서 마치 유저와 대화를 나누듯 퀘스트를 진행하는 일련의 과정을 담아냈다. 다이얼로그 시스템에 다양한 인공신경망 인퍼런스로 언어 학습 모델을 증강했다. 또한 음성은 레플리카 스튜디오의 애셋을 활용, 텍스트를 AI로 자동으로 생성이 되게끔 했다. 센티스는 이러한 모델을 기기 상관 없이 적용할 수 있게끔 런타임에서 AI로 처리, 별도로 코드를 짜지 않아도 원소스 멀티플랫폼 대응이 이루어지게끔 했다.

마지막으로는 실시간 레이트레이싱 샘플 '레이'가 소개됐다. 인도의 개발자 아미스키란 마나베단이 개발한 이 샘플은 인공신경망을 활용, 모바일 환경에서 퐁 같은 간단한 구조의 게임이지만 실시간 레이트레이싱이 바로 적용되게끔 한 프로젝트다.

그 비결은 사전에 모든 물체의 움직임과 그에 따른 변화를 미리 학습, 실제 오브젝트의 움직임에 맞춰서 바로 변화된 모습을 렌더링하는 것에 있다. 즉 쉐이더 파이프라인이나 라이트맵에 대한 어떤 설정 없이, AI가 그 연산된 내용을 그 상황에 맞춰서 바로 보여주기 때문에 실시간으로 빛이 변화하는 환경에 맞는 상황이 연출된다. 사전에 AI가 학습으로 미리 연산을 거친 모델인 만큼, 크기는 450mb로 다른 것에 비해 비교적 크기는 크고 프레임도 실시간 레이트레이싱의 연산을 처리하기는 아직 어려운 모바일 환경인 만큼 30fps 정도였지만, 추론 시간은 28ms 시간을 기록했다.



▲ 유나이트 2023 키노트에서도 소개된 세 가지 사례. 클라우드 환경 없이 로컬에서 바로 AI 모델이 적용됐다

리바르 개발자는 "로컬 추론 기반에, 네트워크 레이턴시나 데이터 기반 없이 어느 플랫폼에서나 AI 모델을 활용할 수 있는 것이 센티스의 장점"이라고 강조하면서 "유니티6와 함께 정식 출시될 때 더 개선된 모습을 기대해달라"고 덧붙였다.

유니티 센티스는 현재 오픈 베타 버전으로 제공되며, 자세한 정보는 유니티 센티스 공식 페이지에서 확인할 수 있다.