CubePart: Açık Sözlükli, Parça Kontrol Edilebilir 3D Oluşturucu
İşlevsel ve Oyuna Hazır Varlıklar Oluşturma

Modern 3D üretken modeller, metin komutlarından güzel ve karmaşık 3D nesneler oluşturabilir, ancak bir oyun geliştiricisi için tek parça bir 3D model pek kullanışlı değildir. Örneğin, bir araba sürülebilir olmalıdır. Tekerlekler ayrı ayrı dönmeli, kapılar açılmalı ve farlar yanmalıdır.
Şu anda, 3D sanatçıları oluşturulan modelleri manuel olarak parçalara ayırmak ve parçalara isim vermek zorundadır; bu süreç ölçeklenebilirlik açısından yetersizdir. Bizim çığır açan buluşumuz CubePart'tır: açık sözcük dağarcığına sahip, parçaları kontrol edilebilir 3D ağ oluşturmaya olanak tanıyan ilk üretken AI çerçevesi. CubePart, geliştiricinin programlama ihtiyaçlarına hazır olarak uyan, farklı, işlevsel ve doğru şekilde etiketlenmiş ağlardan oluşan bir set üretir.
CubePart, bir nesnenin parçalanması gereken parçaların listesini tanımlama yetkisini yaratıcılara vermek için 4D Generation ile tanıttığımız sabit şema kavramını genişletir. CubePart tarafından oluşturulan ağ kümesi, oyun motoruna doğrudan aktarılır ve manuel temizlik gerektirmeden animasyon, fizik ve oyun senaryoları ile kontrol edilebilir. CubePart araştırmamızı arXiv'de yayınladık ve parça kontrol edilebilir oluşturmayı desteklemek için açık kaynaklı Cube depomuzu güncelledik. Bu yılın ilerleyen aylarında, bulgularımızı SIGGRAPH'ta sunacağız.
Şema: Etkileşimli 3D Varlıklar için API Sözleşmesi
Roblox'ta etkileşimli davranış, bir varlığın belirli, adlandırılmış alt öğeleri olan parçalar üzerinde çalışan komut dosyalarıyla uygulanır. Benzer varlıklar bile oyuna veya duruma bağlı olarak tamamen farklı parçalar gerektirebilir. Sabit bir sınıflandırma yaratıcılığı ve işlevselliği sınırlayacağından, CubePart iki girdi sunar:
- Nesnenin neye benzediğini açıklayan genel bir metin istem: örneğin, "denizanası temalı yarış arabası".
- Şema olarak adlandırılan, gerekli parçaların yer aldığı belirli ve açık uçlu bir liste: örneğin, "ön sol tekerlek", "ön sağ tekerlek", "arka sol tekerlek", "arka sağ tekerlek", "silah", "farlar", "egzoz borusu", "gövde".
Şema, varlık ile oyun kodu arasındaki API sözleşmesidir ve CubePart, yaratıcının bu sözleşmeye uygun varlıklar oluşturmasına olanak tanır. Bu açık sözlük kontrolü, CubePart'ın Roblox varlıklarının ve deneyimlerinin çeşitliliğini yakalamasını sağlar.
İki Aşamalı Oluşturma
CubePart, VecSet gizli şekil temsiline dayanan iki aşamalı bir difüzyon mimarisidir.
Aşağıdaki örneklerde, kullanıcı iki komut girmiştir.
- Genel metin komutu: "Karikatürize özelliklere sahip bir çekici."
- Şema: "kabin", "şasi", "tekerlekler", "tavan ışığı", "çekme tertibatı".
1. aşama, nesnenin temel şeklini (çizgi film karakteristiklerine sahip bir çekici) tanımlamaktan sorumludur. Bu aşama, yaklaşık 4,7 milyon mesh-metin çifti üzerinde eğitilmiş Qwen-VL metin kodlayıcısını içeren bir MMDiT mimarisi kullanarak tüm nesne için tek bir gizli temsil üretir. Bu, veri açısından yoğun bir aşamadır: Açık sözlük dilini 3D geometriye eşlemek, üretken 3D'nin zor kısmıdır ve bunu iyi bir şekilde yapmak için büyük ve çeşitli bir metin külliyatı gerektirir. Ayrıca, 1. Aşama'yı şema farkındalığına sahip olacak şekilde ince ayar yapıyoruz.



Veri setimiz ve VLM iş akışımız
CubePart'ı eğitmek için, önceki kamuya açık veri kümelerinden 11 kat daha büyük olan 460.000'den fazla varlık ve 2,02 milyon parçadan oluşan bir veri kümesi oluşturduk. Manuel etiketleme yerine, görsel-dil modelleri (VLM'ler) kullanarak otomatik bir iş akışı oluşturduk.
İş akışı, eşleştirilmiş bir yaklaşım kullanarak binlerce 3B modeli çeşitli açılardan görüntüler: bir dokulu görüntü (anlamsal bağlam için) ve bir parça renkli görüntü (kesin sınır izleme için). Her ikisi de aynı numaralı işaretlerle damgalanır, bu da VLM'ye 3B uzayda akıl yürütme ve her parçayı kümeleme ve adlandırma için metinle adreslenebilir bir tutamaç sağlar.
Bir araçtaki her tekerleğin basitçe "tekerlek" olarak etiketlendiği daha önce yayınlanan veri setlerinden farklı olarak, veri setimiz yapay zekaya uzamsal farklılaştırmayı öğretir (örneğin, "ön sol tekerlek" ile "arka sağ tekerlek" arasında ayrım yapma). Bu eşleştirme hassasiyeti, oyun motorlarının tam olarak aradığı şeydir.
CubePart'ın Sağladığı Olanaklar ve Gelecek
CubePart, yaratıcıların oyun kodlarıyla eşleşen ve mevcut animasyon, fizik ve komut dosyası iş akışlarıyla doğrudan uyumlu varlıklar oluşturmasına olanak tanır. CubePart ayrıca mevcut sanatçı ağlarını yeni bir şemaya ayrıştırabilir; bu, sadece yeni varlıklar oluşturmakla kalmayıp, eski varlıkları yükseltmek için de yararlıdır.
Hala yapılacak çok iş var. CubePart, katı cisim ayrıştırmasını yönetir, ancak organik karakter deformasyonu için derili köşe ağırlıkları üzerinde de çalışıyoruz. Parça arası dikkat, çakışmayı önemli ölçüde azaltır ancak ortadan kaldırmaz. Uzamsal muhakeme — "ön sol" ile "arka sağ" arasındaki fark — hala önemli ölçüde iyileştirilmeye açık bir alandır.
Şema odaklı oluşturmayı, her varlığın bir simülasyona katıldığı bir platformda üretken 3D'yi kullanışlı hale getiren adım olarak görüyoruz. Yakında, bu teknoloji Roblox yaratıcıları için doğrudan Roblox Studio içinde kullanılabilir olacak.



