İçeriğe geç
Numex 3D

Model, tariften doğar

Numex 3D, Numex AI'ın kendi 3B motorudur. Bir modeli piksel ya da fırça darbesiyle değil, parçalarının tarifiyle kurar. Bu sayfa o tarifin nasıl çalıştığını anlatır.

Üç adım

1. Parçalara ayır. Nesne gerçek parçalarına bölünür ve gerçek ölçüleri düşünülür: bir fıçı gövde, kapak, dört demir çember ve tıpadır. Masa 75 cm, fincan 8 cm.

2. Tarifi yaz, motor kursun. Her parça biçimi, ölçüsü, malzemesi ve varsa hareketiyle tarife girer. Motor parçaları kurar, birleştirir ve tek bir GLB dosyası yazar.

3. Bak, düzelt, yeniden üret. Motor modelin önden, yandan, çaprazdan ve üstten görüntüsünü çıkarır. Bu görüntü istenenle karşılaştırılır; eksik ya da oransız parça tarifte düzeltilir.

Motorun fıçı için çıkardığı dört açılı görüntü

Tarif nedir

Tarif, bir modeli anlatan düz bir JSON dosyasıdır. Okunabilir, değiştirilebilir ve sürüm kontrolüne girer. Aşağıdaki, galerideki fıçının tarifinin başı:

{
  "ad": "Fıçı",
  "birim": "m",
  "parcalar": [
    {"ad": "gövde", "tur": "dondur", "kapali": true, "segment": 48, "malzeme": {"ad": "meşe fıçı", "renk": [0.55, 0.34, 0.18, 1], "puruz": 0.75}, "profil": [[0, 0], [0.25, 0], [0.3, 0.2], [0.32, 0.4], [0.3, 0.6], [0.25, 0.8], [0, 0.8]]},
    {"ad": "kapak", "tur": "dondur", "kapali": true, "segment": 48, "malzeme": {"ad": "koyu meşe", "renk": [0.4, 0.24, 0.12, 1], "puruz": 0.8}, "profil": [[0, 0.79], [0.24, 0.79], [0.24, 0.805], [0, 0.805]]},
    {"ad": "alt çember", "tur": "dondur", "kapali": true, "segment": 48, "malzeme": {"ad": "dövme demir", "renk": [0.25, 0.25, 0.27, 1], "metal": 0.8, "puruz": 0.5}, "profil": [[0.267, 0.07], [0.279, 0.07], [0.292, 0.12], [0.28, 0.12]]},
    … 4 parça daha
  ]
}

Gövde bir profilin eksen etrafında döndürülmesiyle (torna gibi) oluşur; çemberler de öyle. Profildeki her nokta [yarıçap, yükseklik], birim metre.

Parça türleri

İki aile var: ölçülü, keskin kenarlı mekanik parçalar ve yumuşak birleşen heykel parçalar. Bir model ikisini birlikte kullanabilir.

TürNe yaparÖrnek
dondurBir profili eksen etrafında döndürür (torna). İsteğe bağlı tırtıl dalgası.Şişe, fincan, objektif, piyon
uzatDüz bir şekli kalınlaştırır: çokgen, dişli, yıldız, daire, yuvarlak köşeli dikdörtgen.Dişli, tabela, masa tablası
kutu · silindirÖlçülü temel katılar.Çekmece, kasa, ayak
boruBir yol boyunca yuvarlak kesit; yarıçap yol boyunca değişebilir.Kulp, kablo, bisiklet kadrosu
heykelKüre, elipsoid, kapsül, eğri, koni, simit gibi hacimleri yumuşakça birleştirir; fark, kesişim, ayna, tekrar ve kabuk işlemleriyle yontar.Ejderha, kedi, karakter

Her parça konumlanabilir, döndürülebilir, ölçeklenebilir, aynalanabilir (simetrik kopya ayrı parça olur) ve çoğaltılabilir. Malzemeler gerçek fizik tabanlıdır: renk, metallik ve pürüz.

Hareket

Bir parçaya hareket verildiğinde, motor o parçayı kendi menteşe noktasına (pivot) bağlar ve döngüde oynayan bir animasyon yazar. İki tür var:

  • Dönme: kapı, kapak, kanat, tekerlek. Eksen, pivot ve açılar verilir.
  • Kayma: çekmece, sürgü. Yön ve mesafeler verilir.

Aynalanmış hareketli bir parçanın kopyası da aynalı hareket eder; ejderhanın iki kanadı birlikte çırpar. Galeride şu an 15 hareketli model var: yalnız hareketlileri göster.

Çıktı: GLB

Her model tek bir GLB (glTF 2.0) dosyasıdır. İçinde parçalar adlarıyla ayrı düğümler olarak, malzemeler PBR olarak ve animasyonlar hazır gelir. Doku dosyası gerekmez; dosyalar küçüktür.

Blender, Godot, three.js ve Babylon.js doğrudan açar; Unity ve Unreal glTF içe aktarma eklentisiyle açar. Hızlı bakmak için GLB görüntüleyici.

Numex AI'da

Aynı motor Numex AI'ın kod ajanının içinde de çalışır. Ajan bir oyun ya da 3B sahne yaparken gerekli modeli kendisi tarif eder, motora ürettirir, çıkan görüntüye bakıp tarifi düzeltir. Bu sırada ekranda “Numex 3D motoru çalışıyor” yazar.

Bu galerideki 41 modelin hepsi aynı motorla üretildi; başka bir yerden alınmış model yoktur.

Numex AI'ı aç