DirectionalLight3D
- Oyun Geliştirme kursu
- Orta seviye
- Ders 63/83
- 4 dk
DirectionalLight3D ile güneş benzeri ışık öğrenirsin.
DirectionalLight3D ve Güneş Işığı
Açık dünya veya dış mekan sahnelerinde sonsuz uzaklıktan gelen paralel ışık ışınlarını simüle etmek için DirectionalLight3D düğümü kullanılır. Bu ışık türü güneş veya ay ışığını temsil eder; konumu önemli değildir, yalnızca düğümün dönme açısı (rotation) ışığın geliş yönünü belirler.
DirectionalLight3D gunes = new DirectionalLight3D();
gunes.LightEnergy = 1.2f;Gölgeleri Etkinleştirme (Shadows)
Varsayılan olarak performans tasarrufu sağlamak için ışıkların gölge üretimi kapalıdır. Gerçekçi gölgeler oluşturmak için ShadowEnabled özelliği true yapılır. Işığın sahneye yaydığı parlaklık ve güç ise LightEnergy özelliği üzerinden ayarlanır.
gunes.ShadowEnabled = true;
GD.Print("Gölge açık: " + gunes.ShadowEnabled);Uygulama Işık Enerjisini ve Gölgeyi Yapılandır
sun.ShadowEnabled değerini true yap ve GD.Print("Enerji: " + sun.LightEnergy); ile enerji değerini yazdır.
Başlangıç kodu
using System;
public class DirectionalLight3D
{
public bool ShadowEnabled { get; set; } = false;
public float LightEnergy { get; set; } = 1.5f;
}
public static class GD
{
public static void Print(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
DirectionalLight3D sun = new DirectionalLight3D();
// Golgeyi ac ve enerji degerini yazdir
}
}Örnek çözüm
using System;
public class DirectionalLight3D
{
public bool ShadowEnabled { get; set; } = false;
public float LightEnergy { get; set; } = 1.5f;
}
public static class GD
{
public static void Print(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
DirectionalLight3D sun = new DirectionalLight3D();
sun.ShadowEnabled = true;
GD.Print("Enerji: " + sun.LightEnergy);
}
}Beklenen çıktı
Enerji: 1.5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 DirectionalLight3D ışığının sahnede vurduğu yönü aşağıdakilerden hangisi belirler?
- Düğümün dönme açısı (rotation) Doğru cevap
- Işığın X ve Y koordinat pozisyonu
- Işığın ölçeği (scale)
- Işığın Fov değeri
Açıklama: Yönsel ışık paralel ışınlar yaydığı için konumu önemsizdir; yalnızca yönü (dönüş açısı) ışığın geliş açısını belirler.
2 Gölgeyi Etkinleştir
isik.____ = true;
isik.ShadowEnabled = true;
Açıklama: Işığın gölge düşürmesini sağlamak için ShadowEnabled özelliği true yapılır.
3 Işık Bileşenleri Eşleştirmesi
| Kavram | Anlamı |
|---|---|
DirectionalLight3D |
Güneş gibi paralel ışık yayan düğüm |
ShadowEnabled |
Işığın gölge oluşturma ayarı |
LightEnergy |
Işığın parlaklık ve enerji şiddeti |
Rotation |
Işığın sahneye vurduğu geliş açısı |