Yazılarımız

Veri Akademi

ZBRUSH İLE HİGH POLY MODELİ HAZIRLAMAK VE BAKE İÇİN UYUMLU HALE GETİRMEK

ZBrush’ta etkileyici detaylar üretmek kolaydır; asıl farkı yaratan, bu detayları bake sürecine temiz ve öngörülebilir biçimde taşıyabilmektir. Üretim hattında detayın kalitesi kadar, modelin düzeni, parça yönetimi ve export kararlılığı da teslim süresini doğrudan etkiler.

High poly model “güzel” görünebilir ama bake aşamasında hataya dönüştüren küçük sorunlar vardır: kırık smoothing geçişleri, taşan detaylar, yanlış ölçekte export, birbirine giren parçalar, hatalı isimlendirme ve tutarsız subdiv düzeni. Bu makalede, ZBrush’ta high poly modeli hazırlayıp bake için uyumlu hale getirmeyi, pratik bir kontrol listesiyle ele alacağız.

Amacımız, normal/AO/curvature gibi haritaları daha temiz almak, tekrar iş yapmayı azaltmak ve farklı yazılımlara geçerken sürprizleri minimize etmektir. İsterseniz süreci daha derinlemesine uygulamak için ZBrush eğitimi içeriğine de göz atabilirsiniz.

ZBrush arayüzünde subdiv düzeni oturmuş heykel detayları ve parçalanmış subtool yapısının düzenli görünümü

High poly hedefini ve ölçeği planlamak

İyi bir bake, daha ZBrush’ta başlamadan önce hedefin netleşmesiyle kurulur. “High poly” ile hangi detayların taşınacağını belirlemek gerekir: form detayları (büyük kırımlar, ana kıvrımlar), ikinci seviye detaylar (panel geçişleri, kesikler) ve mikro detaylar (noise, yüzey pütürü) aynı stratejiyle yönetilmez.

Ölçek ve birim tutarlılığı da kritik. ZBrush’ın iç ölçeği esnektir; ancak bake tarafında (Substance, Marmoset, Blender, Maya) gerçek dünya ölçülerine yaklaşmak, ray distance ve cage ayarlarının daha stabil çalışmasına yardımcı olur. Bu yüzden modelin genel boyutunu en başta kilitlemek, sonradan “büyüt-küçült” kaynaklı hataları önler.

Referans ve silhouette hedefini netleştirmek

Özellikle ürün/karakter üretiminde silhouette hedefi, detay kararlarını hızlandırır. Silhouette oturmadan mikro detaya inmek, yüzeyde “gürültü” üretir ve bake sonrası albedo/roughness okumasını zayıflatır. Yüzeyi dolduran her çizik, harita kalitesini değil sadece karmaşayı artırabilir.

SubTool ve parça ayrımını düzenlemek

Bake süreci, parçaların birbirini nasıl etkilediğine çok duyarlıdır. High poly tarafında SubTool yönetimi; temas eden parçaların mantıklı ayrılması, keskin geçişlerin “gerçek parça” mı yoksa “oyma detay” mı olduğunun kararlaştırılmasıyla başlar. Örneğin bir zırh plakasının kenarları ayrı bir parça ise, bake’de normal geçişleri daha kontrollü olur.

SubTool’larda isimlendirme, üretimde en hızlı geri dönüş sağlayan alışkanlıklardan biridir. Bake yazılımlarında “By Name” yaklaşımıyla çalışma yaygındır; bu nedenle isimler tutarlı olmalıdır.

Parça çakışmalarını ve temas payını yönetmek

Birbirine çok yakın geçen iki parça, bake’de “projection” hatalarına sebep olabilir. Çözüm, temas payı bırakmak, parçaları mantıklı biçimde ayırmak veya sadece bake sırasında geçici bir “offset” uygulamaktır. Ayrıca, çok ince yüzeyler (sheet metal gibi) ray yönünde iki tarafa da etki ederek istenmeyen sonuçlar üretebilir; gerektiğinde thickness eklemek daha güvenlidir.

İsimlendirme standardını üretime uyarlamak

Aşağıdaki gibi basit bir isim standardı, ekip içi iletişimi hızlandırır. High ve low eşleşmesi, bake sırasında yanlış parçanın karışmasını engeller. İsimleri kısa ama anlamlı tutmak yeterlidir.

// Örnek isimlendirme (high / low eşleşmesi)
robot_arm_A_high
robot_arm_A_low

robot_panel_01_high
robot_panel_01_low

// Parça gruplama için opsiyonel ek
robot_panel_01_high__grp_body
robot_panel_01_low__grp_body
Bake için hazırlanmış high ve low parçaların isim bazlı eşleşmesini gösteren düzenli dosya yapısı ve export listesi

Subdivision, yüzey temizliği ve edge kontrolünü oturtmak

High poly modeli bake’e hazırlarken en sık görülen hata, subdivision seviyelerinin “rastgele” yönetilmesidir. Bazı SubTool’lar çok yüksek subdiv ile şişer, bazıları düşük subdiv’da kalır ve detay tutarsız görünür. Hem performans hem de çıktı kararlılığı için “gerekli kadar subdiv” prensibi önemlidir.

Yüzey temizliği tarafında, özellikle hard-surface işlerde pinching, dalgalanma ve aşırı gürültü bake’e taşındığında low poly üzerinde gereksiz kırışıklıklar oluşturur. Bu yüzden high poly’de yüzeyi temizlemek, sonradan haritayı “düzeltmek” yerine daha sağlıklıdır.

Keskinlik ve bevel mantığını dengeli kurmak

Bake’de keskin bir kenarın iyi görünmesi için, gerçekçi bir bevel kalınlığı gerekir. Tamamen bıçak gibi sıfır bevel, normal map’te aliasing benzeri basamaklanma yaratabilir. Bevel genişliği hedef çözünürlüğe göre ayarlanmalıdır: 1K haritada ince bevel kaybolabilir; 4K’da aynı bevel daha iyi okunur.

Polygroups ve masking ile detay üretimini yönetmek

ZBrush’ın en güçlü yanlarından biri, Polygroups ve masking ile hızlı seçim akışıdır. Bake açısından bakınca da Polygroups, parça sınırlarını netleştirir; masking, detayın taşmasını engeller. Özellikle panel line, trim, damga (alpha) gibi işlemlerde maske kontrolü, sonuca doğrudan yansır.

Panel line ve trim detaylarını taşırmamak

Damga uygularken alphanın kenarları çoğu zaman yüzeyi taşırır ve komşu yüzeylere iz bırakır. Bunu azaltmak için maskeyi daha sıkı tutmak, yüzeyi geçici olarak düzleştirmek ve ardından detayı uygulamak işe yarar. Ayrıca, detayları tek bir SubTool’a “yığmak” yerine ilgili parçaya dağıtmak, bake’de daha temiz ayrım sağlar.

Export öncesi topology ve triangulation risklerini azaltmak

High poly bake için genellikle düşük topoloji kalitesi aranmaz; ancak export aşamasında sorun çıkaran bazı noktalar vardır. Non-manifold bölgeler, aşırı ince yüzeyler, açık sınırlar veya bozuk normal yönleri, dış yazılımda beklenmedik gölgelenmelere yol açabilir.

Bir diğer kritik konu, export sırasında triangulation ve smoothing davranışıdır. High poly çoğu zaman subdiv yüzey olduğu için sorun daha az görünür; fakat bazı araçlar, objeyi farklı şekilde triangulate edebilir. Bu nedenle export testini erken yapmak, “son gün sürprizi” yaşamamak için önemlidir.

FBX ve OBJ export ayarlarını tutarlı kullanmak

OBJ sık kullanılan bir formattır; ancak bazı durumlarda FBX, ölçek ve pivot taşımada daha rahattır. Hangi formatı seçerseniz seçin, “hep aynı ayarlarla” export etmek, bake tekrarlarında tutarlılık sağlar. Aşağıdaki kontrol listesi basit ama etkilidir:

  • Parça isimleri ve suffix’leri (high/low) doğrulanmak
  • Pivot/center ve orientation tutarlı kalmak
  • Gereksiz SubTool’lar export dışında bırakılmak
  • Ölçek test objesi ile dış yazılımda ölçü doğrulanmak

Decimation ve performans optimizasyonunu korumak

Çok yüksek poligonlu SubTool’lar, bake yazılımında sahne yönetimini zorlaştırabilir. Bu noktada Decimation, doğru uygulandığında büyük avantaj sağlar. Ancak körlemesine decimate etmek ince yüzeylerde veya hassas silhouette bölgelerinde bozulmaya neden olabilir.

Genel öneri: silhouette kritik bölgelerde decimation oranını düşük tutmak, iç yüzeylerde ve görünmeyen detaylarda daha agresif decimation uygulamaktır. Ayrıca polypaint/vertex color gerekiyorsa, decimation ayarlarının bunu koruduğundan emin olmak gerekir.

Decimation uygularken detay kaybını ölçmek

Decimation sonrası, bake’e gitmeden önce hızlı bir karşılaştırma yapmak iyi bir alışkanlıktır: aynı açıdan render alıp kenar kırımlarını kontrol etmek, panel çizgilerinin bozulmadığını görmek ve yüzeyde “çatlak” oluşmadığını doğrulamak. Bu kontrol, bake sonrası harita temizliği için harcanan zamanı ciddi azaltır.

Bake hazırlığında cage, ray distance ve eşleşmeyi kurmak

Bake tarafında en çok zaman kaybettiren konu, ray distance ve cage ayarlarıdır. Bu ayarlar doğru değilse, normal map’te taşmalar, siyah lekeler ve komşu parçadan “detay çalma” görülür. Çözüm, high poly’yi ZBrush’ta iyi hazırlamak kadar, bake sürecini de disiplinli yürütmektir.

İsim bazlı eşleşme kullanıyorsanız, high/low parça sınırları daha güvenli olur. Parçalar birbirine yakınsa, “exploded” workflow (parçaları bake sırasında geçici ayırmak) da tercih edilebilir. Ancak bu yaklaşımda dönüşüm/pivot yönetimi dikkat ister.

Örnek bake ayarlarını pratikleştirmek

Aşağıdaki örnek, bake için tipik bir ayar mantığını anlatır. Yazılım bazında arayüz değişebilir; fakat kavramlar benzerdir: front/rear distance, cage, by-name eşleştirme, anti-aliasing ve output çözünürlüğü.

// Bake kontrol listesi (örnek psödo ayarlar)
bakeSettings = {
  match: "byName",
  outputSize: 2048,
  maps: ["normal", "ambientOcclusion", "curvature"],
  antiAliasing: "4x",
  rayDistance: {
    front: 0.15,
    rear: 0.05
  },
  cage: {
    enabled: true,
    offset: 0.02
  },
  ignoreBackfaces: true
}

// Not: Değerler modele ve ölçeğe göre değişir.
// Önce küçük test bake alıp sonra finalize etmek daha güvenlidir.
Normal ve ambient occlusion haritalarında taşma kontrolü yapılan, kenar bevel okuması temiz bir bake sonucu incelemesi

Kalite kontrolünü ve tekrar edilebilir akışı kurmak

En iyi ekipler, “bir kere doğru yapmak” yerine “her seferinde doğru almak” için süreç kurar. Bake’de çıkan hatalar çoğu zaman aynı kök nedenlere dayanır: taşan ray, yanlış eşleşen parça, yanlış smoothing, ölçeksiz export veya yüzeyde pinching. Bu nedenle kısa bir kalite kontrol rutini oluşturmak, teslim sürelerini öngörülebilir kılar.

Pratik bir yöntem: her varlık için küçük bir test bake almak, kritik bölgeleri (kenar bevel, panel geçişi, temas eden parçalar) kontrol etmek, ardından final çözünürlüğe çıkmaktır. Böylece 4K bake’in sonunda sürpriz yaşamazsınız. Son olarak, high poly tarafında yaptığınız düzenlemeleri “not” etmek, aynı tip varlıklarda tekrar eden üretimi hızlandırır.


Özetle: ZBrush’ta high poly hazırlamak, sadece detay basmak değildir; SubTool düzeni, yüzey temizliği, isimlendirme ve export tutarlılığı ile bake kalitesini birlikte yükseltmektir. Bu alışkanlıklar oturduğunda, normal/AO gibi haritalar daha az düzeltme ister ve üretim hattı daha güvenilir çalışır.

 ANİMASYON AKADEMİ