로블록스, 부품 단위 제어 가능한 3D 생성 AI 'CubePart' 공개
로블록스가 부품별 제어가 가능한 3D 생성 프레임워크 CubePart를 발표했다. 텍스트 설명과 함께 부품 목록을 지정하면, 게임 엔진에서 즉시 애니메이션과 물리 스크립트를 적용할 수 있도록 분할 및 라벨링된 메쉬를 생성한다. 오픈소스 Cube 저장소에도 관련 기능이 반영됐다.
3D 게임을 만들어 본 사람이라면 생성형 AI 모델링의 치명적인 한계를 이미 겪어봤을 것입니다.
프롬프트 한 줄이면 그럴듯한 레이싱카나 로봇이 뚝딱 나오지만, 정작 게임 엔진으로 가져오면 하나의 거대한 덩어리에 불과합니다. 바퀴를 굴리거나 문을 열 수 없어, 3D 아티스트가 칼로 자르듯 일일이 메쉬를 쪼개고 이름을 붙여야 했습니다.
로블록스가 선보인 CubePart는 바로 이 문제를 정조준한 부품 제어형 3D 생성 프레임워크입니다. 텍스트 설명에 맞춰 모델을 만들 때, 아예 부품별로 분할되고 라벨링까지 끝난 메쉬를 직접 뽑아냅니다.
부품 목록을 코드와의 계약으로 삼다
CubePart의 핵심은 사용자가 직접 정의하는 부품 목록, 즉 스키마입니다.
예를 들어 사용자는 '해파리 모양의 레이싱카'라는 외형 프롬프트와 함께 '앞왼쪽 바퀴', '앞오른쪽 바퀴', '차체', '헤드라이트' 같은 부품 목록을 입력합니다. AI는 이 목록을 일종의 API 규격으로 인식해, 각 부품을 독립된 메쉬로 분리해 조립된 형태로 결과물을 내놓습니다.
이렇게 생성된 에셋은 게임 엔진에 바로 끌어다 놓아도 각 파츠의 이름이 정확히 지정되어 있습니다. 아티스트의 수작업 정리 없이도 물리 시뮬레이션이나 애니메이션 스크립트를 즉시 연결할 수 있습니다.
내부적으로는 VecSet 잠재 표현을 활용한 2단계 디퓨전 구조를 씁니다. 1단계는 Qwen-VL 인코더와 MMDiT 아키텍처를 기반으로 약 470만 개의 메쉬-텍스트 쌍을 학습해 전체 형태를 잡고, 부품 스키마를 인식하도록 미세조정됐습니다.
특히 앞바퀴와 뒷바퀴의 공간 위치를 정확히 구별하기 위해 비전 언어 모델(VLM) 기반 자동 라베링 파이프라인을 구축했습니다. 이를 통해 기존 공개 데이터셋의 11배가 넘는 46만 개 이상의 에셋과 202만 개 부품 데이터를 확보했습니다.
CubePart는 새 모델을 만드는 것뿐 아니라 기존 단일 메쉬를 새 부품 스키마에 맞춰 분해하는 기능도 지원합니다. 관련 연구는 arXiv에 공개됐으며, 오픈소스 Cube 저장소에도 업데이트되었습니다. 향후 Roblox Studio에 직접 탑재될 예정입니다.
왜 중요한가
CubePart는 생성형 3D 기술이 정적인 디지털 조각상에서 벗어나 실제 상호작용 가능한 에셋으로 진화하는 계기를 마련했습니다.
그동안 3D 생성 모델들은 텍스처 해상도나 기하학적 형태의 정교함에만 집중해 왔습니다. 하지만 게임이나 로봇 시뮬레이션 분야에서는 상호작용할 수 없는 덩어리 모델은 쓸모가 없습니다. 로블록스가 겉보기 화려함 대신 게임 엔진 스크립트와의 연결성을 먼저 풀어낸 것은 대단히 실용적인 판단입니다.
인디 개발자와 1인 창작자에게는 작업 속도를 획기적으로 끌어올릴 무기가 됩니다. 인터랙션이 들어간 소품이나 이동 수단을 제작할 때 메쉬 분리와 리깅에 들어가던 수작업 시간을 대폭 줄일 수 있기 때문입니다.
물론 한계도 명확합니다. 현재 CubePart는 단단한 강체 분해만 지원하며, 캐릭터 피부처럼 뼈대에 따라 늘어나는 스키닝 메쉬는 지원하지 못합니다. 부품 간 경계가 미세하게 겹치거나 좌우 공간 추론에서 오차가 발생하는 문제도 해결해야 할 과제입니다.
그럼에도 불구하고 3D 생성물을 곧바로 코드로 다룰 수 있는 게임용 부품으로 바꿨다는 점에서, 향후 3D 인터랙티브 콘텐츠 제작 파이프라인의 기준을 바꿀 가능성이 큽니다.
출처 (1)
- about.roblox.com(새 탭에서 열림)원문about.roblox.com