CubePart: Generator 3D dengan Kosakata Terbuka dan Komponen yang Dapat Dikendalikan
Membangun Aset Game yang Siap Digunakan

Model generatif 3D modern dapat menghasilkan objek 3D yang indah dan kompleks dari prompt teks, tetapi bagi pengembang game, model 3D monolitik tidak berguna. Mobil, misalnya, harus dapat dikendarai. Roda harus berputar secara terpisah, pintu harus dapat dibuka, dan lampu depan harus dapat dinyalakan.
Saat ini, seniman 3D harus memotong model yang dihasilkan secara manual dan memberi nama pada bagian-bagiannya—proses yang tidak efisien saat skala ditingkatkan. Terobosan kami adalah CubePart: kerangka kerja AI generatif pertama yang memungkinkan pembangkitan mesh 3D dengan kosakata terbuka dan kontrol bagian. CubePart menghasilkan kumpulan mesh yang terpisah, fungsional, dan dilabeli dengan akurat yang sesuai dengan kebutuhan pemrograman pengembang secara langsung.
CubePart memperluas konsep skema tetap yang kami perkenalkan dengan 4D Generation untuk memberdayakan kreator dalam menentukan daftar bagian yang harus dibagi dari suatu objek. Kumpulan mesh yang dihasilkan oleh CubePart langsung masuk ke mesin game dan dapat dikendalikan oleh animasi, fisika, dan skrip gameplay tanpa perlu pembersihan manual. Kami telah mempublikasikan penelitian CubePart kami di arXiv dan memperbarui repositori Cube open source kami untuk mendukung pembuatan yang dapat dikendalikan bagian per bagian. Akhir tahun ini, kami akan mempresentasikan temuan kami di SIGGRAPH.
Skema: Kontrak API untuk Aset 3D Interaktif
Di Roblox, perilaku interaktif diimplementasikan dalam skrip yang beroperasi pada bagian-bagian—anak-anak aset yang spesifik dan diberi nama. Bahkan aset yang serupa mungkin memerlukan bagian yang sama sekali berbeda tergantung pada game atau situasinya. Taksonomi yang tetap akan membatasi kreativitas dan fungsionalitas, sehingga CubePart menawarkan dua input:
- Prompt teks global yang mendeskripsikan seperti apa objek tersebut: misalnya, "mobil balap bertema ubur-ubur."
- Daftar bagian yang spesifik dan terbuka yang disebut skema: misalnya, "roda depan kiri", "roda depan kanan", "roda belakang kiri", "roda belakang kanan", "senjata", "lampu depan", "pipa knalpot", "bodi".
Skema adalah kontrak API antara aset dan kode gameplay, dan CubePart memungkinkan pembuat untuk menghasilkan aset yang sesuai dengan kontrak tersebut. Kontrol kosakata terbuka ini memungkinkan CubePart untuk menangkap keragaman aset dan pengalaman Roblox.
Pembentukan dalam Dua Tahap
CubePart adalah arsitektur difusi dua tahap yang dibangun di atas representasi bentuk laten VecSet.
Pada ilustrasi di bawah ini, pengguna memasukkan dua prompt.
- Prompt teks global: "Sebuah truk derek yang memiliki ciri khas kartun."
- Skema: “kabin”, “sasis”, “roda”, “lampu atap”, “perangkat derek”.
Tahap 1 bertanggung jawab untuk menentukan bentuk dasar objek, (truk derek yang dicirikan oleh fitur-fitur kartun). Tahap ini menghasilkan satu laten untuk seluruh objek menggunakan arsitektur MMDiT dengan encoder teks Qwen-VL, yang dilatih pada sekitar 4,7 juta pasangan mesh-teks. Ini adalah tahap yang membutuhkan banyak data: Memetakan bahasa kosakata terbuka ke geometri 3D adalah bagian tersulit dari 3D generatif, dan membutuhkan korpus yang besar dan beragam untuk melakukannya dengan baik. Kami juga menyempurnakan Tahap 1 agar peka terhadap skema.



Dataset dan Pipeline VLM Kami
Untuk melatih CubePart, kami membuat dataset yang menampilkan lebih dari 460.000 aset—lebih dari 11 kali lebih besar dari dataset publik sebelumnya1—dan 2,02 juta bagian. Alih-alih pelabelan manual, kami membangun pipeline otomatis menggunakan model bahasa-penglihatan (VLM).
Pipa kerja ini merender ribuan model 3D dari berbagai sudut menggunakan pendekatan berpasangan: satu gambar bertekstur (untuk konteks semantik) dan satu gambar berwarna bagian (untuk pelacakan batas yang presisi). Keduanya diberi tanda dengan penanda bernomor yang identik, memberikan VLM pegangan berbasis teks untuk berargumen di ruang 3D serta mengelompokkan dan menamai setiap bagian.
Berbeda dengan dataset yang diterbitkan sebelumnya di mana setiap roda pada kendaraan hanya diberi label "roda", dataset kami mengajarkan AI untuk membedakan secara spasial (misalnya, membedakan "roda kiri depan" dari "roda kanan belakang"). Ketepatan pencocokan inilah yang dicari oleh mesin game.
Apa yang Dibuka oleh CubePart dan Apa Selanjutnya
CubePart memungkinkan kreator menghasilkan aset yang sesuai dengan kode gameplay mereka dan memiliki kompatibilitas langsung dengan alur kerja animasi, fisika, dan skrip yang ada. CubePart juga dapat mendekomposisi mesh seniman yang ada ke skema baru, yang berguna untuk memperbarui aset warisan, bukan hanya menghasilkan yang baru.
Masih banyak yang harus dilakukan. CubePart menangani dekomposisi rigid-body, tetapi kami juga sedang mengerjakan bobot vertex yang disesuaikan untuk deformasi karakter organik. Perhatian antar-bagian secara dramatis mengurangi tumpang tindih tetapi tidak menghilangkannya sepenuhnya. Penalaran spasial—"depan kiri" versus "belakang kanan"—masih memiliki ruang perbaikan yang signifikan.
Kami melihat pembangkitan berbasis skema sebagai langkah yang membuat 3D generatif berguna di platform di mana setiap aset berpartisipasi dalam simulasi. Segera, teknologi ini akan tersedia bagi para kreator Roblox langsung di dalam Roblox Studio.



