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

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.

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.

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 = MetallicBu 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.






