Meydan okuma 5: Final sentezi
- Oyun Geliştirme kursu
- Orta seviye
- Ders 83/83
- 5 dk
Bu bölümün tüm kavramlarını birleştiren bir mini görev çözersin.
Orta Seviye Oyun Mimarisi Sentezi
Orta seviye oyun geliştirmede grafikler (3D mesh ve materyal), görsel efektler (Particle System), fizik simülasyonu ve kullanıcı arayüzü (UI) tek bir sistemde buluşur. Bir karaktere tıklandığında materyali parlar, parçacık efekti fırlar ve arayüzde skor güncellenir.
renderer.material = aktifMateryal;
particleSystem.Play();
Debug.Log("Etkileşim tamamlandı");Uygulama Materyal ve Parçacık Sentezi
renderer.material = new Material("Altin"); ata ve ps.Play(); çağır. Sonuçları sırasıyla Debug.Log("Materyal: " + renderer.material.name); ve Debug.Log("Efekt: " + ps.isPlaying); ile yazdır.
Başlangıç kodu
using System;
public class Material
{
public string name;
public Material(string name) { this.name = name; }
}
public class MeshRenderer
{
public Material material;
}
public class ParticleSystem
{
public bool isPlaying = false;
public void Play() { isPlaying = true; }
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
MeshRenderer renderer = new MeshRenderer();
ParticleSystem ps = new ParticleSystem();
// Materyal ata, efekti oynat ve durumlari yazdir
}
}Örnek çözüm
using System;
public class Material
{
public string name;
public Material(string name) { this.name = name; }
}
public class MeshRenderer
{
public Material material;
}
public class ParticleSystem
{
public bool isPlaying = false;
public void Play() { isPlaying = true; }
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
MeshRenderer renderer = new MeshRenderer();
ParticleSystem ps = new ParticleSystem();
renderer.material = new Material("Altin");
ps.Play();
Debug.Log("Materyal: " + renderer.material.name);
Debug.Log("Efekt: " + ps.isPlaying);
}
}Beklenen çıktı
Materyal: Altin Efekt: True
Uygulama Final Durum Doğrulaması
if (canli) şartı sağlandığında renderer.material = new Material("Aktif"); ata ve Debug.Log("Durum: Hazir"); yazdır.
Başlangıç kodu
using System;
public class Material
{
public string name;
public Material(string name) { this.name = name; }
}
public class MeshRenderer
{
public Material material;
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
bool canli = true;
MeshRenderer renderer = new MeshRenderer();
// Sart dogruysa materyal ata ve durum mesajini yazdir
}
}Örnek çözüm
using System;
public class Material
{
public string name;
public Material(string name) { this.name = name; }
}
public class MeshRenderer
{
public Material material;
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
bool canli = true;
MeshRenderer renderer = new MeshRenderer();
if (canli)
{
renderer.material = new Material("Aktif");
Debug.Log("Durum: Hazir");
}
}
}Beklenen çıktı
Durum: Hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir oyun sahnesinde nesnenin materyal rengini değiştirip aynı anda parçacık patlaması başlatmak için hangi iki bileşen birlikte kullanılır?
- Transform ve Rigidbody
- Camera3D ve AudioSource
- MeshRenderer ve ParticleSystem Doğru cevap
- BoxCollider ve Light
Açıklama: Görsel yüzey görünümünü MeshRenderer, parçacık efektlerini ise ParticleSystem yönetir.
2 Efekti Başlat
efekt.____();
efekt.Play();
Açıklama: ParticleSystem bileşenini kod üzerinden tetiklemek için Play metodu kullanılır.
3 Bölüm Kavramları Eşleştirmesi
| Kavram | Anlamı |
|---|---|
MeshRenderer |
Geometriyi materyalle çizen bileşen |
ParticleSystem |
VFX ve parçacık saçılımı sistemi |
onClick.AddListener |
UI butonuna eylem bağlama yöntemi |
emit_signal |
Olay tabanlı sinyal yayınlama çağrısı |