SUBSTANCE 3D PAİNTER İLE EXPORT PRESET KURMAK VE ENGİNE UYUMUNU SAĞLAMAK
Bir projede en çok zaman kaybettiren şeylerden biri, dokuların her teslimde farklı isimlenmesi, farklı formatta çıkması ve engine tarafında “neden böyle görünüyor?” sorusuyla tekrar tekrar uğraşmaktır. Substance 3D Painter içindeki export preset mantığı, bu karmaşayı tek bir standartta toplamak için güçlü bir kaldıraç sunar.
Export preset kurduğunuzda, aynı varlık türü için aynı haritaları, aynı kanal paketlemeyi ve aynı dosya şablonunu her seferinde otomatik üretirsiniz. Böylece ekip içinde tekrarlanabilir bir teslim düzeni oluşur; import sonrası shader/material kurulumları hızlanır ve kalite kontrol çok daha net hale gelir.
Bu yazıda Substance 3D Painter export preset kurulumunu adım adım ele alacak; Unreal Engine ve Unity gibi yaygın hedeflerde doğru renk uzayı, kanal eşlemesi ve isimlendirme standartlarıyla uyumu nasıl sağlayabileceğinizi anlatacağız. İsterseniz süreci ekip bazında ölçeklemek için eğitim yaklaşımına da değineceğiz: Substance 3D Painter eğitimi.
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.
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.

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.
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.
İ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.
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.

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.
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: Substance 3D Painter eğitimi.






