Wavefront OBJ Nedir?
3D grafik dünyasının en köklü, en güvenilir ve evrensel olarak kabul gören dosya biçimlerinden biri olan OBJ formatının tüm anatomisini keşfedin.
Kökeni ve Tarihçesi
İlk olarak 1980'lerde Wavefront Technologies tarafından "Advanced Visualizer" uygulaması için geliştirildi. Zamanla tüm 3D yazılımların ortak dili haline geldi.
Metin Tabanlı (ASCII) Yapı
OBJ dosyaları tamamen okunabilir metin formatındadır. Herhangi bir kod editörü veya not defteri ile açılıp içeriği kolayca düzenlenebilir.
Desteklediği Veriler
Geometri verileri (köşeler, poligonlar), doku koordinatları (UV mapping), yüzey normalleri ve ek malzeme dosyası (.mtl) referanslarını barındırır.
Küp Dosyasının Anatomisi
Aşağıda basit bir 3D küp modelinin OBJ kod karşılığını görmektesiniz. Satırların üzerine gelerek 3D uzayda neyi temsil ettiklerini sağdaki interaktif ekrandan gözlemleyebilirsiniz.
Nasıl Çalışır?
Soldaki kod satırlarının üzerine fare imlecini getirerek, o verilerin 3D model üzerindeki geometrik izdüşümlerini interaktif olarak görebilirsiniz.
Dosya Parametrelerinin Anlamları
Geometric Vertices (Köşe Noktaları)
Modeli oluşturan noktaların 3 boyutlu uzaydaki mutlak koordinatlarını belirler. Her bir `v` tanımlamasından sonra sırasıyla X, Y ve Z eksen değerleri yazılır. Modelin iskeletini oluşturur.
Texture Vertices (Doku Koordinatları)
U ve V olarak bilinen 2B düzlem üzerindeki koordinatları tutar. Modelin üzerine sarılacak resimlerin (kaplamaların) hangi noktaya nasıl yerleşeceğini kontrol eden haritalandırma sistemidir.
Vertex Normals (Yüzey Yönelimleri)
Köşelerin dışa bakan yön vektörleridir. Işığın modele çarptığında nasıl yansıyacağını ve gölgelendirmelerin ne kadar yumuşak olacağını belirlemek için render motorları tarafından kullanılır.
Polygon Face (Poligon Yüzeyleri)
Köşe noktalarını birleştirerek asıl katı yüzeyi örer. `f 1/1/1 2/2/1 3/3/1` formatında yazılır; buradaki sayılar sırasıyla ilgili köşenin, dokunun ve normalin yukarıdan aşağıya kaçıncı satırda olduğunu gösteren indislerdir.
MTL (Material Template Library) Nedir?
OBJ dosyaları kendi içlerinde renk ve doku görsellerini saklayamazlar. Sadece geometrik yapıyı tutarlar. Renk, yansıma, parlaklık ve kaplama görseli gibi malzeme verileri, OBJ dosyasına eşlik eden ek bir .mtl dosyası içinde depolanır.
Avantajları
- • Evrensel destek: Tüm modern 3D modelleme programları tarafından doğrudan açılabilir.
- • Sade ve kararlı: Sadece temel geometrik verileri sakladığı için çökme riski çok düşüktür.
- • Kolay okuma: Metin tabanlı olması sayesinde gerektiğinde kodla kolayca manipüle edilebilir.
Sınırlandırmaları
- • Animasyon Yoktur: Kemik (rigging) veya animasyon hareket verilerini kesinlikle desteklemez.
- • Büyük Dosya Boyutu: Metin tabanlı olduğu için ikili (binary) formatlara göre diske daha fazla yer kaplar.
- • Sahne Hiyerarşisi: Kamera, ışıklandırma veya nesne ilişkileri gibi sahne verilerini barındıramaz.