로그인

회원가입 | ID/PW 찾기

취재

프롬프트로 3D 세계를 생성? 게임 개발의 미래가 바뀔지도 모른다

구글 딥마인드 '지니 2'의 대규모 세계 모델 생성을 바라보며

김승준(음주도치) 2024-12-06 18:53:28

한계를 넘어선 기술을 목도하면, 놀라움이나 기대감도 느끼게 되지만, 마음 한편에 두려움이 피어나기도 한다. 오픈 AI가 'SORA'로 비디오 생성 기술의 기준치를 높이고 난 뒤, 우후죽순 비디오 생성 AI가 쏟아진 것처럼, 게임 제작 AI도 이제 그런 시점을 맞이하고 있는 것 같다. 걸음마를 떼고 나면, 뛰는 것은 금방이니까.


현지 시각 12월 4일, 구글 딥마인드는 '지니 2'(Genie 2)를 '대규모 기초 세계 모델'이라는 문구로 소개했다. 말 그대로 단순한 자연어 프롬프트로 꽤나 그럴싸한 세계를 생성할 수 있다는 것이다. 이미지 생성 모델 '이마젠 3'(Imagen 3)까지 연결해 사용하면 더더욱 그 퀄리티가 올라간다. 


지니 1에서 보여준 2D 세계 생성은 이제 잊어도 좋을 수준이다. 지니 2는 3D 세계를 빠르게 생성하고, 점프나 수영과 같은 행동, 객체 상호 작용 및 주요 물리 법칙이 적용된 움직임을 대규모로 보여준다. 생성하는 공간의 규모도 작은 편이 아니고, 일관된 세계를 최장 1분까지 유지할 수도 있다.


기자는 지니 2의 기술력을 보면서 이런 생각이 들었다. 기획 초기 단계에서 아이디어를 가시화하고 의사결정을 하는 데 획기적인 도움을 줄 것은 자명하고, 이 기술이 조금만 더 발전하면 매우 짧은 버티컬 슬라이스를 만드는 수준까지 금세 도달하겠구나. 지금의 단계에서 게임 개발 자체를 대체할 수는 없지만, PV(프로모션 비디오)를 짜깁기 하는 것까진 지니 2로도 가능하겠구나. 이 기술을 본 당신은 기대감과 걱정 중 어느 쪽을 더 크게 느끼고 계신가.


'지니 2'는 3D 세계를 생성하고 플레이할 수 있게 해준다. (이하 사진은 구글 딥마인드 공식 사이트 갈무리)


 

# 개발자 농담이 떠오르는... 액션 컨트롤


"우유 있으면 사와. 아, 달걀 있으면 6개 사오고." 아내의 말에 개발자 남편은 우유 6개를 사왔다.


이젠 고전이 된 개발자 유우머다. '조건'과 '대상'을 명확히 파악하는 것은 개발 언어의 기초다. 지니 2는 WASD와 스페이스 바로 이동 및 점프를 조작할 수 있는데, 생성된 세계 안에서 나무나 구름 같은 대상이 아닌 움직여야 할 객체를 명확히 인지한다.


숲 속에서 뛰어다니는 작은 휴머노이드 로봇, 고대 이집트를 배경으로 사막에서 뛰는 휴머노이드 로봇의 예시는 3인칭 시점으로, 보라색 행성에서 걷는 로봇과 현대적 도시의 아파트 안에서 걷는 로봇은 1인칭 시점으로 생성됐다. 


세계나 주체의 콘셉트, 1인칭, 3인칭 시점까지 쉽게 인지한다.


# 같은 프레임에서 다른 결과로

완전히 동일한 세계와 시야 프레임에서 시작된 시뮬레이션이, 각기 다른 플레이어 성향과 행동 양식에 맞춰 다른 결과와 궤적으로 이어지는 모습도 소개됐다.


수륙 양용 보트로 A는 강변의 지상으로 올라갔고, B는 정속 주행, C는 고속 주행을 했다. 같은 숲 속 갈림길에서도 서로 다른 길을 가거나 아예 길 밖으로 나서는 모습도 생성됐다.


동일한 비디오 프레임에서 시작된 각기 다른 시뮬레이션 결과들이다.



# 시야 밖의 세계를 기억한다

3D 게임에선 시야 밖의 세계는 렌더링하지 않고, 시야 안에 들어오는 세계만 시각화해주곤 한다. 지니 2는 넓은 공간을 생성하면서도, 시야 밖의 세계를 일부 기억했다가 다시 시야에 들어올 때 정확한 모습을 렌더링해줄 수 있게 설계됐다.


시야 안팎에서 왜곡이 일어나는 것을 줄였다.
 

# 최장 1분 동안 지속되는 사실적이고 다양한 세계

지니 2는 즉석에서, 최장 1분 동안 유지되는 일관된 세계와 콘텐츠를 생성한다. 영상 생성 기술들이 아직도 으레 그렇듯, 일부 뭉개지는 그래픽이나, 텍스쳐가 존재하긴 하지만, 특정 콘셉트의 세계와 그 안에서 움직이는 주체를 그럴싸하게 만들어낸다는 자체로도 굉장한 기술력이다. 


1인칭 3인칭으로 각기 다른 환경에서 달리고 점프하는 시뮬레이션.
뻔한 공간을 반복하지도 않는 게 놀라웠다. 
이하 모든 사례들도 영상으로 봐야 그 더 대단함을 느낄 수 있으니,
딥마인드 홈페이지에서 꼭 찾아 보시길 권장한다.

앞서 소개한 것처럼 여기엔 시점과 그래픽 스타일, 콘셉트를 다양하게 적용할 수 있다. 1인칭으로 지옥 문을 넘어가는 듯한 장면, 쿼터뷰로 마을에서 건물을 오가며 벽을 부수는 장면, 차량 운전을 하는 3인칭 시점의 장면 등이 소개됐다.


이게 다 생성된 3D 월드라고?

복잡한 구조물을 만드는 예시도 소개됐다. 거대 메카와 같은 매우 크고 정교한 형태의 조형물도 환경 안에 생성해 준다.


이런 장면 여러 개 만들고 깔끔한 장면만 골라서 PV라고 해도, 진위 여부를 알아볼 수 있을까?

다양한 오브젝트와 상호작용하는 모델링도 소개됐다. 캐릭터가 점프해 공격하면서 풍선을 터트리거나, 1인칭 시점에서 이동하며 방문을 자연스럽게 열고 들어가고, 가솔린 드럼통을 총으로 쏴 폭발시키는 예시가 담겼다.


액션이 역동적일 때 그래픽이 깨지는 부분은 개선이 필요해 보이지만, 이런 수준까지 생성할 수 있다는 게 놀랍다.


게임 개발을 할 때, 체형이 다른 캐릭터의 움직임을 하나하나 다 조정해본 경험이 있는 분들이 굉장히 많으리라 생각한다. 지니 2는 여러 유형의 캐릭터가 점프, 이동, 사다리 타기, 공격 등을 하는 모션을 모두 애니메이션으로 생성할 수 있다.


체형이 다른 캐릭터로도 다양한 액션이 가능하다.

NPC에 대해서도 복잡한 상호 작용을 요구할 수 있다. 아래 사진에서 첫 번째 사례는 플레이어와 같은 목적지를 향해 자연스럽게 함께 달리는 모습이고, 두 번째 사례는 NPC는 자신이 갈 길을 알아서 가는 장면이며, 세 번째 사례는 커다란 인형 NPC를 공격하면 반응하고 소멸되는 장면이다.


아래에서도 설명하겠지만 조명에 대한 표현도 놀랍다.

그래픽 표현에서 가장 어려운 대상 중 하나가 물과 연기와 같은 유체, 기체다. 지니 2는 이러한 표현도 움직이는 대상과 시야 안에서 생성해낸다.


수면의 물결과 반사 그리고 물보라에 대한 표현

건물에서 나오는 굴뚝 연기, 화산에서 나오는 연기

이제 여기에서 한 걸음 더 나아가 중력에 대한 물리법칙 표현도 들어간다. 말을 타고 달리다가 뛰어오르는 장면과 차를 몰고 달리다가 절벽 아래로 낙하하는 장면이 소개됐다.


게임 개발에서 초기 세계를 만드는 과정의 꽤 많은 부분을 자동화해 '짧게 생성된 세계'에 반영한 셈이다. 

빛에 대한 표현도 디테일하다. 횃불을 들고 움직일 때, 손전등을 들고 움직일 때와 같이 게임에서 자주 등장하는 부분 조명, 방향성을 가진 조명에 대한 모델링이 포함됐고, 비가 온 도시 안에서의 반사, 먼지가 낀 공간에서의 빛 번짐, 거울에 비치는 세계, 그림자 등이 모두 반영된다.


다양한 조명에 대한 표현과

반사, 그림자, 번짐에 대한 표현들



# 사진, 이미지에서 시작할 수 있는 모델링

영상을 만들어주는 생성형 AI를 사용해보신 분들에겐 익숙한 접근법일지도 모르겠으나, 게임을 생성한다는 개념이 대중화되지 않은 지금의 시점에선, 매우 낯선 접근법 중 하나다.


지니 2는 실제 사진의 한 장면이나 생성형 AI로 만든 이미지 한 장에서 게임 속 플레이를 시작하게 만들 수도 있다. 당연하지만 이런 기술은 고정된 영상을 만드는 것보다 훨씬 더 복잡한 연산과 렌더링을 요구한다. 시야도 시시각각 바뀌고, 사진 밖의 시야에 무엇이 있는지 알아서 연결된 세계를 생성해야 하기 때문이다.


소개된 사례도 매우 놀랍다. 정지된 풍경 사진에서 시작된 장면은 지니 2로 생성된 게임 세계에서 흔들리는 풀, 흐르는 강물, 조작에 맞춰 움직이는 시야, 그리고 사진 밖에 있던 세계로 자연스럽게 이어진다.


여러 차례 말하지만, 해당 기술이 궁금하다면 딥마인드 홈페이지에서 영상으로 꼭 확인해보셔야 한다.


왼쪽은 콘셉트 아티스트 Max Cant가 그린 장면 오른쪽은 이미지를 바탕으로 생성된 세계 안에서 활보하는 장면이다.


# 프로토타입 만드는 건 순식간의 일이다

생성된 움직임에서 환경이나 주체를 바꾸는 건 어려운 일도 아니다. 


'이마젠 3'로 종이비행기가 상공에서 나는 장면, 용이 공중에서 나는 장면, 매가 나는 장면, 열기구가 나는 장면을 그려달라고 한 뒤, '지니 2'에서 플레이시키면 적절한 움직임과 시야, 가상의 인터페이스까지 더해져 플레이 모습이 생성된다.


막상 하나 하나 만들려고 하면 손이 많이 가는 작업들이다.

구글 딥마인드는 이 과정을 "대규모 비디오 데이터 세트에서 학습된 자기 회귀 잠재 확산 모델"이라 불렀다. 자동 인코더를 통과한 프레임이 대규모 언어 모델에서 사용하는 방식과 유사한 과정을 거쳐 역학 모델로 전달되고, 이는 개별 액션과 이전 프레임 등을 고려해 프레임 단위로 취득할 수 있다는 것이다. 


이마젠 3로 생성한 이미지 한 장에서 시작해 실시간으로 전진, 왼쪽으로 이동, 공격까지의 명령을 수행하는 과정을 매우 간략히 도식화한 결과가 아래 그림이다.



실제 적용 사례로 보면 더 놀랍다. 


이마젠 3에 "3인칭 오픈 월드 어드벤처 게임의 스크린샷. 플레이어는 숲을 탐험하는 모험가. 왼쪽에는 빨간색 문이 있는 집이 있고, 오른쪽에는 파란색 문이 있는 집이 있음. 카메라는 플레이어 바로 뒤에 배치. #사실적, #몰입형"이라는 프롬프트를 넣으면 아래와 같은 이미지가 생성된다.



SIMA 에이전트는 자연어 명령을 따라 움직일 수 있는데, 지니 2에 위의 이미지를 넣어 빨간 문과 파란 문이 있는 세계를 생성하고, 에이전트에게 각각 "파란 문을 열어", "빨간 문을 열어"라는 명령을 내리면, 각각의 생성된 플레이는 문을 열고 안쪽의 세계로 들어가는 장면을 보여준다.


여기서 SIMA는 에이전트를 키보드, 마우스 조작을 통해 컨트롤하고, 지니 2는 게임 프레임을 생성한다. 둘은 상호작용할 수 있게 동기화된 것으로 보인다.


명령은 "보고 있던 방향에서 뒤돌아보라"거나 "집 뒤로 돌아가 보라"는 것도 당연히 가능하다.


"파란 문을 열어", "빨간 문을 열어"라는 명령에 맞춰 생성된 플레이

"보고 있던 방향에서 뒤돌아 봐", "집 뒤로 돌아가 봐"라는 명령에 맞춰 생성된 플레이.
놀랍지 않은가.


이번엔 이마젠 3에 조금 다른 프롬프트를 입력했다.


"거칠게 다듬은 돌 동굴이나 광산 내부의 장면을 보여주는 컴퓨터 게임 이미지. 시점은 플레이어 아바타 위에 있는 3인칭 카메라로 아바타를 내려다보고 있음. 플레이어 아바타는 검을 든 기사. 기사 아바타 앞에는 돌로 된 아치형 문이 3개 있고 기사는 이 문 중 하나를 선택."


"첫 번째 문을 지나 안쪽으로 들어가면 터널에 빛나는 꽃이 있는 이상한 녹색 식물이 보임. 두 번째 문 안과 그 너머에는 동굴 벽에 못으로 고정된 가시가 있는 철판 복도가 있으며, 더 나아가면 불길한 빛이 보임. 세 번째 문을 통해 신비한 목적지로 올라가는 거칠게 다듬은 돌계단을 볼 수 있음."


그리고 각기 다른 명령을 에이전트에 제시한다. "계단을 올라가라", "식물이 있는 곳으로 가라", "중간 문으로 가라". 


이마젠 3에서 생성된 이미지 한 장에서

이런 각기 다른 플레이로 이어지는 것이다.

서문에서 기자는 이런 기술로 인해, 실제 정교하게 만들어진 게임과 생성된 게임의 '플레이 영상'을 구분하기 어려운 시점이 빠르게 오지 않을까 우려를 표했다.


동시에 이런 생각도 해본다. <발더스 게이트 3>와 같이 매우 자유도가 높은 게임을, 사람이 하나하나 만드는 게 아닌, 제한된 프롬프트와 세계 안에서 짧은 플레이로 생성되는 과정을 반복하게 하면 어떨까? 지금은 생성된 세계의 안정성도 낮고, 1분까지만 유지될 수 있지만, 기술이 더 발전하면 짧은 게임 하나를 만들어내는 것도 가능할지 모른다. 게임에서 제공할 수 있는 경험과 선택의 범위 자체가 달라질 수도 있다.