Fiziksel Olarak Tabanlı Görselleştirme (PBR) dokuları, bir nesne üzerinde birden fazla doku görüntüsü veya harita kullanarak gerçekçi gölgeleme ve aydınlatma temsil etmenizi sağlar. Birden fazla doku haritasının birleşimi, her türlü aydınlatma ortamında renk, pürüzlülük ve yansıtıcılığı daha doğru bir şekilde simüle edebilir ve varlıklarınızın ve ortamınızın görsel unsurlarını geliştirebilir.


PBR dokuları oluşturmak için çeşitli uygulamalar ve iş akışları mevcuttur. Roblox Studio, kullandığınız belirli doku haritalarını destekliyorsa, bunları özel 3D nesne yaratımının modelleme ve dokulama aşamalarında kullanabilirsiniz.
Bu kılavuz, PBR doku haritalarını kullanacak şekilde ağ nesnelerinizi ayarlarını yapmak için talimatlar sağlar ve Roblox'un desteklediği PBR doku haritaları için yaygın kullanım durumları ve en iyi uygulamaları tanımlar. Kendi yüzeylerinizi oluştururken, yaygın malzeme değerleri, resim karşılaştırmaları ve giysi örnekleri için malzeme referanslarına başvurun.
Yüzey görünümünü etkinleştirme
Herhangi bir MeshPart nesnesine, orijinal atanmış dokuyu geçersiz kılacak bir SurfaceAppearance nesnesi ekleyerek PBR dokuları ekleyebilirsiniz. Genel olarak, oyun sırasında SurfaceAppearance özelliklerini betiklerle değiştirmeniz mümkün değildir çünkü motor, bu grafikleri görüntülemek için bazı ön işleme gerektirir. Temel bir doku ekleme ile benzer şekilde, her doku görüntü haritası, ilgili yüklenmiş resim varlık kimliğine işaret etmelidir.
Bir MeshPart için yüzey görünümünü etkinleştirmek için:
Explorer penceresinde, MeshPart üzerine gelin ve ⊕ butonuna tıklayın.
Bağlam menüsünden bir SurfaceAppearance ekleyin.

SurfaceAppearance nesnesine doku haritaları eklemek için, Özellikler penceresindeki her harita özelliğine tıklayıp bir varlık kimliği girebilirsiniz.
Doku haritaları
Studio şu anda 5 tür PBR doku haritasını desteklemektedir: renk, normals, pürüzlülük, metalik ve emissive. Bu haritaların her biri, nesnenin yüzey görünümünün önemli bir yönüne karşılık gelir. Doku haritaları sadece görsel görünümü değiştirir ve MeshPart nesnesinin geometrisini etkilemez.
Aşağıda, Roblox'un desteklediği doku haritaları ve ek kaynaklar için bir genel bakış örnekleri verilmiştir:
ColorMap özelliği, yüzeyin renk verilerini ayarlar ve haritada bulunan her türlü saydamlığı içerir. Ek bilgi için renk (albedo) kısmına bakın.



Renk (albedo)
renk, veya albedo, haritası dokunuzun rengini belirler ve çoğunlukla renk bilgisi içeren, çok az veya hiç aydınlatma veya dokusal bilgi içermeyen bir bileşimdir. Ek özelleştirmeler için, doku haritanızda opaklık ekleyerek saydamlık da ekleyebilirsiniz.
Alpha modları
Çim, yapraklar, dantel veya kir veya pas gibi çıkartmaları gibi saydamlık gerektiren nesneler için, renk haritanıza saydamlık uygulamak üzere çeşitli alpha modları kullanabilirsiniz. Renk haritanızın görüntü formatı alpha kanallarını destekliyorsa, 0.0 tamamen şeffaf ve 1.0 opak olacak şekilde bir grayscale alpha haritası uygulayabilirsiniz. Benzer şekilde, .png gibi bir görüntü formatı kullanıyorsanız, renk haritasındaki her bir opaklık, varlık üzerinde saydamlık olarak uygulanır.
Aşağıdaki AlphaMode değerlerini ayarlayarak saydamlığınızı iki farklı davranışta uygulayabilirsiniz:
- Overlay — ColorMap'ı alttaki ağın MeshPart.Color rengi üzerine bindirir. Overlay modunu kullanan renk haritaları, şeffaflık mevcut olduğunda ağın temel rengini ortaya çıkarır. Bu varsayılan ayardır.
- Saydamlık — ColorMap'taki saydamlığa bağlı olarak görünür ağı kaldırır. Bu, ağı saydam hale getirir ve saydamlık mevcut olduğunda orijinal ağ rengini ortaya çıkarmaz.
Opak
Enum.AlphaMode.Opaque modunu kullanarak, ColorMap'ın alpha kanalını tamamen yok sayabilirsiniz. Bu durumda alpha değeri 1 (tamamen opak) olduğu varsayılır.
Aşağıdaki örnek, bir mavi nesne referansı kullanarak nasıl çalıştığını gösterir:
Overlay
Enum.AlphaMode.Overlay kullanarak ağın orijinal renginin bazı kısımlarını açığa çıkarabilirsiniz. Renk haritasının şeffaf alanları alttaki rengi açığa çıkardığı için, özelleştirilmiş cilt tonları veya diğer benzersiz renklerin bir kısmını veya tamamen açığa çıkaran eşsiz bir doku haritası tasarlayabilirsiniz.
Aşağıdaki örnek, hafif mavi bir küre referansı kullanarak nasıl çalıştığını gösterir:
Aşağıdaki örnek, özelleştirilmiş karakterler için Overlay modunu kullanır ve karakterlerin orijinal cilt rengini açığa çıkarır:


Cilt ve benzeri uygulamalar için bir overlay'i optimize etmek hakkında daha fazla ayrıntı için özel cilt tonuna bakın.
Saydamlık
Enum.AlphaMode.Transparency modunu kullanarak, ağın geometrisini oymak yerine saydamlık kullanarak görünebilir parçalarını kaldırarak karmaşık veya son derece ince nesneler yaratabilirsiniz. Bu, ağ nesnesinin geometrisini etkilemediğinden, karmaşık bir ağ modelinin performans etkisinden kaçınarak detaylı nesneler oluşturmanıza olanak tanıyabilir.
Aşağıdaki örnek, bu modda kısmi ve tam saydamlığın görsel olarak ağın kısımlarını nasıl kaldırdığını gösterir:



Transparency modunun iki farklı sonucu vardır; MeshPart.Transparency değeri 0 ya da en az 0.02 olarak ayarlandığında, ancak sayısal hassasiyet, 0.01 gibi küçük değerlerin opak saydamlık için tetiklemesine neden olabilir.
- Alpha çoğunlukla opak nesnelerin kesim şeklini kesmek için kullanıldığında, yapraklar, dantel kumaşları ve ağ gibi sert kenarları olan nesneler için MeshPart.Transparency değerini 0 olarak ayarlayın. Yüzeyin bazı kısımları tam opak ise, Roblox motoru uygun derinlik bazlı gizleme ile bunları renderlayabilir. Opak yüzeyler ayrıca, DepthOfFieldEffect, cam ve su kırılması ve su yansıması gibi derinlik bazlı etkilerle genel olarak daha iyi çalışır.
- Alpha, yarı şeffaf nesneler ya da şeffaflıkta ekodlaması yumuşak bir gradient olan nesneler için detay eklemek için kullanıldığında ise, MeshPart.Transparency değerini en az 0.02 olarak ayarlayın. Bu, kirli pencereler ve yumuşak kenarlı tüyler gibi nesnelerin karıştırılma kalitesini arttırır, ancak tüm efektlerle çalışmaz.
Tint mask
Enum.AlphaMode.TintMask modunu, bir yüzeyin seçilen kısımlarına SurfaceAppearance.Color renklendirmesi uygulamak için kullanabilirsiniz. Renk verirken en güçlü alpha kanalının tamamen görünür olduğu alanlardadır ve alpha kanalı saydam olduğunda uygulanmaz.

Renk renklendirmesi
Renk haritanıza bir tint uygulamak için SurfaceAppearance.Color özelliğini değiştirerek gerçekleştirebilirsiniz. Renklendirme performansı etkilemez ve tek bir renk haritasını farklı tanıtımlar ile yeniden kullanarak hafızadan tasarruf edebilirsiniz. Renk renklendirmesini, MeshPart PBR dokularınız arasında ek maliyetsiz varyasyonlar yaratmak veya PBR yüzey renklerinizi gerçek zamanlı olarak programatik olarak değiştirmek için kullanabilirsiniz.



SurfaceAppearance.Color renklendirmesi bir çarpan olarak uygulanır, böylece nihai görünüm Color3 (texel rengi) çarpı SurfaceAppearance.Color fonksiyonu olarak oluşturulur. Bu, SurfaceAppearance.ColorMap'ınızı neredeyse beyaz gri tonlarında oluşturmanızın, bu özelliğin uygulandığında en güçlü renklendirme etkisini oluşturacağını ifade eder.
Renklendirme sadece SurfaceAppearance.ColorMap'a uygulanır, MeshPart.Color'a değil. Saydamlık uygularken alpha kanallarını kullanmaya devam edebilirsiniz.
SurfaceAppearance.AlphaMode Overlay olarak ayarlandığında ve bir alpha kanalı mevcut olduğunda, alttaki MeshPart.Color açığa çıkarılır ve SurfaceAppearance.Color renklendirmesi yalnızca görünür SurfaceAppearance renk haritasına uygulanır.
SurfaceAppearance.AlphaMode TintMask olarak ayarlandığında ve bir alpha kanalı mevcut olduğunda, alpha kanalı SurfaceAppearance.Color renklendirmesinin miktarını kontrol eder. Renklendirme, alpha kanalının tamamen görünür olduğu alanlarda en güçlüdedir ve alpha kanalı şeffaf olduğunda uygulanmaz.

Normal
normal, veya yüzey haritası, yüzeyinize doku derinliği ekler ve yükseklik haritası ile benzer şekilde işlev görür. Bu nedenle, etki bakış açısına ve aydınlatma ortamına bağlı olarak yavaş veya güçlüleşebilir.
Aşağıdaki şekilde, kıyaslamalar için mesh referansı ve harita referansı arasında geçiş yapabilirsiniz:



Görüntüdeki R, G ve B kanalları sırasıyla yerel yüzey vektörünün X, Y ve Z bileşenlerine karşılık gelir. Renk [127, 127, 255] olan bir görüntü tamamen düz bir normal haritaya dönüştürülür. Roblox yalnızca OpenGL formatı - Tangent Space normal haritalarını destekler.
Normal haritalar, bir mesh'in görsel yüzeyini önemli ölçüde etkiler ve dokunuzda rahatsız edici dikişleri vurgulayabilir. Mümkünse, dokularınızı gizli tutmaya özen gösterin ki görsel sorunlar yaşanmasın.
Pürüzlülük
Pürüzlülük, veya mikro yüzey, haritaları, modelinizin yüzeyinde ışığın ne şekilde yayıldığını belirler. Pürüzlülük %0 olduğunda, yüzey ışığı hiç dağıtmaz ve malzemeniz üzerinde çok keskin ve parlak bir yansıma ve parlaklık oluşturur. %100 olduğunda, ışık ve yansımalar model üzerinde eşit şekilde dağılır ve daha az yansıtıcı mat bir yüzey oluşturur.
Aşağıdaki şekil, çeşitli pürüzlülük haritası değerlerinin karşılaştırmalarını gösterir:



Pürüzlülük, bir nesnenin farklı açılarla ne kadar yansıtıcı olduğunu etkileyebilir, bu da Fresnel etkisi olarak adlandırılır. Studio'nun fresnel işleme sıklığı fiziksel gerçek dünya doğruluğunu hedefler, ancak bazı durumlarda pürüzlü yüzeylerde bile beklenmedik speküler katkılar alabilirsiniz. Bazı durumlarda, malzemelerinizle tutarlı bir aydınlatma tepkisi elde etmek için pürüzlülük haritası değerini yaklaşık 0.1 daha fazla pürüzlü olarak artırarak telafi edebilirsiniz.
Roblox, bu aydınlatma efektini doğru bir şekilde renderlasa da, bir yüzeyin parlaklığı ve yansıtıcılığı, içerik oluşturma yazılımlarınız arasında tutarlı bir şekilde, Substance Painter gibi, ve Studio arasında yanıt vermeyebilir. Uygulamalar arasında render farkları için giysi örneklerine bakın.
Metalik
Metallic, bir yüzeyin yansıtıcılığını belirler. Çoğu durumda, bu değeri ya %0 (metal olmayan) ya da %100 (metal) olarak belirlemelisiniz; ancak saten veya ipek gibi orta derecede yansıtıcı özelliklere sahip yüzeyler oluşturduğunuz da, kısmi metalik değerler kullanabilirsiniz. Bu uygulama, malzemede yansımaları vurgulamak için renk (renk/albedo haritasından) ile çevredeki renkler arasında ince bir yanıltma sağlar.
Aşağıdaki şekilde, çeşitli metalik harita değerlerinin karşılaştırmalarına yer verilmiştir:



Farklı PBR renderlayıcıları, yansıtıcılığı işleyebilmek için çeşitli iş akışları kullanır. Studio yalnızca metallic iş akışı kullanır, bu da bir malzemenin metal ya da metal olmayan olup olmadığını, bazen bir izolator veya iletken olarak adlandırılır.
Emissive mask
Grayscale EmissiveMaskContent içerik dokusu, yüzeyin üzerinde bir emissive maskesi uygular. Bu, bir dokuyu kullanarak, tamamen açık veya kapalı olan Neon malzemesinden daha sanatsal kontrol sağlar ve aydınlatılmış metinler, futuristik zırh veya biyolümines olan yaratıklar gibi detaylı parlayan efektler yaratmanıza olanak tanır.
İlgili EmissiveTint özelliği, emisyona katkıda bulunacak renklendirme rengini belirler ve EmissiveStrength ise emisyona katkının gücünü belirler.







