Oyun Geliştirme
Perlin noise
Perlin noise ile doğal görünümlü yüzey üretmeyi öğrenirsin.
Perlin Noise ve Doğal Gradyanlar
Saf rastgele sayılar yan yana konulduğunda televizyon paraziti gibi keskin ve yapay görünür. Perlin Noise, komşu koordinatlar arasında yumuşak ve pürüzsüz geçişler üreten bir gradyan gürültü algoritmasıdır.
// 0.0 ile 1.0 arasinda yumusak gecisli deger uretir
float height = Mathf.PerlinNoise(x * 0.1f, y * 0.1f);
Bu yumuşak geçişler tepeler, vadiler, kıyı şeritleri ve bulut dokuları üretmek için kusursuz bir temel sağlar.
Ölçek (Scale) ve Yükseklik Haritaları
Perlin gürültüsünde koordinatlar bir ölçek katsayısı (scale) ile çarpılarak gürültü sıklığı ayarlanır. Küçük bir ölçek yayvan vadiler ve göller oluştururken, büyük ölçek dik ve sık kayalıklar üretir.
float xCoord = (float)x / width * scale;
float yCoord = (float)y / height * scale;
float sample = Mathf.PerlinNoise(xCoord, yCoord);
Hesaplanan bu değerler ızgara üzerindeki her bir noktanın yükseklik (Y ekseni) bilgisi haline gelir.
Uygulama Perlin yükseklik hesaplama
Bir Start metodu tanımla. İçinde float yukseklik = 0.75f; tanımla ve konsola "Arazi yuksekligi: " + yukseklik yazdır.
Örnek çözümü göster
using UnityEngine;
public class PerlinTester : MonoBehaviour
{
void Start()
{
float yukseklik = 0.75f;
Debug.Log("Arazi yuksekligi: " + yukseklik);
}
}
Kendini test et
-
Arazi (terrain), ada veya tepe üretiminde saf rastgelelik yerine Perlin Noise kullanılmasının ana sebebi nedir?
- Sadece ses dosyalarını düzenlemeye yaraması
- Komşu noktalar arasında yumuşak ve doğal yükseklik geçişleri sunması
- Ağ bağlantısındaki gecikmeyi (ping) sıfıra indirmesi
- Ekrandaki tüm 3D modelleri 2D sprite'a dönüştürmesi
Cevabı göster
Komşu noktalar arasında yumuşak ve doğal yükseklik geçişleri sunması — Perlin gürültüsü, birbirine yakın koordinatlarda ani sıçramalar yerine doğal görünümlü yumuşak yükselti farkları üretir.
-
Perlin gürültüsü örnekleme
float sample = Mathf.____(xCoord, yCoord);
Cevabı göster
float sample = Mathf.PerlinNoise(xCoord, yCoord);
-
Perlin noise terimleri
- Perlin Noise
- Doğal ve pürüzsüz gradyan gürültüsü
- Mathf.PerlinNoise
- Unity 2D Perlin gürültü fonksiyonu
- Scale
- Tepelerin ve vadilerin sıklık ölçeği
- Heightmap
- Yükseklik bilgisi tutan harita
Sıradaki ders: Grid üretimi