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) ...
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) ...
Yanıtlar:
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.
İ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.
bitangent
ve binormal
doğru.
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.