AI 3D araçları ve Minecraft
2 dk okuma
Metinden 3B model üreten araçlar gerçekten iyi çalışıyor — ama ürettikleri şey Minecraft'ın okuyabileceği bir şey değil. Fark bir dosya biçimi meselesi olsaydı dönüştürücüyle çözülürdü. Değil: iki sistem nesneyi bambaşka şeylerden kuruyor ve dönüşüm her iki yönde de bilgi kaybıyla oluyor.
İki farklı geometri anlayışı
| Genel 3B araçlar | Minecraft | |
|---|---|---|
| Yapı taşı | Üçgen ağı (mesh) | Eksenlere hizalı kutu |
| Parça sayısı | On binlerce üçgen | Genelde 5-40 kutu |
| Dönme | Herhangi bir açı | Tek eksende, sınırlı açılar |
| Doku | Açılmış UV, çoğunlukla PBR katmanları | Tek atlas, tek katman |
| Çözünürlük | 2048 piksel ve üstü | Genelde 16-64 piksel |
Bu tablo bir kalite karşılaştırması değil. Minecraft'ın kutu sistemi "ilkel" olduğu için değil, oyunun görsel dili ve çizim bütçesi öyle olduğu için böyle. Yüz bin üçgenlik bir sandalye oyunda yavaşlatmaktan başka bir işe yaramıyor.
Dönüştürmek neden işe yaramıyor
Bir mesh'i kutulara çevirmek teknik olarak mümkün — vokselleştirme deniyor. Sorun sonucun kullanılabilir olmaması:
- Parça sayısı patlıyor. Eğri bir yüzeyi kutularla yaklaşık çizmek yüzlerce kutu istiyor. Elle yapılmış bir modelde aynı biçim 8 kutuyla anlatılıyor, çünkü modelci hangi ayrıntının önemli olduğunu biliyor.
- Doku bozuluyor. Açılmış UV'li bir doku, kutu yüzlerine yeniden dağıtılamıyor; sonuç bulanık ya da kaymış oluyor.
- Ölçek tutmuyor. Genel araçlar birimsiz üretiyor; Minecraft'ta 16 birim bir blok ve nesnenin oyuncuya göre boyu doğrudan kullanılabilirliği belirliyor.
- Anlam kayboluyor. Modelin "ayak", "tabla", "kapak" gibi parçaları vokselleştirmeden sonra tek bir kutu yığınına dönüşüyor; sonradan elle düzenlemek neredeyse imkânsız.
Eksik olan asıl şey: eklenti tarafı
Diyelim geometri sorununu bir şekilde çözdün. Elinde hâlâ oyuna kurulabilir bir şey yok. Eksik olanlar:
- Doku atlası. Kutu yüzlerine göre yerleştirilmiş, tek katmanlı bir PNG.
- UV koordinatları. Her yüzün atlastaki yeri, model JSON'una yazılmış hâlde.
- Eklenti yapılandırması. ItemsAdder, Nexo, Oraxen ya da CraftEngine'in beklediği
ymlve klasör ağacı. - Çarpışma kutusu. Blok cinsinden, modelin gerçek boyutundan hesaplanmış.
- Mobilyaysa ölçek telafisi. Eklenti mobilyayı yarım ölçekte çizdiği için düzeltilmesi gereken bir değer.
Aranan şey dönüştürücü değil, doğru hedef
Buradan çıkan sonuç şu: mesh üretip Minecraft'a çevirmeye çalışmak yanlış sırayla ilerlemek oluyor. İşe yarayan araçlar en baştan Minecraft'ın istediği çıktıyı hedefliyor — kutu geometrisi, tek katmanlı atlas ve eklentinin beklediği yapılandırma. Kayıp olmuyor çünkü çevrilecek bir şey yok.
Bu, genel amaçlı araçların kötü olduğu anlamına gelmiyor. Bir oyun motoru için, bir baskı için ya da bir görselleştirme için onlar doğru araç. Minecraft'ın istediği şey başka.
Peki ne zaman genel bir araç kullanmalı
- Minecraft dışında bir hedefin varsa. Unity, Unreal, Blender ya da 3B baskı için mesh doğru çıktı.
- Referans görsel üretmek için. Nesnenin nasıl görünmesini istediğini kendine göstermek, sonra tarifi ona bakarak yazmak işe yarıyor.
- Büyük ve kaba yapılar için. Ayrıntısı önemsiz, kütlesi önemli şeylerde vokselleştirme kabul edilebilir sonuç veriyor.
Sık sorulanlar
- Metinden 3B üreten bir aracın çıktısını Minecraft'a aktarabilir miyim?
- Doğrudan hayır. O araçlar üçgen ağı üretiyor, Minecraft eksenlere hizalı kutu okuyor. Vokselleştirme mümkün ama parça sayısı patlıyor, doku bozuluyor ve elde eklenti yapılandırması yine olmuyor.
- Vokselleştirme hiç mi işe yaramıyor?
- Büyük ve kaba yapılarda — kale, heykel, arazi parçası gibi — kabul edilebilir sonuç veriyor. Sandalye, fener, silah gibi eşyalarda parça sayısı ve doku kalitesi kullanılabilir olmuyor.
- Minecraft neden mesh desteklemiyor?
- Oyunun görsel dili ve çizim bütçesi kutu geometrisi üstüne kurulu. Yüz bin üçgenlik bir sandalye oyunda görsel bir kazanç sağlamadan başarımı düşürürdü.