Unity HDRP ve URP 2018.1 sürümü ile kullanıma sunulan, yüksek kalitede grafikler elde etmemizi sağlayan grafik çözümlerdir. 2018.1 ile tanıtılan yeni sistem Scriptable Render Pipeline dahilinde olan bu iki sistem ile harika grafikler elde etmek fazlasıyla kolaylaşıyor. Bu yazımızda 2019.4 sürümüyle önizlemeden çıkan HDRP ve URP arasındaki farklardan bahsedip, kurulum aşamasını adım adım göreceğiz.
Öncelikle SRP yani Scriptable Render Pipeline nedir, bundan biraz bahsetmekte fayda var. Bu yeni sistem sayesinde, genel tabirle grafiklerin render olması, objelerin ekranda gösterilmesi kısımlarına müdahale edebilmemiz mümkün hale geliyor. Yani temelinde c# ile kodlayarak cihazımıza nasıl render işlemleri yapacağını söylemek de mümkün. Ki baktığımızda Unity HDRP ve URP de bizim için önceden bu sistem üstünde hazırlanmış taslaklar. Custom olarak kendi Render Pipeline sistemimizi yazmak mümkün. Tabii bu konuya şu an giremeyeceğim ancak özellikle grafik konusunda ilgili kişilerin çok hoşuna gidecek bir şey olduğunu düşünüyorum. Tabii ki, kendiniz bir şey oluştururken vakit alacak ve öğrenmeniz gereken bir ton şey olacak. Bunu belirtmekte fayda var. Bu yüzden hazır olan sistemleri kullanmak da çoğu zaman bizi kurtaracak bir şey.
HDRP, yani High Definition Render Pipeline, yüksek seviyedeki donanımlara sahip cihazlar yüksek performanslarda istediğiniz grafik kalitesini elde etmeniz amacıyla oluşturulmuş bir altyapı. Masaüstü ve dizüstü bilgisayarlar, konsollar için üst seviye grafiklere sahip bir oyun üretmek istiyorsanız, HDRP sizin için uygun seçim olacak.
URP, yani Universal Render Pipeline ise, mobil cihazlardan üst donanımlı bilgisayarlar ve konsollara kadar geniş ölçekteki cihazlarda optimize halde grafikler elde etmenizi sağlayan bir altyapı. Universal adından da anlayabileceğiniz gibi, evrensel bir yapıya sahip bu özelliği ile. Belirtmekte de fayda var, URP 7.x sürümü öncesinde LWRP yani Light Weight Render Pipeline ismine sahipti. Bu yazımızda bahsetmeyeceğiz ancak buraya tıklayarak orjinal dökümanlardan faydalanarak, LWRP sürümünden URP sürümüne geçiş yapabilirsiniz.
Hazır ikisinin farklarından bahsetmişken, belirtmem gereken önemli bir nokta da bu iki altyapıdan yalnızca birini aynı anda kullanabileceğimizdir. Aynı projede ikisini birden yükleyip kullanmak mümkün değil. Bu yüzden tercihini baştan yapıp bu şekilde projenizi ilerletmeniz sizin için daha sağlıklı olacaktır.
Unity HDRP ve URP Kurulumu
Unity HDRP ve URP kurulumu eğer yeni bir proje oluşturuyorsanız çok basit. Tek yapmanız gereken aşağıdaki görselde gördüğünüz gibi, Unity Hub üzerinden proje oluştururken bu iki altyapı taslağından birini seçmeniz. Bu sayede içerisinde örnek bir sahneyle beraber gerekli paketlerin yüklü olduğu bir proje sizin için otomatik olarak hazırlanmış olacak. Evet, bu kadar basit. Artık bu altyapılardan rahatlıkla faydalanabilirsiniz.
Varolan Projenize HDRP ve URP Eklemek
Varolan Projenize HDRP ve URP Eklemek ise biraz uğraştırıcı bir durum olabilir. Eğer mümkünse projenize başlarken yukarıda bahsettiğimiz taslaklar üzerinden ilerleniz daha sağlıklı olacaktır. Ama varolan projenize eklemek istiyorsanız, özellikle HDRP için daha fazla adım gerekmekte. Öncelikle, ikisi için de yapmanız gereken şey “Window > Package Manager” yolu ile package manager penceresini açmak. Ardından hangisini istiyorsanız ona göre arama kısmına HDRP veya URP yazarak paketlere erişip indirmeniz. İlk kısım ikisi için de bu kadar basit.
URP için temelde 2 işlem yapmanız gerekiyor. İlki, proje panelinizde boş bir alana sağ tıklayıp “Create > Rendering > Universal Render Pipeline > Pipeline Asset” ile gerekli pipeline asset dosyasını oluşturmak. İsterseniz farklı bir isim verebilir isterseniz de olduğu gibi bırakabilirsiniz bu aşamada. Daha sonrasında bu dosyayı Render Pipeline içerisinde belirtmemiz gerekiyor. Bunun için de yapmamız gereken şey, “Edit > Project Settings” ile proje ayarlarına girmek. Ardından “Graphics” sekmesi altında, isterseniz sürükleyip bırakarak isterseniz de sağındaki ikona tıklayarak “Scriptable Render Pipeline Settings” alanına dosyanızı atamanız gerekiyor. Aşağıdaki görselde gördüğünüz gibi, bu alanın boş olmaması gerekli.
HDRP için ise ufak bir kontrol ile işe başlıyoruz. Eğer “Console” panelinde bir sürü hata alıyorsanız, bunun nedeni gerekli ayarları yapmamamızdan. HDRP paketini yüklediğimizde Camera objemize otomatik olarak 2 adet bileşen atıyor, bunlar “HD Additional Light Data” ve “HD Additional Camera Data”. Bu sorunlardan kurtulmak içinse yapmamız gereken “Window > Render Pipeline > HD Render Pipeline Wizard” seçeneği ile kurulum sihirbazını çalıştırmak. Bu yeni pencerede “Configuration Checking” adı altında 3 panel bulunuyor, bunların her birinde varolan hataları görebilirsiniz. “Fix All” butonuna tıklamanız ise sorunlardan kurtulmanıza yetecektir.
Bu aşamadan sonra, büyük ihtimalle bütün objelerinizin magenta renginde olduğunu göreceksiniz. Bunun neden varolan materyal shader dosyalarının HDRP ile uyumlu olmaması, bunun da gayet basit bir çözümü var. Az önce çalıştırdığımız kurulum sihirbazında “Project Migration Quick-links” başlığı altında bazı seçenekler bulunuyor. Buradan “Upgrade Project Materials to High Definition Materials” butonuna tıklarsanız, projeniz içerisindeki bütün materyallere HDRP uyumlu shader atanmasını sağlayacaktır. Diğer seçenekte ise, o an seçili olan materyallerinizde bu değişikliği yapacaktır, tüm materyallerde değil.
Bunun dışında, ışık konusuna dair de bir şey belirtmem gerekiyor. Standart olarak varolan ışık ayarlarının aksine, HDRP gerçekte olduğu haliyle ışığı simule etmek adına physical lights units adında ışık şiddeti birimleri kullanıyor. Bu yüzden ışıklarınızdaki Intensity değerini baya yüksek değerler vermeniz gerekebilir. Örneğin güneşi temsil etmesi için kullandıkları bir ışık kaynağında 100000 değerini kullanıyorlardı.
Ayrıca, HDRP içerisinde post processing daha önce varolandan farklı bir altyapıda çalışmakta. Bu sebeple daha öncesinde projenizde varolan post processing dediğimiz, görsel etkiler ve efektler için bunu HDRP bileşeni ile tekrar oluşturmanız gerekecek. Ancak endişelenmeyin, varolan yeni sistemde ufak düzeltmeler yapıp yola devam etmeniz çok zor bir şey değil. Bu konu da aklınızda olsun.
Genel olarak Unity HDRP ve URP hakkında diyeceklerim şimdilik bu kadar. Daha ileri seviye örneklere de gerek youtube kanalımda gerekse de burada yazılı olarak yer vereceğim. Şu anlık temel olarak ne oldukları ve kurulumlarına dair kısım bu yazı içerisinde halledilmiş oldu. Umarım faydalı olmuştur. Ayrıca grafik konusundaki içeriklerimize buraya tıklayarak erişebilirsiniz. İsterseniz yorumlardan isterseniz eposta üzerinden bize ulaşarak içerik önerilerinde de bulunabilirsiniz. Görüşmek üzere.
Kısa, net, özet ve güzel 🙂
Başarılı ve gerçekten güzel bir anlatım.
Teşekkürler