Normal map
- Oyun Geliştirme kursu
- Orta seviye
- Ders 16/83
- 4 dk
Normal map'in yüzeyde sahte kabartı oluşturduğunu öğrenirsin.
Normal map nedir?
Normal map, 3D modelin poligon sayısını artırmadan yüzeyde mikro çatlaklar, kabartılar ve tuğla desenleri varmış gibi ışık yanılsaması oluşturan özel bir doku haritasıdır. Yüzey normallerini piksel düzeyinde bükerek çalışır.
// Normal map özelliğini etkinleştirme ve doku atama
mat.EnableKeyword("_NORMALMAP");
mat.SetTexture("_BumpMap", normalTexture);Böylece milyonlarca poligon harcamadan son derece detaylı yüzey derinliği elde edilir.
Teğet Uzay ve Mavi Tonlar
Normal map dokuları genellikle mavi ve mor tonlarındadır. Bunun nedeni teğet uzayda (tangent space) yüzeyden doğrudan dışarı bakan Z ekseninin RGB renk modelinde mavi kanala (0, 0, 1) denk gelmesidir.
// Kabartı şiddetini (Bump Scale) ayarlama
mat.SetFloat("_BumpScale", 1.5f);Işık açısı değiştikçe X ve Y kanallarındaki eğim bilgisi sayesinde yüzeydeki girinti ve çıkıntılar gölgelenir.
Uygulama Normal map profilini yazdır
mapType değişkenine "NormalMap", space değişkenine "TangentSpace" ata. Ekrana Map: NormalMap | Space: TangentSpace yazdır.
Başlangıç kodu
using System;
class Program
{
static void Main()
{
// mapType ve space değerlerini tanımlayıp yazdır
}
}Örnek çözüm
using System;
class Program
{
static void Main()
{
string mapType = "NormalMap";
string space = "TangentSpace";
Console.WriteLine("Map: " + mapType + " | Space: " + space);
}
}Beklenen çıktı
Map: NormalMap | Space: TangentSpace
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir 3D modelde poligon sayısını şişirmeden taş ve tuğla kabartısı hissi yaratmak için hangi doku haritası kullanılır?
- Font Texture
- Lightmap Texture
- Audio Waveform
- Normal Map Doğru cevap
Açıklama: Normal Map, ışık açılarını piksel bazında yanıltarak yüzeyde sahte derinlik ve kabartı oluşturan dokudur.
2 Normal map dokusunu ata
mat.SetTexture("____", normalTexture);
mat.SetTexture("_BumpMap", normalTexture);
Açıklama: Unity Standard Shader'da normal map dokusu '_BumpMap' parametresi üzerinden atanır.
3 Normal map kavramları
| Kavram | Anlamı |
|---|---|
Normal Map |
Yüzeyde sahte kabartı oluşturan doku |
Tangent Space |
Yüzeye göre yerel koordinat uzayı |
Bump |
Yüzey çukur ve çıkıntı derinlik hissi |
Mavi Ton |
Dışa bakan Z ekseni normalinin rengi |