Unreal Engine’daki materyal sistemi, bir yüzeyin görünümünü oluşturmak için dokuları, matematik işlemlerini, parametreleri ve ifadeleri birbirine bağlayabileceğiniz düğüm tabanlı bir materyal editörü sunar. Materyal sistemi, materyalleri gerçek zamanlı optimize eder ve işler.
Maya kullanıcıları için bu iş akışı, Hypershade’de materyal oluşturmaya oldukça benzese de bazı önemli farklılıklar da vardır.
Unreal Engine’daki materyaller şunlar kullanılarak oluşturulur:
Gerçek zamanlı önizleme ve iş akışları için yenilenmiş, düğüm tabanlı bir materyal editörü.
Ana Renk, Metalik, Pürüzlülük, Yansımalı ve Normal Haritalar gibi tanımlanmış özellik girdileri ile gerçekçiliği ön plana çıkaran fiziksel tabanlı işleme (PBR).
Gerçek zamanlı aydınlatma ve yansımalarla önizleme görünüm penceresinde bulunan materyallerdeki değişikliklerin yer aldığı gerçek zamanlı geribildirim.
Üst materyali yeniden derlemeye gerek kalmadan geçersiz kılmalarla materyallerde ayarlamalar yapmak için materyal örneklerinin olduğu parametre tabanlı iş akışları.
Bir Materyalin Tanımlayıcı Öznitelikleri
Bir materyalin Unreal Engine’da nasıl işleneceği, aydınlatmaya ve yüzeylere nasıl tepki vereceğiyle ilgili tanımlayıcı öznitelikler; özellikleri, materyal girdileri ve materyal grafiği mantığı ile belirlenir.
Materyal Özellikleri ve Materyal Girdileri
Materyal Editörü’nde bulunan Ayrıntılar paneli, bir materyalin tanımlayıcı özniteliklerini ayarlayacağınız yerdir. Oluşturduğunuz materyalin türüne göre göz önünde bulundurmanız gereken üç temel özellik vardır. Bu özellikler, materyal grafiğinde materyalinizin görünümünü ayarlamak için kullanacağınız ana materyal düğümündeki girdileri tanımlar.
Materyal Alanı, materyalin projenizde ne için kullanılabileceğini tanımlar. Örneğin; 3D yüzey, kullanıcı arayüzü, son işleme, ışık fonksiyonları veya çıkartmalar.
Karışım Modu, materyalin çevredeki renkli arka plan pikselleriyle nasıl karışacağını tanımlar. Örneğin bu opak, yarı saydam veya maskeli olabileceği gibi başka karışım türü seçenekleri de olabilir.
Gölgelendirme Modeli, materyalin ışıkla nasıl etkileşime girdiğini tanımlayarak, yüzeylerin görsel görünümünü ve aydınlatma davranışını belirler. Örneğin giysi ve saç gölgelendirme modellerinde, varsayılan aydınlatma gölgelendirmesi modeline kıyasla daha gerçekçi bir etki elde etmek için farklı materyal girdileri kullanılır. Bazı gölgelendirme modellerinde materyallere daha fazla karmaşıklık ve performans maliyeti eklenir.
Bu materyal özellikleri ayarlandığında, materyal grafiğinde bulunan ana materyal düğümündeki mevcut girdileri kullanarak bir materyal oluşturabilirsiniz. Girdilerin listesi, geliştirmekte olduğunuz materyal için hangi etki alanının, karışım modunun ve gölgelendirme modelinin ayarlandığıyla doğrudan ilişkilidir. Unreal Engine’da oluşturulan materyallerin çoğu için aşağıdakileri kullanırsınız:
Aşağıda, yalnızca farklı çıktılar kullanmak için karışım modunu değiştirdiğinizde ana materyal düğümünde kullanılacak farklı girdilerin bir örneği gösterilmektedir.
Materyal Alanı: Yüzey Karışım Modu: Opak Gölgelendirme Modeli: Varsayılan Aydınlatma | Materyal Alanı: Yüzey Karışım Modu: Saydam Gölgelendirme Modeli: Varsayılan Aydınlatma | Materyal Alanı: Yüzey Karışım Modu: Maskeli Gölgelendirme Modeli: Varsayılan Aydınlatma |
Aşağıda Maya’nın Hypershade materyalleriyle kullanılan bazı yaygın girdi adları ve bunların Unreal Engine’daki eşdeğerleri yer almaktadır. Buna aynı zamanda Unreal Engine’da materyal grafiğindeki mantığı tanımlarken bu girdilerin her biri için kullanılan tipik kaynak girdisi türü de dahildir.
| Maya Hypershade Materyal Girdileri | Unreal Engine Materyal Girdileri | Tipik Kaynak Türü | Materyal Girdi Tanımı |
|---|---|---|---|
Color (Renk) | Ana Renk | Doku veya Renk | Bir yüzeyin ana yayılım rengi. |
Reflectivity (Yansıtıcılık) | Metalik | Skaler veya Doku | Yüzey görünüşünü metal (1) veya metal olmayan (0) şeklinde tanımlar. |
Roughness (Pürüzlülük) | Roughness (Pürüzlülük) | Skaler veya Doku | Yüzey pürüzsüzlüğünü pürüzsüz (0) ila pürüzlü (1) olarak kontrol eder. |
Reflectivity (Yansıtıcılık) | Yansımalı | Skaler veya Doku | Metalik olmayan bir yüzeyin yansıma yoğunluğunu yansıtıcı olmayan (0) ila yansıtıcı (1) olarak kontrol eder. |
Bump / Normal (Tümsek / Normal) | Normal | Normal Harita Dokusu | Doku haritalarını kullanarak yüzey ayrıntılarını uygular. |
Emission / Emission Color / Incandescence (Yayılım / Yayılım Rengi / Işık Yayma) | Yayıcı Renk | Renk veya Doku | Bir yüzeyin kendi kendine aydınlatma yoğunluğunu kontrol eder. |
Transparency / Translucence (Saydamlık / Yarı Saydamlık) | Opaklık | Skaler veya Doku | Yüzeyin tamamen saydamlıktan (0) opaklığa (1) kadar ne kadar saydam olacağını kontrol eder. |
Ambient Color (Ortam Rengi) | Çevresel Oklüzyon | Doku | Dolaylı gölgelerin yoğunluğunu kontrol eder. |
Bu materyal özelliklerinin ve girdilerinin materyallerde kullanımına ilişkin daha fazla bilgi ve örnek için aşağıdaki konulara bakın:
Materyal Grafiği
Materyal Grafiği, bir yüzeyin görünümünü tanımlamak için dokuları, ifadeleri, matematiksel işlemleri ve değerleri birbirine bağlayacağınız düğüm tabanlı bir editördür. Bir yüzeyi tanımlamak için kullanacağınız materyaller, ihtiyacınıza göre basit veya karmaşık olabilir.
Kullanacağınız yaygın düğüm türleri:
Doku Örneği
Bu düğüm, renk haritaları ve normal haritalar gibi doku öğeleri kullanır.
Sabitler
Bunlar, Doğrusal İnterpolasyon düğümündeki girdi değerleri gibi skaler özellikleri kontrol etmek veya metalik, pürüzlülük ya da opaklık için ana materyal düğümünün girdilerine doğrudan ekleme yapmak için kullanışlı olan tek değerli sayılardır.
Matematik Düğümleri
Bunlar toplama, çarpma, çıkarma, bölme, doğrusal interpolasyon (Lerp), üs, sınırlama vb. için kullanılan matematiksel işlemlerdir.
İşlevsellik Düğümleri
Bunlar, grafikteki diğer düğümlerle mantık oluşturmaya yardımcı olan düğümlerdir. Bunlar arasında Fresnel, kamera vektörü, dünya konumu ve doku koordinatları gibi ifadeler yer almaktadır.
Materyal grafiğinde mantığın kullanılması ve buradaki genel işlevsellik hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Materyaller ve Dokular İçin Ek Notlar
Aşağıda Unreal Engine’da materyal geliştirmeyle ilgili konulara dair bazı önemli değerlendirmeler bulunmaktadır. Bu kavramlar ve uygulamalar hakkında daha derinlemesine değerlendirmeler için bağlantılı dokümantasyon sayfalarına bakın.
Materyaller ve Materyal Örnekleri
Unreal Engine’ın materyal sistemi, gerçek zamanlı işleme ve aydınlatma için özelleştirme ve parametreleştirme göz önünde bulundurularak oluşturulmuştur. Materyallerle çalışmayı optimize etmenin bir yolu da, orijinal materyali etkilemeden parametreleri özelleştirmenin bir yöntemi olarak materyal örneklemeyi kullanmaktır.
Yani materyal bir obje yüzeyinin nasıl göründüğünü ve aydınlatmayla nasıl etkileşime girdiğini tanımlayan birincil öğeyse, Materyal Örneği çeşitlilik ve özelleştirme oluşturmak için bu değerleri geçersiz kılmak üzere üst veya temel materyalin özniteliklerini ve parametrelerini kullanır. Bu, ayrıca tüm objeler için ayrı materyal kullanmaktan daha uygun maliyetli olabilir.
Materyallerin ve materyal örneklerinin özelliklerini aşağıdaki şekillerde ayırabilirsiniz:
| Materyal Özellikleri | Materyal Örneği Özellikleri |
|---|---|
Düğüm tabanlı bir editör kullanılarak oluşturulur. | Temel materyalden geçersiz kılınabilen, kullanıma sunulmuş (exposed) parametrelerle yönlendirilen bir editör kullanır. |
Bir materyalin renk, metalik, pürüzlülük ve opaklık gibi tüm olası özellik girdilerini içerir. | Yalnızca geçersiz kılınabilen temel materyal ile kullanıma sunulan parametreler arasında erişim sağlar. |
Materyalde yapılan değişiklikler, değişikliklerin önizlenebilmesi için yeniden derlenmesini gerektirir. | Değişen parametreler için gerçek zamanlı geribildirim sunar, böylece materyalin yeniden derlenmesine gerek kalmaz. |
Materyal grafiği, görsel gereklilikleri karşılayan herhangi bir karmaşıklık düzeyine sahip olabilir. | Sadece kullanıma sunulan parametrelere erişim, performansı ve iş akışı verimliliğini artırır. |
Bu materyalin değiştirilmesi onu kullanan tüm objeleri etkiler. | Bu materyal örneğini değiştirmek, yalnızca onu kullanan objeleri etkiler ve bu da onları benzer özelliklere sahip aynı temel üst öğeden başlayan birden fazla benzer görünümlü yüzey oluşturmak için ideal hale getirir. |
Materyal örneğini bir materyalle birlikte kullanmayı düşünmek için en uygun zaman, yalnızca ayrıntıları özelleştirmeniz ve materyallerin rengi, dokuları, ölçeklendirme vb. parametreleri ayarlamanız gerektiği durumlardır. Yeni görsel davranış ve stil (örneğin opak veya saydam) tanımlamanız gerektiğinde yeni temel materyaller oluşturmalısınız; bunun için materyal grafiğinde yeni bir mantık kurulması gerekir.
Materyaller için genellikle daha yüksek bir ilk kurulum süresi gerekir ve benzer özellik ve özniteliklere sahip materyaller için performans açısından bir materyal örneği kullanmaktan daha az verimlidir.
Projenizde materyalleri ve materyal örneklerini birlikte kullanma hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Dokular
Maya’da olduğu gibi dokular, oluşturduğunuz materyalin temel renk, normal, pürüzlülük gibi girdi özniteliklerine uyguladığınız ve yüzey ayrıntılarını tanımlayan görüntü haritalarıdır. Unreal Engine’da materyallerinizi geliştirirken fizik tabanlı işleme kavramlarına ve gerçek zamanlı geribildirimlere daha fazla önem verilmektedir.
Dokuları içe aktardığınızda bunları Doku Öğesi Editörü’nde açabilirsiniz. Burada bu dokulara dair bilgileri görebilir, ayarlarını yapılandırabilir ve bazı düzenlemeler yapabilirsiniz.
Unreal Engine’da dokuları optimize etmek ve daha verimli çalışmak için aşağıdakileri yapabilirsiniz:
Dokuları üçüncü taraf araçlarını kullanarak oluşturup ayarladıktan sonra içe aktarın.
Pürüzlülük, metalik ve çevresel oklüzyon gibi materyal girdileri için birden fazla gri tonlamalı dokuyu tek bir RGB dokuda birleştirmek için kanal paketleme tekniklerini kullanın. Birkaç farklı dokuyu referans almak yerine tek bir dokuyu referans alarak performansı optimize edin.
Motor, dokular için doku sıkıştırmayı otomatik olarak kullanır ancak bunun nasıl kullanılacağını anlamak görsel doğruluğu ve performansı artırabilir.
Dokuların boyutlarına dikkat edin. Gerçek zamanlı performansta, dokular için boyutları ikinin üssü (128, 512, 1024 vb.) şeklinde kullanmak idealdir. İkinin üssü olmayan dokular, motorun doku akışı sistemini kullanmaz; bu da uzak mesafelerde görüntü bozulmalarına yol açabilir.
Unreal Engine’da dokuları kullanma hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Alt Tabaka Materyal Altyapısı (Substrate Material Framework)
Unreal Engine’ın Alt Tabaka Materyal Altyapısı, sabit gölgelendirme modelleri ve karışım modları setini daha etkileyici ve modüler bir altyapıyla değiştiren materyal oluşturma yaklaşımıdır. Materyal oluşturma, standart materyal sistemiyle aynıdır ancak artık tek bir gölgelendirme modeli ve karışım modu kullanan ayrı materyallere sahip olma zorunluluğunuz yoktur. Bu iş akışında bunları mükemmel bir şekilde karıştırarak daha fazla karmaşıklığa sahip benzersiz materyaller oluşturabilirsiniz.
Projelerinizde ve materyal oluşturma iş akışlarınızda alt tabaka materyal işlevselliğini kullanma hakkında daha fazla bilgi için Alt Tabaka (Substrate) Materyaline Genel Bakış kısmına bakabilirsiniz.
Materyallerle Fiziksel Tabanlı İşleme
Unreal Engine, yüzeylerle etkileşim halindeki ışığın davranışını doğru bir şekilde simüle eden gölgelendirme ve işleme için Fiziksel Tabanlı İşleme (PBR) metodunu kullanır. Bu metot farklı ışık koşulları altında gerçekçi ve daha da önemlisi öngörülebilir görseller oluşturmak için ışık etkileşimleri sağlar. Örneğin, doğrudan güneş ışığı ile iç mekân aydınlatması arasında ya da elde boyanmış veya çizgi gölgelendirmeli (cel-shaded) görünümler gibi stilize efektler ile gerçekçi yüzeyler arasında fiziksel açıdan kabul edilebilir farklılıklar oluşturmayı mümkün kılar.
Unreal Engine’da PBR materyalleriyle çalışırken göz önünde bulundurulması gereken temel ilkeler şunlardır:
Gerçekçi aydınlatma etkileşimleri, yüzeylerin ister doğal (dış) ister yapay (iç) aydınlatma olsun, farklı aydınlatma ortamlarına doğru ve öngörülebilir şekilde yanıt vermesini sağlar.
Farklı sahnelerde ve aydınlatma senaryolarında doğru görünmek için materyallerle tutarlılık oluşturur.
Sanatçıların materyalleri rastgele değerler yerine fiziksel özelliklerine göre tanımladığı basitleştirilmiş bir iş akışı sağlar. Böylece sahnede anında geribildirim alınabilen gerçek zamanlı bir ortamda gölgelendirme ve aydınlatma ayarları yapma imkânı vererek tahmine dayalı çalışmayı azaltır.
Daha fazla bilgi için Fiziksel Tabanlı Materyaller kısmına bakabilirsiniz.
Sonraki Sayfa
Maya Kullanıcıları İçin Unreal Engine’da Aydınlatma ve İşleme
Maya kullanıcıları için Unreal Engine aydınlatma ve işleme özelliklerine genel bir bakış.