Normal haritalar neden çoğunlukla mavidir?


44

Normal haritalar neden rastgele bir renk yerine ağırlıklı olarak mavi?

Bir 3D nesnesinin normal vektörleri, her yöne, örneğin:

(1.0, 0.1, 0.5), (0.1, -0.5, 0.3), (-0.51, 0.46, -1.0) ... 

görüntü tanımını buraya girin

Yanıtlar:


71

Oyun geliştirmede yaygın olarak kullanılan iki tür normal harita vardır. Onların çalışması gerektiğini düşündüğünüz yol bir tipin çalışma şeklidir (normal model normal haritalar), ancak çoğu oyun başka bir tip (teğet-uzay normal haritaları) kullanır, bu yüzden çoğunlukla mavi dokuları normal haritalarla ilişkilendirirsiniz.

Model uzay normal harita örneği

İle model alan normal dokular , her bir kanal, kullanıldığı modelin köşelerinde aynı koordinat sistemi kullanılarak normalin kesin bir değer kodlar. Bu, normal haritanın farklı bölümlerinin farklı renk tonlarına sahip olacağı, ancak birbirine yakın piksellerin genellikle benzer renklere sahip olacağı anlamına gelir. Model uzay normal haritasının bir örneği yukarıda ( kaynak ) belirir .

Teğet-uzay normal haritaları genellikle açık mavidir. Bu harita türü, her pikselin ağ yüzeyindeki konumuna özgü bir koordinat uzayındaki normalleri tanımlar. Z ekseni olarak normal (enterpolasyonlu) vertex'i ve X ve Y eksenleri olarak teğet ve bitanjant adı verilen diğer iki ortogonal vektörü kullanır. Temel olarak, haritadaki normları, tepe normlarını enterpolasyonuyla hesaplanan piksel için normalden “ofset” olarak düşünebilirsiniz. Teğet ve ikigen vektörler aynı zamanda tepe verilerinden enterpolasyonludur ve ağ üzerindeki hangi yönün normal haritada "yukarı" ve "sola" karşılık geldiğini belirler. Soruda verilen görüntü, normal bir teğet-uzay haritasının nasıl göründüğünün mükemmel bir örneğidir, bu yüzden burada başka bir örnek vermeyeceğim.

Normal bir normal (punto amaçlanmamış) bileşenleri arasındadır [-1, 1]. Ancak görüntüdeki bir rengin bileşenleri arasında değişir [0, 1](veya [0, 255]ancak genellikle normalleştirilirler [0, 1]). Böylece normaller ölçeklenir ve normal (0, 0, 1)renk olacak şekilde dengelenir (0.5, 0.5, 1). Bu, normal haritalarda gördüğünüz açık mavi renktir ve teğet-uzay normları kullanırken normalin enterpolasyonlu tepe noktasından sapma olmadığını gösterir.

Teğet-uzay normlarının model-uzay normlarına göre tercih edilmesinin nedeni, yaratılmaları daha kolay olmaları ve çoklu kafesler için kullanılabilecek olmalarıdır. Ek olarak, eğer animasyonlu bir ağ ile kullanılıyorsa, normal aralıkların değişmesi nedeniyle teğet-uzay normalleri her zaman kullanılır.


6
Bu açıklamayı seviyorum - özlü, matematiği içerir, normal haritalar için kullanılan farklı türleri ve neden kullanıldığını açıklar.
Tom 'Blue' Piddock

Teşekkür ederim arasındaki ayrımı almak için bitangentve binormaldoğru.
imallett

2
@imallett Evet, yüzeyler normal, teğet ve ikiyüzlü, eğriler teğet, normal ve binormaldir. En azından benim anlayışım bu.
bcrist

8

Normal harita çoğunlukla bir yüzeyden dışa doğru işaret eder. XYZ normal vektörlerinin Z bileşeninin normal eşlemelerinin "derinlik" yönü olduğu ve RGB renk uzayının B bileşeninin eşlenmesiyle normal haritalamaya gittiğinizi varsayarsak, normal vektörlerin çoğunda öncelikle mavi renk olur.

Eğer doku kırmızıysa, o zaman bu normal haritanın çoğunlukla sağa işaret eden bir yüzey olduğu anlamına gelir. Bu görüntüyü örnek görüntünüzde görebilirsiniz, çarpmaların en sağ kenarı onlara kırmızımsı bir renk verir.

Kırmızımsı bir rengin tam bir yüzeyi hiç bir anlam ifade etmiyordu. Bu tamamen sağa doğru bakan bir yüzeye işaret eder. Bu sadece normal bir haritanın parçası değil, geometri ile modellenirdi.


3
Bunu biraz daha açıklığa kavuşturmak için normal harita, sizin bakış açınızdan normal vektörü DEĞİL tutar, ancak normal vektörü sizin bakış açınızdan tutar, böylece normal durumunuzu yüzünüzden aldıktan sonra, bunu karıştırın. normalmaps-normalvector. Ve çoğunlukla mavi olan (0, 0, 1) olduğundan, bu, sahip olduğunuz normal vektörün değişmediği anlamına gelir. (Bunu çizmeden önce her yüzü düz bir şekilde yere yatırmanız ve normal haritadan normalvector'ı kullanmanız gibi, bunu düşünün, bu daha çok yukarı doğru olacaktır, eğer sağ veya sol ise ağınızda bir sorun vardır).
tkausl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.