Bu konumuzda Blender da topology nedir ve nasıl yapılır ona bakıcaz. Genel anlamda topology çok sayıda poligona sahip mesh objelerinin ana hatlarını bozmadan düşük yüzek sayılarına çevirme yöntemidir.Blender da topology yapmanın birçok yöntemi var . Topology için modifier kullanabiliriz veya sculpt mode da topology yapabiliriz. Modifier ve sculpt mode de aslında kontrol tam olarak bizim elimizde olmaz, blender o işleri kendisi hesaplar ve en uygun gördüğü şekilde yapar işlemi.
Çok yüksek sayılardan çok düşük sayılara geçtiğimizde modifier ve sculpt fırçasının yaptığı işlemlerde istemediğimiz şeyler olabiliyor.
Adım adım kontrolün tamamen bizde olduğu yöntem ile topology yapıcaz. Elimizde yüksek poligonlu bir objemiz var ve çalışma esnasında bile pcyi kasabiliyor bu tarz objeler .
Bu resimdeki obje 480.000 poligona sahip . bu sayılardaki objelere en basitinden mark seam hattı oluşturup uv map hazırlamaya çalışsak 1 ay uyraşırız.
Şimdi adım adım yapmaya başlıyoruz .
Step1:
Yeterli detaya sahip olduguna düşündüğümde ObjeMode geçerek Blenderdan bir plane objesi istedim ve adını LowPoly olarak değiştirdim.
Hemen ardından yeni objemiz aktif iken edit moda geçerek zaten 4 vertexli olan objenin 3 vertex ini silip sadece 1 vertex bırakıyoruz.
Step2:
Snap Modu aktifleştiriyoruz ve Snap Element olarakda Face seçiyoruz.Yani biz şu anda 1 vertexli olan objemizi yüksek face(poligon) sayılı objenin üzerinde G ile taşıdığımızda veya Extrude (E) ile çoğalttığımızda vertex otomatik olarak diğer objenin yüzeylerinden birine yapışacak.
Daha sonra loop hattımızı belirliyoruz .Loop dediğimiz hat için örnek vermek gerekirse mesela elimizi biraz kapatırsak avuç içimizde kasların oluşturdu 3 çizgi görürüz işte o çizgiler bir loop hattıdır.Bu model daha extrem hatlara sahip olduğu için yüksek ve alçak olan yüzeyleri takip edicem ve bir yönde ilerlemeye çalışıcam .
Animasyona sahip olmayan sabit duran ev,ağaç,masa vs gibi objelerde loop hatlarını oluşturan yüzeylerin üçgen-dörtgen veya ngen olmasının çok önemi yok ama shade smooth en iyi sonucu dörtgen yüzeylerde verdiği için oluşturacağımız facelerin olabildiğince dörtgen olmasına özen göstericez.
Step3 :
Extrude yaparak ilerliyoruz. Vertexleri tek tek seri şekilde extrude yapıyoruz. Edge veya bir loop hattı seçip extrude yapabilirz ama o zaman o hattaki sadece bir vertex diğer objenin yüzeyine yapışır geri kalan vertexleri yine tek tek seçerek G ile taşımamız gerekir.
Yüksek poligonlu ve yeni yapacağımız düşük poligonlu objemizin orgin noktaları aynı yerde olursa topology yaparken mirror modifier de kullanabiliriz böylece her işlemi iki sefer yapmamış oluruz.
Step4:
Yeni oluşturduğumuz model için dikkat etmemiz gereken şeyler üst üste gelen vertex varmı yokmu kontrol ediyoruz. Obje Modda Ctrl+A ile Rotation ve Scale diyoruz böylece blender objemizin şeklini tanımış oluyor.Güzel bir Mark Seam hattı ile iyi bir UvMap hazırlıyoruz.
Ben denemek amaçlı 2 tane obje hazırladım.Bu iki obje örnek aldığımız yüksek poligonlu objenin iyi bir taklidi oldu ama istediğimiz detaylara sahip değiller. İşte tam burada çok can alıcı her derde deva olan Bake işleminden yararlanıp yüksek poligonlu objenin detaylarını alıp düşük poligonlu objeye aktarıcaz. Bake işleminden önce yeni objelerimiz için çok önemli ama çok da unutulan ctrl+A komutu verip rotasyonu ve scale değerlerini tanıtıyoruz. ardından uv maplarını hazırlıyoruz.
Step5:
Bake işlemi ile detayları almak istediğimiz için normal map hazırlamamız gerek
Bake işlemini bildiğinizi varsayarak bu konuda anlatmıyorum istek olursa Bake işlemlerinin nasıl yapıldığı ve nerelerde kullanıldığına dairde bir anlatım hazırlamaya çalışırım. Gerçi resimdeki işaretlenmiş yerleri incelerseniz zaten kolaylıkla bake işlemini yapabilirsiniz.
Oluşturduğumuz normal map haritasını node editörde ilgili objeye onun bir normal map haritası olduğunu tanıtıyoruz.Ben konunun anlaşılması için streng değerlerini yüksek tuttum siz ihtiyacınıza göre strang ayarları arttırır veya azaltabilirsiniz.
Şu anda yapmak istediğimiz şeyleri yaptık ve artık deneme zamanı. Bakalım nasıl bir sonuç alıcaz
Görüldüğü gibi normal map yapması gerekeni yapıyor ve düşük poligonlu objelere etki ediyor.Bu resimi yorumlamak gerekirse koyu olan bölgeler ışıktan az etkileniyor ve bir derinlik hissi veriyor.Açık ren olan bölgeler ise ışıktan daha çok etkileniyor ve yükseklik hissi veriyor. Normal Map objenin şeklini değiştirmez veya obje üzerinde bir boyama yapmaz.Normal Map yüzeylerin ışıktan nasıl etkileneceğini belirler ve biz olmadığı halde orada çukurlar veya yükseltiler görürüz.Bir nevi ilizyon gibi.
Aşağıdaki resimde normal map bir yüzeye nasıl etki ediyor daha iyi anlıcaz
Işık kaynağından gelen yeşil renkteki ışık huzmelerini her yüzey kendi yönünde yansıtıcaktır.Bake işlemi ile üstteki yüzeyin ışığa olan tepkisini alıyor ve alttaki yüzeye normal map aracılığı ile tanıtıyoruz.Böylece alttaki temsili yüzey tamamen düz olmasına karşın normal map sayesinde üstteki temsili yüzeyin ışık kırılmalarını taklit ederek sanki oda girinti ve çıkıntılara sahipmiş gibi görünüyor.
Madem ışık dedik objelerimize küçük bir ışık testi yapalım
Ortadaki objemiz 480.000 poligonlu soldaki 3400 sağdaki ise 1300 poligonlu objelerimizdi
ışığın kapsamına giren bölgelere dikkat edersek (özellikle 1300 poligonlu olan sağdaki) çok iyi şekilde orjinal objeyi taklit ediyor.
ben biraz daha uğraşıp 700 poligona kadar indirgedim objeyi ve Hand painted yöntemiyle texture dosyalarını hazırladım. Aşağıdaki videoda color map ve normal map kullanılmıştır.
https://www.youtube.com/watch?v=2QXL1uvj_sQ
Hatam ve anlatım bozukluklarım olduysa kusura bakmayın , faydam dokunduysa ne mutlu