Yapay Zeka ile 3D Model Oluşturma: Blender mı, Tripo AI ile Resimden 3D mi?
Yapay zeka ile 3D model oluşturma, oyun karakteri çıkarır mı? Blender script'ini Tripo AI'ın resimden 3D özelliğiyle karşılaştırdım, modeli iskelet ve animasyonlarla bir oyun karakterine dönüştürdüm.

Son zamanlarda 3D bir RPG yapıyorum ve yeni bir canavara ihtiyacım vardı: taş bir heykel. Harabelerde yaşıyor, elinde uzun bir taş cetvel taşıyor. Görünüşü sert ama oranları biraz sevimli.
Bütün süreci yapay zekaya bıraktım: önce konsept çizim, sonra yapay zeka ile 3D model, en son da Godot'ya aktarma. İlk adım harika çıktı. İkinci adım tam bir felaketti. Bu yazıda yapay zeka ile 3D modellemenin iki yolunu karşılaştırıyorum: yapay zekaya Blender script'i yazdırıp modeli sıfırdan kurmak ve Tripo AI ile konsept çizimi 2D'den 3D'ye çevirmek. Sonunda da modeli oyunda gerçekten hareket eden bir karaktere dönüştürüyorum.
1. adım: Codex ile konsept çizim, ilk denemede tamam

Konsept çizimi, Codex CLI'ın gpt-image'ı çağırmasıyla yaptım. Oyundaki mevcut bir karakterin görselini referans olarak verdim, sonra heykel canavarın tasarımını açık açık yazdım:
- Yaklaşık 2,2 metre boyunda; büyük kafa, kısa bacaklar, oyuncak gibi oranlar
- Açık gri, aşınmış taş; çatlaklarında biraz yosun
- Taştan oyulmuş bir kukuleta, göğsünde güneş deseni olan bir cüppe, kare tokalı bir kemer
- Gözler mavi parlayan iki ince yarık; vücudundaki tek ışık bu
- Önden, yandan ve kaide üzerinde hareketsiz duran hali, hepsi tek görselde
Gelen görsel neredeyse kafamdaki şeyin aynısıydı: oranlar sevimli, detay bol, oyundaki diğer karakterlerin yanında hiç sırıtmıyor. Buraya kadar her şey yolundaydı.
2. adım: Yapay zekaya Blender script'iyle modelletmek ters gitti

Sonra yapay zekadan, konsept çizime bakarak modeli "birleştiren" bir Blender Python script'i yazmasını istedim. "Blender AI" ile modelleme denince çoğu kişinin aklına gelen de bu: kafa, kenarı pahlanmış bir küp; gövde, kollar ve bacaklar birkaç küp ve silindir; hepsi tek tek yerine konuyor. Bu arada iskeleti ve bekleme, yürüme, saldırı, devrilme animasyonlarını da yaptı.
Teknik olarak hepsini yaptı. Model hareket ediyor, Godot için GLB olarak da dışa aktarılıyor. Ama konsept çizimin yanına koyunca aradaki fark ilk bakışta belli:

- Lego gibi duruyor: konsept çizimdeki yuvarlak kukuleta ve tombul yumruklar, üst üste dizilmiş kutulara dönüşmüş.
- Oranlar kaymış: kafa-gövde oranı da ellerin boyutu da yanlış; konsept çizimdeki o tombul, sevimli hava kaybolmuş.
- Detaylar yok olmuş: cüppenin kıvrımları, kemer tokası, taştaki çatlaklar; bunları script'le tek tek yapmak zor, yapılsa bile kaskatı duruyor.
- Malzeme yok: konsept çizimdeki taş dokusu, kir ve yosun katmanları modelde tek düz bir griye inmiş.
Yapay zekanın yazdığı script'le modelleme neden başarısız oluyor
Sorun yapay zekanın yeterince akıllı olmaması değil. Yöntemin kendisi bu işe uygun değil.
Script'le modellemek, yapay zekadan "her parçanın koordinatını ve boyutunu yazıyla tarif etmesini" istemek demek. Masa, duvar, sütun gibi köşeli şeyler için bu harika çalışıyor. Ama bir karakter kavislerden ve hacimden oluşan bir kütle; birkaç temel şekle bölmek zor. Üstelik yapay zeka script'i yazarken ortaya ne çıktığını göremiyor. Tek yapabildiği render almak, karşılaştırmak ve düzeltmek; tur tur. Bir noktadan sonra her tur neredeyse hiçbir şey kazandırmıyor.
Kısacası konsept çizim "çizilmiş", model ise "birleştirilmiş". İkisi bambaşka yöntemler, tutmamaları da çok doğal.
Çözüm: resimden 3D model, doğrudan konsept çizimden
Elimde zaten beğendiğim bir konsept çizim olduğuna göre daha doğrudan bir yol vardı: bir araç bu görsele baksın ve 3D modeli ondan üretsin. Bu araçlara genelde "resimden 3D model" ya da "2D'den 3D'ye" (image to 3D) deniyor; fotoğraflarla kullanıldığında "fotoğraftan 3D modelleme" de deniyor. Yani yapay zeka ile 3D model oluşturma. Fotoğraf, elle çizim ya da yapay zekanın çizdiği konsept, hepsi girdi olabiliyor. Ben Tripo AI'ı seçtim (Tripo 3D diye de geçiyor).
Tripo'nun yapabildikleri:
- Resimden 3D: tek bir görsel ya da aynı karakterin birkaç açısını yükleyin, dokulu bir 3D model alın.
- Otomatik iskelet (rig): insansı karakterlere iskelet otomatik eklenebiliyor, ardından animasyon uygulanıyor.
- Yaygın formatlar: GLB, FBX, OBJ gibi formatlarda dışa aktarılıyor; Godot, Unity ve Blender'da doğrudan kullanılabiliyor.
- Ücretsiz plan var: önce deneyebilirsiniz. Kredi ve fiyatlar için resmi siteye bakın.
Tripo AI testi: heykel canavarın konsept çizimini 3D modele çevirmek
Konsept çizimi hiç dokunmadan, olduğu gibi Tripo'ya attım. İndirdiğim GLB şöyle:

İlk tepkim: işte istediğim heykel canavar bu. Kukuletadaki baklava deseni, göğüsteki güneş, kare kemer tokası, bileklerdeki diken halkası, çentikli taş cetvel; hepsi orada. Çatlaklarda biraz yosun bile var, gözler de mavi parlıyor. Bu detayların her birini script'le yapmam gerekseydi, hâlâ uğraşıyor olurdum.
Üstelik bu, bir tahtaya yapıştırılmış bir resim değil. Çevirip bakınca her biri tam bir 3D şekil:

Üç yöntemi yan yana koyunca fark çok net:

Yine de indirir indirmez oyuna koyabileceğiniz bir şey değil. İki şeye takıldım:
- Üç heykel tek modelde: önden, yandan ve kaide üstündeki haliyle bütün tasarım sayfasını yüklemiştim. Tripo da harfiyen üçünü birden yaptı ve tek bir modelde birleştirdi. Oyunda tek bir tane lazım; bir dahaki sefere yüklemeden önce ön görünüşü kırpacağım ya da çoklu görünüm (multi-view) kullanıp önü ve yanı aynı karakterin farklı açıları olarak vereceğim.
- Poligon sayısı çok yüksek: dosyada 1,87 milyon üçgen vardı ve 64 MB tutuyordu; bir oyun için fazlasıyla ağır. Oyun karakterleri genelde birkaç bin yüzden oluşur, yani oyuna koymadan önce poligon sayısını mutlaka düşürmek gerekiyor.
Oyuna hazır hale getirmek: Blender script'ine iyi olduğu işi yaptırın
Konsept çizimi sadece ön görünüşe kırpıp Tripo'ya tekrar verdim. Bu sefer tek bir heykel canavar çıktı ama poligon sayısı hâlâ çok yüksekti: yaklaşık 1,9 milyon üçgen, üç tane 4K doku, neredeyse 70 MB ve iskelet yok.

Tripo Studio'da HD Model'i, yapay zeka modeli olarak da H3.1'i (Best Quality) kullandım; bu ayarla bir üretim 40 kredi. Detaylar gerçekten yerinde ama bu poligon sayısı render için, oyun için değil.
İşin komik yanı, modeli toparlama işi beni yine Blender script'lerine geri getirdi. Bir script güzel bir şekil yontamıyor ama "düzelt, poligon düşür, renklendir, iskelet ekle, animasyon yap" gibi kurala dayalı işler tam onun alanı. Script şunları yaptı:
- Düzeltme: yönü sabitledi, ayakları zemine oturttu, boyu sabit bir birime ölçekledi.
- Cetveli ayırma: uzun, ince silahı gövdeden kesip temiz bir çubuk olarak yeniden yaptı (çentikleriyle birlikte) ve kendi kemiğine bağladı; böylece sallarken bacakları da peşinden sürüklemiyor.
- Önce kabuğu yeniden kurma, sonra poligon düşürme: Tripo'nun mesh'inde delikler vardı, parçalar da birbirine yapışıktı; doğrudan poligon düşürünce yırtılıyordu. Script önce modeli kapalı bir kabukla sardı, sonra yaklaşık 16.000 üçgene indirdi.
- Renklendirme: orijinal dokulardan renk örnekleyip 6 düz renk bloğuna indirdi. Gözlere ayrıca parlayan bir malzeme verdi.
- İskelet ve animasyonlar: 15 kemik; bekleme, yürüme, saldırı, ağır saldırı, darbe alma ve devrilme animasyonları.
Son dosya 1 MB'ın altında, poligon sayısı orijinalin yaklaşık yüzde biri ve hâlâ konsept çizimdeki heykel canavar:

En başta bir script'in sıfırdan kurduğu blok versiyonla kıyaslayınca, oyuna gerçekten girebilecek bir canavar bu.
Şu anki yapay zeka ile 3D modelleme sürecim

- Konsept çizim: Codex gpt-image'ı çağırıyor; stil referansı olarak oyundaki mevcut bir karakter veriliyor.
- Model üretimi: konsept çizimi tek bir karaktere kırpıp Tripo'ya veriyorum ve dokulu bir model alıyorum.
- Toparlama: Blender script'iyle kabuğu yeniden kuruyor, poligonu düşürüyor ve renkleri bloklara indiriyorum; böylece oyundaki diğer karakterlerin yanında sırıtmıyor.
- İskelet ve animasyon: aynı script iskeleti ekliyor; bekleme, yürüme, saldırı gibi animasyonları yapıyor.
- Godot'ya aktarma: GLB olarak dışa aktarıp oyuna alıyorum.
Yapay zeka ile 3D modellemenin üç yolu: hangisini seçmeli
Yöntem | Neye uygun | Dezavantajı |
|---|---|---|
Yapay zekanın yazdığı Blender script'i | Köşeli objeler; ayrıca poligon düşürme, iskelet ekleme gibi toparlama işleri | Karakterleri ve organik şekilleri sıfırdan düzgün yapmak zor |
Resimden 3D (Tripo) | Beğendiğiniz bir konsept çizim varsa ve hızlıca karakter lazımsa | Poligon sayısı çok yüksek, düşürmek gerekiyor; yüklenen görselde tek karakter olmalı |
Hazır asset satın almak | Yaygın insanlar, canavarlar ve objeler | Tasarımınıza birebir uyan karakteri bulamazsınız |
Benim çıkarımım: karakterleri resimden 3D ile üretip script'le toparlayın; köşeli objeleri script'le yapın; yaygın şeyler için hazır asset alın. Üçünü karıştırmak, her işi tek bir yönteme zorlamaktan çok daha az uğraştırıyor.
Siz de kendi oyununuzda ya da 3D projenizde modelleme adımında takıldıysanız, Threads ya da X üzerinden gönderilerimden birine yorum bırakın, konuşalım.
— Terry L