Turkish (Türkçe) translation by Ece Karahan (you can also view the original English article)
Bu makalede, normal map'in ne olduğu ve neden her 3B oyun geliştirici için önemli ve kullanışlı bir yöntem olduğunu açıklayacağım. Ayrıca, bazı örneklerle birlikte bunları oluşturmak için gerekli birkaç mükemmel aracı da paylaşacağım.
Normal Map Nedir?
2B texture map, renk, transparanlık, parlaklık, yansıma ve yüksek detaylar gibi belli özellikleri uyguladığınız ya da değiştirdiğiniz herhangi 3B bir objenin çevresini sararak, uygulandığı 3B objede yüksek düzeyde ayrıntı elde etmenizi sağlayan bir görseldir.
3B sanatçılar için en faydalı maplerden biri normal map'tir. Bump map kullanımındaki gibi siyah ve beyaz renk dağılımı yerine, normal map kırmızı, yeşil ve mavi renklerini içerir. Bu RGB değerleri; derinlik oluşturmasını sağlayarak 2B görseli x, y ve z kordinatlarına çevirir. Bu şekilde, bir 3B uygulaması, 3B koordinatıyla ilişkili rengi temel alarak aydınlatma detaylarını taklit edebilir.
İşte normal mapin, 3B bir modele uygulanmadan 2B görsel olarak nasıl göründüğüne bir örnek:

Normal Map Neden Kullanılır?
Bellek Koruma
Video oyunları için 3B öğeler oluştururken, esasında 3B modelinizin ne kadar karmaşık olabileceğini sınırlandıran ''Poligon Limiti'' veya ''Poligon Bütçesi'' denilen şeye sahipsinizdir.
Poligon bütçeleri 3B oyununuzu nispeten küçük dosya boyutlarında tutmanızı gerektirir; karmaşık 3B modeller büyük miktarda alan kaplayabilirler. Normal map; istediğiniz türde ayrıntılara sahip karmaşık 3B modeller gibi görünen öğelere sahip olabilirken, dosya boyutunuzu bütçeniz dahilinde tutmanıza izin verir.
Örneğin, bu öğenin 3B modeli çok basit bir küp, üstüne normal map eklenerek, çok daha karmaşık bir şekildeymiş gibi görünüyor.

Civatalar ve ''Normal Maps'' sözcükleri düz yüzey üzerine basitçe boyanmış gibi görünmüyorlar.
Gerçekçilik
Normal Map, temel bir 3B uygulamasında (Maya, 3Ds Max, Cinema 4D) normalde yapmakta zorlanacağınız çeşitli detayları elde etmek için kullanılır. Normal mapler oluşturan çok çeşitli program türü vardır ama bunların hepsi daha yüksek detaylar sağlar.
Normal map'ler sahnenin ışıklandırmasından etkilenir, bu şekilde ihtiyaç duyduğunuz yerde ayrıntılar üzerinde oynamak kolaydır. Bu, bir yüze kırışıklıklar uygulamak veya yukarıdaki örnekte olduğu gibi metal nesneye cıvata ve çizikler eklemek için kullanılabilir.
Yüksek Poligondan Düşük Poligona
Yüksek poligonlu (yani oldukça karmaşık) 3D modellerin genelde çok fazla ayrıntıları vardır, ancak çok fazla bellek tüketebilirler. Sanatçıların eğilimleri düşük polygon modelleri kullanmaktır ve ayrıntıyı geliştirmek için normalleri uygularlar; bu, dosya boyutunun nispeten küçük kalmasını sağlar.
Yüksek polygonlu modeller aslında düşük polygonlu versiyon için kullanılabilen normal mape dönüştürülebilir. Bu, oyun şirketleri çok detaylı karakterler ürettikleri ve mümkün olduğunca çok ayrıntıyı korumak istedikleri zaman çok olur.
Bu örnekte, yüksek poligon modelini normal map ile düşük poligon bir modele dönüştürme işlemini göreceksiniz. Görüntüleri gezerken her bir resimdeki poligonların sayısına dikkat edin.

Orijinal yüksek poligon modeli

Düşük poligonlu model

Normal map (yüksek poligonlu modelden oluşturulan) uygulanmış düşük poligonlu model
Zaman Verimliliği
Normal map kullanmak, üzerinde çalıştığınız projenin türüne bağlı olarak size çok zaman kazandırabilir. Kutuyla birlikte verilen örnekte tüm yaptığım, bir 2B normal map üretmek ve onu kutuya koymaktı. Eğer aynı proje için her bir nesneyi yaratacak olsaydım, daha uzun sürerdi.
Ayrıca, sahnedeki daha fazla 3B nesneyle, daha fazla bellek gerekecektir. Şimdi, karakterler gibi daha fazla organik işler için bunun harcadığım zamanı büyük ölçüde azaltacağını söyleyemem, ancak sert yüzeyli nesneler için gerçekten yardımcı oluyor. Öğelerde daha az zaman harcarken yeni şeyler denemek için daha fazla esnekliğe sahip olursunuz.
Endüstri Standartı
Yüksek detaylı bir oyun görürseniz, onların normal map kullandığını neredeyse garanti edebilirim.
Daha önce, 3B öğeleri oluştururken kullanılan birçok texture mapin, en değerli olanın renk haritası ve normal harita olduğundan bahsettim. İnsanlar sürekli olarak daha iyi görünen şeyleri istemekte oldukları için, kendilerini daha fazla ayrıntı gerekliliğinin içinde bulurlar. Bu daha karikatürsel olan ve el çizimi gölgeleme gibi teknikleri kullanan oyunlar için geçerli olmayabilir, ancak AAA başlık oyunlarında bunları kullandığına bahse girebilirsiniz.
Nasıl Normal Map Oluştururum?
Normal map yapmak veya üretmek için kullanabileceğiniz birçok araç vardır:
CrazyBump
CrazyBump, fotoğraflardan, height maplerden (gri tonlamalı olan) veya diğer normal maplerden normal mapler üretir. CrazyBump ile normal değerlerinizi referans görüntüden daha fazla veya daha az ayrıntı gösterecek şekilde ayarlayabilirsiniz.

xNormal
XNormal, yüksek poligonlu ve düşük poligonlu 3B modellerden normal mapler üretir. Zbrush gibi bir 3B heykel uygulamasına başlamak istiyorsanız bu gerçekten harika ama yine de modelinizin poligon bütçeniz dahilinde olmasını istiyorsunuz.
Yukarıdaki 3B karakter için normal map oluşturmak amacıyla xNormal kullandım.

nDo2
nDo2, seçimler ve diğer özellikleri kullanarak normal oluşturmanıza olanak tanıyan bir Photoshop eklentisidir. Photoshop araçlarının esnekliği ile birlikte, CrazyBump ile aynı işlevselliği içerir.
Civatalı kutuyu yapmak için nDo2 kullandım.

Photoshop
Photoshop, farklı renk kanallarını (R,G,B) kullanarak normal mapi manuel olarak boyamak için kullanılabilir.
Bu tekniği sıfırdan yapmak çok zordur, bu nedenle sanatçılar genellikle başka bir program tarafından oluşturulan bir map üzerinde ufak değişiklikler yapmak için yalnızca Photoshop kullanır. Normallerinizi oluştururken rastgele nesneler varsa, sorunları manuel olarak düzenlemek için Photoshop'u kullanabilirsiniz.
İşte bu yüzden normalleri boyamak için Photoshop kullanmıyorum:


Normal mapping hakkındaki bu gönderiyi okuduğunuz için teşekkürler! Umarım çok şey öğrenmiş ve bunu yaparken eğlenmişsinizdir.
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post