İçeriğe geç
Rehber

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çlarMinecraft
Yapı taşıÜçgen ağı (mesh)Eksenlere hizalı kutu
Parça sayısıOn binlerce üçgenGenelde 5-40 kutu
DönmeHerhangi bir açıTek eksende, sınırlı açılar
DokuAçılmış UV, çoğunlukla PBR katmanlarıTek atlas, tek katman
Çözünürlük2048 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:

  1. Doku atlası. Kutu yüzlerine göre yerleştirilmiş, tek katmanlı bir PNG.
  2. UV koordinatları. Her yüzün atlastaki yeri, model JSON'una yazılmış hâlde.
  3. Eklenti yapılandırması. ItemsAdder, Nexo, Oraxen ya da CraftEngine'in beklediği yml ve klasör ağacı.
  4. Çarpışma kutusu. Blok cinsinden, modelin gerçek boyutundan hesaplanmış.
  5. 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ü.