Yazılarımız

Cadsay

3DS MAX'TE SAHNE OPTİMİZASYONU İLE RENDER SÜRELERİNİ KISALTMAK

3ds Max sahne optimizasyonu konsepti soluk sarı zemin üstünde poligon azaltma diyagramı ve render saat ikonu

İstanbul'da bir mimari görselleştirme stüdyosunun yöneticisi şu hesabı yapıyor: dört kişilik ekip, üç hafta süren bir konut projesinde yaklaşık 90 saat render farm kiralamış. Saat başı yaklaşık 18 TL ödenmiş, sadece çıktıların makinede pişmesi için yaklaşık 1.620 TL gitmiş. Sahne dosyaları açıldığında durum tanıdık: 12 milyon poligonluk bir villa, 380'in üzerinde materyal, sandalyeler tek tek Copy olarak çoğaltılmış, banyo aksesuarları hâlâ XRef'siz büyük dosyada duruyor. Aynı projenin disiplinli optimize edilmiş hali, kabaca üçte bir maliyetle bitebilirdi.

3ds Max'te render süresi büyük ölçüde "donanım yetmiyor" değil "sahne disiplinsiz" probleminden doğar. Bir mobilya 800 bin poligon taşıyorken kameradan otuz metre uzaktaysa o detay hiçbir piksele dönüşmez ama belleği ve sample süresini tüketir. Aşağıda bir sahnenin nereden ağırlaştığını, hangi sıraya göre hafifletildiğini ve aynı çıktıyı yarı sürede almayı mümkün kılan pratik akışı, yerel stüdyoların gerçek iş senaryolarıyla birlikte ele alıyoruz.

Render Süresini Kim Belirler?

Render motoru bir tabloya bakar: ne kadar geometri var, ne kadar texture belleğe yüklü, kaç ışık örnek bekliyor, kaç sıçrama hesaplanacak. Her parametre süreye katkı verir ama katkıların büyüklüğü eşit değil. Mimari iç mekanda en pahalı kalemler sırasıyla şöyle dizilir:

  • Aşırı poligon yoğunluğu ve kullanılmayan modifier yığını
  • Yüksek çözünürlüklü texture'ların belleğe doluşması
  • Yanlış kurulmuş Global Illumination ve sample değerleri
  • Copy ile çoğaltılmış nesnelerin tekil mesh olarak saklanması
  • Sahnede duran ama kameraya girmeyen "ölü" geometri

Bu listeyi tersten okumak işe yarar. Bir villa render'ında saatleri kurtaran şey, çoğu zaman GI ayarlarının ince ayarı değil, banyodaki kapalı dolabın içine modellenmiş yedek havluların silinmesidir. Önce sahne, sonra materyal, en son motor — sıralama her zaman aynı.

Poligon Disiplini ve ProOptimizer

Statistics paneli klavyede 7 tuşuyla açılır; aktif viewport'un köşesinde toplam triangles, faces ve vertices değerleri görünür. Bir mimari iç mekan sahnesi için 4-6 milyon poligon yönetilebilir aralıktır; 10 milyonu aştığında sahne, donanımın değil disiplinin sınırına dayanmıştır.

Ağır objeyi bulmak için H ile Select by Name penceresini açın. Sütun başlığına sağ tıklayıp Configure Columns içinden Faces sütununu ekleyin; tek tıkla sahneyi en ağır objeden başlayarak sıralarsınız. Genellikle ilk beş objede sahnenin yarısı toplanır: bir Evermotion sandalyesi 480 bin, dekoratif bir armatür 320 bin, perdedeki Cloth simulation 290 bin — bu üç obje tek başına dosyanın eziyetini kuran kalemlerdir.

Bu noktada ProOptimizer modifier'ı sürpriz bir kazanç verir. Uzak veya orta plandaki bir nesneye uygulandığında Vertex % değeri 100'den 30-40'a düşürülür, sonuç görsel olarak ayırt edilmez. Akış şöyle:

  1. Hedef objeyi seç → Modifier List → ProOptimizer ekle
  2. Calculate butonuna bas (analiz sürer, birkaç saniye)
  3. Vertex % alanına 35 yaz (orta mesafe için tipik değer)
  4. Keep Materials, Keep Textures ve Keep Normals kutucukları işaretli kalsın
  5. Sonuç beğenildiyse sağ tık → Collapse To ile modifier'ı sabitleyin

Yakın plana giren karakter modeli haricinde, çoğu mimari obje için ProOptimizer'ın Optimize ve MultiRes'e göre üstünlüğü materyal ve UV bilgisini koruyabilmesidir. Otodesk'in ürün belgelerinde de bu modifier'ın çalışma mantığı detaylı anlatılır ve teknik referans dokümanları bu konuda başvuru kaynağıdır.

Instance, Copy ve Reference Arasında Fark Nedir?

3ds Max'te bir objeyi çoğaltırken seçilen kopya tipi sahne ağırlığını doğrudan belirler. Bu üç seçenek görsel olarak aynı sonucu verir ama bellekte tamamen farklı davranır:

  • Copy: Her kopya bağımsız bir mesh olarak diske ve belleğe yazılır. 50 sandalyeli bir restoran sahnesinde 50 ayrı 200 bin poligonluk obje saklanır.
  • Instance: Sadece tek bir mesh saklanır, diğerleri "bu mesh'in N. kopyası" referansıdır. Birini düzenlerseniz hepsi değişir. 50 sandalye, sahnede 200 bin poligon kadar yer kaplar.
  • Reference: Tek yönlü instance. Üst modifier'lar bağımsız çalışır ama base mesh aynıdır.

Pratik kural: birbirinin aynı veya neredeyse aynı olan her şey Instance olmalı. Bir konut projesinde sandalyeler, tabureler, tabaklar, lavabolar, kapı kolları, kitap sırtları, çatı kiremitleri — hepsi instance ile çoğaltılır. Sahne dosyası 1,2 GB'tan 280 MB'a düşer, render farm yükleme süresi yarıdan fazla azalır.

Türk render farm operatörleri bu konuda net konuşur: ücretlendirme saat başı olsa bile, dosyanın sunucuya yüklenmesi de paranızı yer. 800 MB'lık bir sahne ile 200 MB'lık sahne arasındaki yükleme farkı, yıllık projede iki haneli rakamlara dönüşür.

3ds Max sahne optimizasyonu adımları poligon azaltma instance Xref katman yönetimi görsel akış

Xref Scene ile Dosyayı Nasıl Bölersin?

Ekip projesinde aynı sahne dosyasında birden fazla kişi çalışıyorsa, dosyanın parçalara bölünmesi şart. Burada File > Reference > Xref Scene menüsü devreye girer. Mimari kabuk ayrı bir dosyada (kabuk.max), mobilya ayrı (mobilya.max), bitki ve dekor ayrı (bitki.max), aydınlatma ana sahnede. Ana sahne bu üç dosyayı sadece "okur"; içeriği belleğe yüklemez, sahnede bounding box veya simplified preview olarak görür.

Bu yöntem üç fayda sağlar:

  1. Mimar bitkilerle uğraşırken iç mimar mobilya dosyasını paralel olarak düzenleyebilir, kimse kimseyi beklemez
  2. Ana sahne dosyası 200-300 MB seviyesinde kalır, açılış süresi makul olur
  3. Render anında her referans dosya disk'ten okunur — RAM tüketimi düşer, swap riski azalır

XRef'in akrabası XRef Object'tir; tüm sahneyi değil seçili objeleri linkler. Geniş kütüphane kullanılan ofislerde standart araç: ortak bir mobilya kütüphanesi sunucuda durur, her proje oradan link verir. Mobilya modelinde bir hata düzeltildiğinde, bu modeli kullanan tüm projeler otomatik güncellenir.

Layer Manager ve Görünmez Yük

Sahnenin ortalama %30-40'ı render'a girmez ama bellekte durur. Bu görünmez yükü tutan şey çoğu zaman katman disiplinsizliğidir. Layer Explorer açıldığında düzgün bir sahne şu hiyerarşiyi gösterir: GEOMETRY (alt katmanlar: MIMARI_KABUK, MOBILYA, DEKOR, BITKI), LIGHT (IES, AREA, ENVIRONMENT), CAMERA, REFERENCE (XRef objeler).

Bu yapı kurulduğunda Hide ve Freeze arasındaki farkı bilmek kazanç verir:

  • Hide: Obje viewport'tan kaybolur ve render'a girmez. Bellekte yine durur ama hesaplamaya katılmaz. Mutfak içindeki kapağı kapalı dolabın içeriği için doğru seçim.
  • Freeze: Obje görünür kalır ama seçilemez ve düzenlenemez. Render'a girer. Sadece "yanlışlıkla taşımak istemediğin" referans objeler için.

Pratik akış: kamera kadrajını netleştirdikten sonra arka açıdaki avizenin 9 bin parçasını, banyo aynası arkasındaki dekoru, hiç görünmeyen tavan içi mekaniği Hide'a alın. Statistics panelindeki sayı düşer, render süresi ölçülebilir miktarda azalır. Bir villa sahnesinde sadece bu adım %15-20 kazanç verir.

Texture, UV ve Bellek

Render motoru, geometriden önce texture'ları belleğe yükler. Kameradan 25 metre uzaktaki halıya 8192×8192 diffuse map bağlamak, o anda 256 MB'ı sadece tek bir materyale ayırır. Aynı sahnede 30 materyal aynı hatayı taşıyorsa 32 GB'lık iş istasyonu disk swap'a düşer ve render iki katına çıkar.

Pratik kural mesafe bazlıdır:

  • Yakın plan (kameradan 0-3 m): 4K texture (4096×4096)
  • Orta plan (3-10 m): 2K texture (2048×2048)
  • Arka plan ve uzak (10 m+): 1K texture (1024×1024)
  • Mikro detay yoksa (düz duvar, parke): 512×512 yeterli, tilable olduğunda 1K

Bitmap üzerinde sağ tık → Bitmap PropertiesFiltering bölümünde Pyramidal seçeneği, mipmap'leri otomatik üretir; render motoru kamera mesafesine göre düşük çözünürlükten okur. Shift+T ile Asset Tracker açılır, sahnedeki tüm texture'ların yolu listelenir; duplicate'ler ve kayıp dosyalar buradan görülür.

Render Motoru Ayarları

Sahne disipline edildikten sonra motor parametreleri ek %20-30 kazanç verir. Mimari iç mekan için iki yaygın senaryo:

V-Ray ile iç mekan still render: GI primary engine Irradiance Map, secondary engine Light Cache. Light Cache subdivs değeri küçük sahnede 1000, büyük villa sahnesinde 1500-2000. Save to file opsiyonu açıldığında, ışıklar değişmediği sürece aynı cache tekrar kullanılır — ikinci render'da bu adım atlanır, süre %30-40 düşer. Image Sampler için Bucket modunda Min Subdivs 1, Max Subdivs 24, Noise Threshold 0,01 mimari iç mekanın referans değeridir.

Arnold ile aynı sahne: Adaptive sampling açık olmalı. Camera (AA) Samples 4, Diffuse Samples 2, Specular Samples 2, Transmission 2. Yüksek diffuse sample yerine düşük diffuse + yüksek camera sample mimari sahnede daha verimli sonuç verir. Animasyonda Brute Force tercih edilir çünkü cache tabanlı yöntemler frame'ler arasında titreme yaratır.

Sample ayarına dokunmadan önce sahneyi 720p test render ile çalıştırın. Render Region ile sadece sorunlu alanı (gürültülü mermer, parıldayan altın armatür) crop'layıp ayar denemek tam render beklemekten kat kat hızlıdır.

Render Farm Ne Zaman Mantıklı?

Türkiye'de mimari görselleştirme stüdyolarının çoğu sezon sonunda Avrupa veya Asya merkezli render farm servislerine geçer. Yerel iş istasyonu 24 saatlik 4K still render'ı 8 saate düşürse bile, on dakikalık bir animasyon için tek makine yetmez. Tipik fiyatlandırma saat başı CPU çekirdeği başına dönerlik 0,02-0,05 dolar bandında; 60 çekirdekli iki saatlik render kabaca 2,4-6 dolar tutar.

Render farm'a optimize olmamış sahne göndermek çift maliyet üretir: önce dosya yüklenirken bekleme, sonra her frame'in gereksiz uzun render süresi. 200 frame'lik bir animasyonda frame başı bir dakika fazla render, toplamda 3 saat 20 dakika ek maliyet demektir. Stüdyoların büyük kısmı render farm'a yollamadan önce şu kontrol listesini geçirir:

  • Asset Tracker'da kayıp texture var mı (kırmızı veya turuncu satır)
  • Tüm XRef dosyaları aynı klasörde mi, yollar mutlak değil göreli mi
  • Plugin bağımlılıkları (Forest Pack, RailClone, V-Ray Proxy) doğru sürümde mi
  • Output formatı doğru mu, frame range sınırlı mı
  • Test frame (random frame 1 ve random frame 100) yerel olarak çalıştırılıp doğrulandı mı

Mimarlık fakültelerinin ileri görselleştirme derslerinde, 2018 sonrası müfredatlarda render farm kullanımı standart konu haline geldi. Öğrenciye sadece "şu butona bas" değil, sahneyi neden hafifletmesi gerektiği, instance ile copy'nin farkı ve XRef workflow'u erken anlatıldığında profesyonel hayata geçişte iki yıllık deneyim açığı kapanır. Sistematik bir takip için 3ds Max eğitimi sahne disiplini, modifier yönetimi, materyal kurgusu ve render motoru ayarlarını bütüncül bir akış içinde ele alır.

Mimari iç mekan render karşılaştırması yorucu uzun süreli sahne ile optimize edilmiş hızlı render arasında fark

Teslim Öncesi Hangi Kontroller Yapılır?

Bir sahneyi teslim öncesi son kez tararken kullanılan akış, deneyimli stüdyolarda kabaca aynıdır. Disiplinli uygulandığında çoğu projede ilk çalıştırılan render süresi yarıya iner:

  1. Klavyede 7 — toplam poligon mimari iç mekan için 4-6 milyon bandında mı
  2. H tuşu, Faces sütununu sırala — ilk beş objede ProOptimizer fırsatı var mı
  3. Layer Explorer — render'a girmeyecek katmanlar Hide durumunda mı
  4. Aynı obje birden fazla varsa Instance mı, Copy ile çoğaltılmış mı
  5. Dosya 800 MB üzerinde mi — Xref bölme gerekiyor mu
  6. Shift+T — Asset Tracker'da duplicate veya 8K gereksiz texture var mı
  7. TurboSmooth Render Iters / Display Iters ayrımı yapıldı mı
  8. Test render 720p ile çalıştırıldı mı, sample ayarı bu test'e göre kalibre edildi mi

Bu sekiz adım, render motoru ayarlarına dokunmadan tek başına çoğu sahnenin süresini yarıya indirir. Donanım yükseltmesi ve render farm yatırımı, ancak bu adımlar tamamlandıktan sonra gerçek bir gündem haline gelir; öncesinde harcanan para, çözülmemiş disiplinsizliği kiralık makinelerde yakmaktır.

 CADSAY