SUBSTANCE 3D PAINTER İLE EXPORT PRESET KURMAK VE ENGİNE UYUMUNU SAĞLAMAK

Animasyon Akademi10 dk okuma
Substance Painter export preset ile dört doku haritası ve üç engine ikonu yan yana

Substance 3D Painter’da export preset, doku çıktılarınızı tek bir standarda bağlar; bu yazıda doğru renk uzayı, kanal paketleme, isimlendirme ve engine import ayarlarını kurarak Unreal ve Unity’ye giden her teslimin hatasız ve tutarlı çıkmasını sağlamayı öğreneceksiniz.

1. Export preset mantığını üretim standardına çevirmek

Export preset, Painter’ın “hangi haritayı hangi formatta, hangi adla, hangi kanallarla” üreteceğini tarif eden şablondur. Doğru kurulduğunda, artist bağımsız olarak aynı çıktıyı alır. Bu standardizasyon, özellikle çok sayıda varlık üretirken kritik hale gelir; süreci ekip geneline yaymak isteyenler için Substance 3D Painter eğitim programı bu düzeni uygulamalı işler.

Doku seti ve UDIM yapısına göre şablon tasarlamak

Birden fazla texture set veya UDIM kullanan varlıklarda, dosya adında set/UDIM bilgisinin görünür olması gerekir. Örneğin $textureSet veya $udim gibi değişkenleri isim şablonuna ekleyerek, engine tarafında karışıklığı önlersiniz. Ayrıca, ekip içinde “tek varlık–tek klasör” yaklaşımı benimseniyorsa export path düzeni de preset’in parçası olmalıdır.

Painter Export Document dialog Output Template configuration with mesh and textureSet variables

2. PBR haritalarında doğru renk uzayı ve bit derinliği seçmek

Engine uyumsuzluklarının büyük kısmı “yanlış sRGB/Linear” ayarından çıkar. Kural basittir: renk taşıyan haritalar sRGB; veri taşıyan haritalar Linear/Non-Color olmalıdır. Preset kurgusu, bu ayrımı herkes için otomatik hale getirir.

Base Color ve Emissive için sRGB akışını oturtmak

Base Color/Albedo ve Emissive gibi haritalar renk bilgisidir. Export’ta PNG/TGA/EXR gibi formatlar seçilebilir; ancak engine import ayarında sRGB’nin açık olduğundan emin olmak gerekir. Özellikle UI üzerinden yanlışlıkla kapatılan sRGB, malzemenin soluk veya “kirli” görünmesine neden olur.

Normal, Roughness, Metallic ve AO için linear kuralları

Normal, Roughness, Metallic, AO gibi haritalar veri taşır; sRGB kapalı olmalıdır. Normal map için çoğu pipeline tangent space normal üretir; bu nedenle engine’de “Normal Map” olarak işaretlemek gerekir. Roughness/Metallic/AO için Non-Color yaklaşımı, değerlerin bozulmadan kullanılmasını sağlar.

3. Kanal paketleme ile performansı ve tutarlılığı artırmak

Kanal paketleme (channel packing), birden fazla gri tonlu haritayı tek bir dokunun R/G/B (ve bazen A) kanallarına koyarak hem performans hem düzen kazanımı sağlar. Painter export preset ile bu paketlemeyi tek tuşla standardize edebilirsiniz.

ORM ve benzeri paketlerde doğru eşleme yapmak

Yaygın bir yaklaşım “ORM” paketidir: Occlusion (R), Roughness (G), Metallic (B). Bazı ekipler “RMA” (Roughness, Metallic, AO) gibi farklı sıralamalar kullanır. Önemli olan seçtiğiniz standardın tüm projede aynı olmasıdır; aksi halde bir varlık doğru görünürken diğeri hatalı görünür.

Şeffaflık veya maskeler için alpha kanalını planlamak

Opacity/Mask gibi ihtiyaçlar varsa alpha kanalını rezerve etmek mantıklı olabilir. Ancak alpha eklemek her zaman avantaj değildir; format ve sıkıştırma seçenekleri değişebilir. Bu yüzden preset tasarlarken “hangi varlık tipleri alpha ister?” sorusuna göre ayrı preset’ler tanımlamak daha sağlıklıdır.

4. İsimlendirme ve klasör yapısıyla import süresini kısaltmak

Engine uyumu, yalnızca harita üretmekle bitmez; dosya adları ve klasör hiyerarşisi de sürecin bir parçasıdır. Artistler farklı adlandırma yaptığında, teknik ekip tarafında otomasyon kırılır. Preset bu riski azaltır.

Dosya şablonunda değişkenleri doğru kullanmak

Painter değişkenleriyle (ör. $mesh, $textureSet, $map) dosya adlarını otomatik üretebilirsiniz. Örnek bir yaklaşım: “AssetName_TextureSet_MapName”. Böylece engine’de arama, toplu seçme ve materyal bağlama daha hızlı olur.

Önerilen harita seti kontrol listesi oluşturmak

  • BaseColor (sRGB)
  • Normal (Non-Color, Normal Map)
  • ORM veya RMA paket (Non-Color)
  • Emissive (varsa, sRGB)
  • Opacity/Mask (varsa, Non-Color)

Bu listeyi proje wiki’sine eklemek iyi bir başlangıçtır; ama asıl kazanç, preset’in bu listeyi “varsayılan çıktı” haline getirmesidir.

5. Unreal ve Unity import ayarlarını preset ile hizalamak

Export preset doğru olsa bile, engine import ayarları yanlışsa sonuç yine bozulur. Bu yüzden preset tasarlarken hedef engine kurallarını bilmek gerekir. Aşağıdaki pratik notlar, en sık karşılaşılan uyumsuzlukları azaltır.

Unreal tarafında sRGB ve compression tiplerini sabitlemek

Unreal’da Base Color sRGB açık, Normal “Normalmap” compression, ORM paketi sRGB kapalı ve uygun maske sıkıştırması ile import edilmelidir. Ayrıca, normal map’in yeşil kanalı (Y) bazı workflow’larda ters olabilir; projede OpenGL/DirectX normal standardı netleşmeli ve Painter çıkışı buna göre seçilmelidir.

Unity HDRP/URP mask map beklentilerini karşılamak

Unity HDRP, “Mask Map” yaklaşımında kanalları belirli bir sırada bekleyebilir. URP’de Lit shader farklı bir düzen ister. Bu yüzden tek preset yerine “Unity_HDRP” ve “Unity_URP” gibi ayrık şablonlar tutmak, hatayı azaltır. Tek standardı tüm projeye dayatmak yerine, hedefe göre standardı netleştirmek daha güvenlidir.

Unreal Engine texture import options dialog with sRGB and Normalmap compression settings highlighted

6. Gerçekçi bir export preset örneği ve otomasyon fikirleri

Aşağıdaki örnekler, birebir aynı dosya formatını kopyalamak için değil; preset mantığını anlamak ve kendi proje standardınıza uyarlamak içindir. Preset’i oluşturduktan sonra küçük bir “test varlığı” ile doğrulama yapmak, büyük projelerde saatler kazandırır.

Örnek: ORM paketli çıktı şablonu (temsilî)

{
  "name": "Game_ORM_Preset",
  "outputs": [
    {
      "fileName": "{mesh}_{textureSet}_BaseColor",
      "channels": ["baseColor"],
      "format": "tga",
      "bitDepth": 8,
      "colorSpace": "sRGB"
    },
    {
      "fileName": "{mesh}_{textureSet}_Normal",
      "channels": ["normal"],
      "format": "tga",
      "bitDepth": 8,
      "colorSpace": "linear"
    },
    {
      "fileName": "{mesh}_{textureSet}_ORM",
      "channels": [
        { "R": "ambientOcclusion" },
        { "G": "roughness" },
        { "B": "metallic" }
      ],
      "format": "tga",
      "bitDepth": 8,
      "colorSpace": "linear"
    }
  ]
}

Bu yaklaşımda her varlık aynı üç temel çıktıyı üretir. İsterseniz Emissive/Opacity gibi ek çıktıları, ayrı “variant preset” olarak tanımlayabilirsiniz. Böylece herkes “ihtiyaç varsa seç” mantığıyla ilerler.

Örnek: Unreal materyalinde hızlı bağlantı şablonu (temsilî)

// BaseColorTexture: sRGB ON
// NormalTexture: Compression = Normalmap, sRGB OFF
// ORMTexture: sRGB OFF

BaseColor = TextureSample(BaseColorTexture).RGB
Normal    = TextureSample(NormalTexture).RGB

ORM       = TextureSample(ORMTexture).RGB
AO        = ORM.R
Roughness = ORM.G
Metallic  = ORM.B

Material.BaseColor = BaseColor
Material.Normal    = Normal
Material.AmbientOcclusion = AO
Material.Roughness = Roughness
Material.Metallic  = Metallic

Bu bağlantı şablonu, preset ile ürettiğiniz dosya adları tutarlıysa hızlıca otomasyona dökülebilir. Örneğin klasörde “_BaseColor”, “_Normal”, “_ORM” arayıp otomatik bağlayan araçlar yazmak mümkündür.

7. Kalite kontrol: Hataları erken yakalamak için pratik doğrulamalar

Preset kurulduktan sonra en değerli adım, çıktıyı “her seferinde aynı şekilde” doğrulayan küçük bir kontrol rutinidir. Böylece üretimin ortasında değil, ilk teslimde sorun yakalanır.

Painter içinde ve engine’de hızlı kontrol adımları belirlemek

Painter’da normal yönü, roughness aralığı ve metal bölgelerinin mantığı hızlıca incelenmelidir. Engine’de ise ışık altında parlamalar, doku tekrarı ve maske kanalları kontrol edilmelidir. Bir varlığın farklı ışık koşullarında test edilmesi, özellikle roughness hatalarını hemen ortaya çıkarır.

Sürümleme ve paylaşım için preset yönetimi yapmak

Preset dosyalarını ekip içinde paylaşmak için tek bir kaynak klasör kullanın ve sürüm numarası ekleyin (örn. v1, v2). Değişiklik yapıldığında kısa bir değişiklik notu tutmak, “neden bugün farklı çıktı aldık?” sorusunu ortadan kaldırır. Bu noktada teknik liderlik, standardın sürekliliğini sağlar.

Özetle: export preset; harita seçimi, kanal paketleme, isim şablonu ve engine uyumunu tek bir standarda bağlayarak üretimi hızlandırır. Ekip içinde aynı çıktıyı garanti etmek, hem teknik hem yaratıcı tarafın işini kolaylaştırır. Eğer bu standardı ekip geneline yaymak ve herkesin aynı akışı uygulamasını sağlamak istiyorsanız, uygulamalı bir programla süreç çok daha hızlı oturur: uygulamalı Substance 3D Painter eğitimi.

Sıkça Sorulan Sorular

Substance 3D Painter export preset neden proje süresini kısaltır?

Export preset, aynı varlık türü için haritaları her seferinde aynı formatta ve aynı adlandırmayla üretir. Böylece import aşamasında manuel düzeltmeler azalır, materyal bağlantıları hızlanır ve kalite kontrol netleşir. Ekip içindeki farklı alışkanlıklar standartlaştığı için, hatalar daha erken yakalanır ve teslim döngüsü kısalır.

ORM kanal paketlemede kanalların sırası nasıl belirlenmeli?

Kanal sırası, hedef engine’deki materyal beklentisi ve ekip standardına göre belirlenmelidir. Yaygın kullanım AO=R, Roughness=G, Metallic=B şeklindedir; ancak farklı sıralamalar da mümkündür. Kritik nokta, seçilen sıralamanın tüm projede aynı kalması ve preset’in bunu otomatik üretmesidir.

sRGB açık mı kapalı mı hangi haritalarda kullanılmalı?

Renk taşıyan haritalarda (Base Color, Emissive gibi) sRGB açık olmalıdır. Veri taşıyan haritalarda (Normal, Roughness, Metallic, AO ve paketlenmiş maskeler) sRGB kapalı olmalıdır. Yanlış sRGB ayarı, değerleri bozarak yüzeyin fazla parlak, fazla mat veya kirli görünmesine yol açabilir.

Unreal Engine import ayarlarında en sık yapılan hata nedir?

En sık hata, veri haritalarını sRGB açık şekilde import etmektir; özellikle ORM gibi paketlenmiş maskelerde bu sorun hemen görünmeyebilir ama materyal davranışını bozar. Normal map için de doğru compression tipinin seçilmemesi sık rastlanır. Standart bir preset ve basit bir kontrol listesiyle bu hatalar büyük ölçüde önlenir.

Unity HDRP ve URP için ayrı preset kullanmak gerekir mi?

Çoğu senaryoda evet. HDRP’nin Mask Map kanal beklentileri ile URP Lit yaklaşımı farklılaşabildiği için tek bir şablonla her iki hedefe kusursuz çıkmak zor olabilir. Ayrı preset’ler, doğru kanal eşlemesini ve isimlendirmeyi garanti eder. Böylece import sonrası düzeltme ihtiyacı azalır ve sonuç tutarlı olur.

 ANİMASYON AKADEMİ