NK
Oyun geliştirme7 dk okuma

Claude Code, Blender MCP ve Tripo 3D ile oyun yapmak

Promptla model üret, Blender'da temizlet, oyuna koy. Tek akış, tek masa.

NKYazan — Kurucu, Noyan Bilişim
Claude Code, Blender MCP ve Tripo 3D ile oyun yapmak
Bu yazıda
  1. Darboğaz artık kod değil
  2. Üç parça, tek ekip
  3. Kurulum: yarım saatte hazır
  4. Akış: fikirden oyunun içine
  5. İşe yarayan promptlar
  6. Hangi oyunlar için uygun?
  7. Dikkat etmen gerekenler
  8. Rol değişimi

Son bir yılda birkaç mobil oyun çıkardım. Hepsinde aynı şeyi gördüm: kodu yazdırmak artık işin en kolay kısmı. Oyun döngüsü, menüler, skor sistemi, online odalar... Bunların hepsi birkaç gün içinde ayağa kalkıyor. Beni asıl yavaşlatan şey görseller oldu. İki boyutlu oyunlarda hazır asset paketleriyle idare ediyorsun. Üç boyuta geçince iş değişiyor. Bir yarış oyununda araçlar oyuncak gibi duruyorsa, oyuncu ikinci turu atmıyor.

Bu yazıda o darboğazı nasıl çözdüğümü anlatıyorum. Üç aracı tek bir hatta bağlıyorum: Claude Code, Blender MCP ve Tripo 3D. Sonuç şu: oyunun kodunu yazan asistan, Blender'ın içine de girebiliyor, modeli üretip temizleyebiliyor ve oyun motoruna hazır hale getirebiliyor. Ben ise yönetmen koltuğunda oturuyorum.

Darboğaz artık kod değil

Bağımsız bir geliştirici ya da küçük bir ekip için 3D oyunun maliyeti genelde kodda değil, varlık üretiminde. Bir karakteri modellemek, topolojisini düzeltmek, UV açmak, doku boyamak, iskelet takmak, motora doğru ölçekle aktarmak... Her biri ayrı uzmanlık. Asset mağazaları bir noktaya kadar kurtarıyor ama oyununa özgü bir şey istediğinde yine başa dönüyorsun.

Üretken 3D modeller bu denklemi değiştirdi. Bugün bir görselden ya da bir cümleden, dokusu ve PBR malzemeleri olan bir model birkaç dakikada çıkıyor. Ama ham çıktı oyuna doğrudan girmiyor. Ölçek yanlış, pivot noktası havada, poligon sayısı mobil için fazla, isimler anlamsız. İşte Blender MCP tam bu boşluğu dolduruyor.

Üç parça, tek ekip

Her aracın rolü net:

  • Claude Code orkestra şefi. Terminalde çalışıyor, projenin bütün dosyalarını görüyor, oyunun kodunu yazıyor. MCP sunucularıyla başka uygulamaları da kontrol edebiliyor.
  • Blender MCP, Claude'un Blender'daki elleri. Blender'ın içine bir eklenti kuruyor, bu eklenti küçük bir soket sunucusu açıyor; MCP sunucusu da Claude ile Blender arasında köprü oluyor. Claude sahneyi okuyabiliyor, nesneleri taşıyabiliyor, malzeme atayabiliyor, viewport'un ekran görüntüsünü alıp ne yaptığını gözüyle kontrol edebiliyor ve gerekirse Blender'da doğrudan Python çalıştırabiliyor.
  • Tripo 3D model fabrikası. Metinden, tek bir görselden ya da birden fazla açıdan çekilmiş görsellerden 3D model üretiyor. Doku, retopoloji, otomatik iskelet ve animasyon gibi işlemleri de API üzerinden sunuyor. Oyunlar için ayrıca dörtgen topolojili çıktı veren bir model serisi var; animasyon ve rig için bu fark ediyor.

Bu üçü birleşince akış şöyle oluyor: Ben ne istediğimi anlatıyorum, Claude Code Tripo'dan modeli istiyor, Blender'a alıyor, temizliyor, dışa aktarıyor ve oyunun koduna bağlıyor. Ben her adımda ekrana bakıp onaylıyorum ya da düzeltiyorum.

Kurulum: yarım saatte hazır

Blender ve uv

Blender 3.0 ve üzeri yeterli, ben güncel sürümü kullanıyorum. Blender MCP, Python paketlerini çalıştırmak için uv paket yöneticisini kullanıyor. uv'yi pip ile değil, kendi resmi kurulum betiğiyle kurmanı öneririm.

Blender MCP

Proje yakın zamanda yeniden adlandırıldı: eski adı blender-mcp, yenisi mcp-for-blender. Eski komut hala çalışıyor ama yeni kurulumlarda yeni adı kullan. En kısa yol otomatik kurulum:

Terminal
uvx mcp-for-blender setup

Bu komut eklentiyi Blender'a kuruyor, bilgisayarındaki MCP istemcilerini bulup ayarlarına blender girişini ekliyor. Elle yapmak istersen önce eklentiyi kur, sonra Claude Code'a sunucuyu tanıt:

Terminal
uvx mcp-for-blender install-addon
claude mcp add blender -- uvx mcp-for-blender

Ardından Blender'da Edit → Preferences → Add-ons altında eklentiyi etkinleştir. 3D görünümde N tuşuna bas, yan panelde MCP for Blender sekmesini aç ve Start MCP Server butonuna tıkla. Claude Code'da /mcp yazınca blender sunucusunu bağlı görmelisin.

Tripo

Tripo'yu iki şekilde bağlayabilirsin. Birincisi Tripo'nun resmi MCP sunucusu. Bu sunucu Tripo'nun Blender eklentisiyle çalışıyor; doğal dilde istediğin modeli üretip doğrudan Blender'a alıyor. Henüz alfa aşamasında ama denemeye değer:

Terminal
claude mcp add tripo -- uvx tripo-mcp

İkinci yol, benim daha çok tercih ettiğim yol: Tripo API'sini doğrudan Claude Code'a kullandırmak. Tripo'nun geliştirici panelinde bir API anahtarı oluşturuyorsun, ortam değişkenine koyuyorsun:

Terminal
export TRIPO_API_KEY="anahtarın-buraya"

Sonra Claude Code'dan küçük bir betik yazmasını istiyorsun: görevi oluştursun, tamamlanana kadar durumunu sorgulasın, GLB dosyasını projedeki assets/raw klasörüne indirsin. Bu yolun avantajı kontrol. Hangi modeli kullanacağını, poligon sınırını, dörtgen topolojiyi, doku kalitesini ve retopolojiyi parametre olarak sen seçiyorsun. Bir de her şey kayıt altında; aynı modeli yarın aynı ayarlarla yeniden üretebiliyorsun.

Bir not: API anahtarını asla repoya yazma. .env dosyasında tut ve .gitignore'a ekle.

Akış: fikirden oyunun içine

1. Önce kurallar: stil kartı

En büyük hata, her modeli ayrı ayrı istemek. Sonuçta her biri farklı bir oyundan çıkmış gibi duruyor. Ben işe bir stil kartıyla başlıyorum ve projenin köküne ART.md adında bir dosya koyuyorum. İçinde şunlar var: görsel dil (low-poly mu, stilize mi, gerçekçi mi), renk paleti, ölçek kuralları (karakter boyu, kapı yüksekliği), poligon bütçesi, doku çözünürlüğü, dosya ve nesne isimlendirme kuralları. Claude Code bu dosyayı her adımda okuyor. Tutarlılığın sırrı bu.

Benim kullandığım şablon kabaca şöyle:

Markdown
# ART.md
Stil: stilize low-poly, yumuşak gölgeler, abartılı oranlar
Palet: #1F2A44, #F2C14E, #E4572E, #76B041, #F5F1E8
Ölçek: 1 birim = 1 metre, karakter boyu 1.8, araç uzunluğu 2.2
Bütçe: kahraman 12.000 üçgen, araç 8.000, prop 1.500
Doku: kahraman 2048, araç 1024, prop 512, PBR
Pivot: tabanın ortası, ileri yön -Y
İsimler: tür_ad_varyant (kart_racer_red, prop_barrel_01)

Bu kadar. Kısa, ölçülebilir ve tartışmaya kapalı kurallar. Bir şey yanlış çıktığında Claude'a "ART.md'ye uymuyor" demem yetiyor; neyin uymadığını kendisi buluyor.

2. Modeli üret

Metinden üretim hızlı ama kontrol zayıf. Görselden üretim çok daha tutarlı sonuç veriyor. Ben önce bir referans görsel hazırlıyorum: nesne tek başına, düz arka planda, mümkünse önden ve hafif yukarıdan. Karakterler için kollar hafif açık, simetrik bir duruş. Birden fazla açı varsa çok açılı üretim daha da iyi oluyor.

Mobil oyun için iki ayarı mutlaka kullanıyorum: düşük poligon seçeneği ve yüz sayısı sınırı. Animasyon olacaksa dörtgen topolojili model serisini seçiyorum. Bu tür modelleri riglemek ve deforme etmek çok daha kolay.

Maliyet de makul. Tripo'da kredi sistemi var ve bir kredi bir cent. Metinden dokulu bir model 20, görselden dokulu bir model 30 kredi civarında. Yani bir modelin ilk hali yaklaşık 20 ila 30 cent. Retopoloji ya da otomatik rig gibi işlemler ayrıca ücretleniyor.

3. Blender MCP ile temizle

Burası sihrin olduğu yer. Ham model Blender'a girdikten sonra Claude'a şunları yaptırıyorum:

  • Ölçeği ART.md'deki kurallara göre ayarla, dönüşümleri uygula.
  • Pivot noktasını tabana, nesnenin ortasına al.
  • Poligon sayısını kontrol et; bütçeyi aşıyorsa decimate uygula, sonra viewport görüntüsünü alıp şeklin bozulmadığını kontrol et.
  • Malzemeleri sadeleştir, gereksiz doku kanallarını temizle, dokuları belirlenen çözünürlüğe indir.
  • Çarpışma için basit bir gövde üret (box ya da convex hull), adını kurala göre koy.
  • Nesneyi ve malzemeyi isimlendirme standardına göre yeniden adlandır.

Claude bunları yaparken Blender'ın Python API'sini kullanıyor ve viewport'un ekran görüntüsünü alarak sonucu kendisi kontrol ediyor. Ben de aynı anda ekrana bakıyorum. Beğenmediğim bir şey olursa sadece söylüyorum: "tekerlekler fazla ince, yüzde yirmi kalınlaştır" ya da "arka tarafta delik kalmış, kapat".

4. Motora aktar

Son adım dışa aktarım. Hangi formatı seçeceğin motoruna bağlı:

  • Godot ve web (three.js) için glTF/GLB. Blender'ın glTF aktarıcısı eksen dönüşümünü kendisi yapıyor.
  • Unity için FBX ya da GLB. Ölçeğe dikkat: Blender'da bir birim bir metre, Unity'de de öyle. Uygulanmamış dönüşüm bırakma.
  • iOS tarafında RealityKit ya da SceneKit kullanıyorsan USDZ.

Dışa aktarımdan sonra Claude Code oyun tarafına geçiyor: modeli yükleyen kodu yazıyor, çarpışma gövdesini bağlıyor, gerekiyorsa uzak mesafe için daha düşük detaylı bir LOD sürümü ekliyor. Aynı asistan hem sahnede hem kodda çalıştığı için isimler ve ölçekler arasında kopukluk olmuyor. Benim için en büyük kazanç bu.

İşe yarayan promptlar

Birkaç örnek vereyim. Kısa ve kurallı yazmak, uzun ve süslü yazmaktan her zaman daha iyi sonuç veriyor.

Prompt
ART.md'yi oku. assets/refs/kart-01.png görselinden Tripo ile
düşük poligonlu, dokulu bir yarış arabası üret. Yüz sınırı 8000.
GLB'yi assets/raw/kart-01.glb olarak kaydet.
Prompt
Blender'da kart-01'i aç. ART.md'deki ölçeğe getir, dönüşümleri uygula,
pivotu tabana al. Tekerlekleri ayrı nesne yap ve wheel_FL, wheel_FR,
wheel_RL, wheel_RR diye adlandır. Her adımdan sonra viewport
görüntüsünü al ve bana göster.
Prompt
Sahneyi assets/game/kart-01.glb olarak dışa aktar. Sonra oyunda
oyuncu aracını bu modelle değiştir, tekerlek nesnelerini hıza göre
döndüren kodu ekle ve çarpışma kutusunu modele göre güncelle.

Fark ettiysen hiçbirinde Blender'ın menülerinden bahsetmiyorum. Ne istediğimi söylüyorum, nasıl yapılacağını Claude buluyor.

Hangi oyunlar için uygun?

Bu akışın en çok parladığı yer, çok sayıda benzer ama farklı nesneye ihtiyaç duyan oyunlar. Bir yarış oyununda on iki araç, bir şehir kurma oyununda yüzlerce bina ve dekor, bir hayatta kalma oyununda silahlar, sandıklar, kayalar ve ağaçlar. Bunların her birini elle modellemek haftalar alır. Stil kartı sabit kaldığı sürece bu hat aynı dilde onlarcasını birkaç günde çıkarıyor.

Prototip aşamasında da çok değerli. Bir oyun fikrini gri kutularla test etmek yerine, ilk gününden tanınabilir modellerle test edebiliyorsun. Bu, hem senin karar vermeni hem de oyunu gösterdiğin kişilerin fikri anlamasını kolaylaştırıyor. Yatırımcıya ya da yayıncıya gri kutu gösterip "hayal edin" demekle, oynanabilir ve tutarlı görünen bir sahne göstermek arasında büyük fark var.

Daha zorlandığı yerler de var: yüz ifadesi önemli olan hikaye karakterleri, çok ince mekanik parçalar ve marka kimliği olan nesneler. Buralarda üretken model bir başlangıç noktası, son durak değil.

Dikkat etmen gerekenler

Bu akış güçlü ama sihirli değnek değil. Sahada öğrendiklerim:

  • Önce kaydet. Blender MCP, Claude'un Blender'da Python çalıştırmasına izin veriyor. Bu güçlü ama riskli. Her büyük işlemden önce dosyayı kaydet. Daha kontrollü çalışmak istersen eklentinin güvenli modunu BLENDER_MCP_SAFE_MODE=1 ile açabilirsin.
  • Sunucuyu yerelde tut. Eklentinin soket sunucusunda kimlik doğrulama yok. Varsayılan olarak localhost üzerinde çalışıyor, öyle kalsın.
  • Tek istemci kullan. Aynı anda hem Claude Desktop'ta hem Claude Code'da Blender sunucusu çalıştırma. Çakışıyor.
  • İşleri böl. "Bütün şehri kur" gibi tek seferlik dev istekler zaman aşımına düşebiliyor. Adım adım ilerle, her adımda görüntü al.
  • Animasyonlu karakterler ayrı bir dünya. Sabit objelerde üretken modeller çok iyi. Karakterlerde topoloji ve rig kalitesi kritik. Ya dörtgen topolojili model ile otomatik rig kullan ya da ana karakterler için bir 3D sanatçıyla çalış. Benim önerim: arka plan karakterlerini ve objeleri üret, kahramanı bir sanatçıyla bitir.
  • Lisansı kontrol et. Kullandığın hizmetin ticari kullanım koşullarını oku, özellikle ücretsiz planlarda.
  • Performansı cihazda ölç. Editörde akıcı görünen sahne eski bir telefonda takılabilir. Poligon ve doku bütçeni gerçek cihazda doğrula.

Rol değişimi

Bu işin bende bıraktığı asıl his şu: rolüm değişti. Eskiden bir 3D oyun fikri aklıma geldiğinde ilk sorum "bunu kim modelleyecek" olurdu. Şimdi ilk sorum "bu oyun nasıl görünmeli". Teknik adımlar hala var ama artık hepsini tek tek ben yapmıyorum. Ben yönü belirliyorum, kuralları yazıyorum, sonucu değerlendiriyorum.

Yirmi yılı aşkın medya ve satış tecrübemden öğrendiğim bir şey var: iyi iş, doğru brief ile başlar. Bu araçlarla da durum aynı. Stil kartın net, referansların temiz ve isteklerin kurallıysa, ortaya çıkan iş seni şaşırtıyor. Belirsizsen, araç ne kadar güçlü olursa olsun sonuç dağınık oluyor.

Kendi denemelerini yaparsan bana yaz; hangi adımda takıldığını, hangi promptun işe yaradığını merak ediyorum.

EtiketlerClaude CodeBlender MCPTripo 3Doyun geliştirmeyapay zeka
PaylaşLinkedInXWhatsApp
(—) İletişim

Yeni bir ürün, bir ortaklık ya da iyi bir fikir.

E-mailnoyan@noyankalay.com
İstanbul’da saat
--:--
Instagram
@noyan.kalay

Genellikle 24 saat içinde dönüş yaparım.