Perlin Noise Nedir?

Perlin Noise

 Hepinize merhaba arkadaşlar uzun zamandır (Yaklaşık 1 aydır) bilgi verici bir içerik yazmıyordum bu gün biraz vakit bulabildim ve sizlere projelerinizde işinize yarayabilecek yeni bir bilgi ile ilgili bir yazı yazma kararı aldım.

Perlin Noise Nedir ?

Noise Nedir ?

Perlin Noise den önce size Noise kavramı ile ilgili biraz bilgi vermek istiyorum, Noise kavramı dilimize gürültü olarak çevrilir.

Noise bilgisayarlarda genel olarak rastgele rakamlar oluşturmak ve bu rakamlar ile görüntü elde etmekte kullanılır, yani CGI dediğimiz görüntülerde rastgelelik oluşturmak amacı ile kullanılır. Şimdi bu duruma hiç bilgisi olmayan birisi neden buna gürültü adını vermişler diye sorabilir ki ben sordum ve bulduğum sonuç beni oldukça tatmin etti diyebilirim.

Bu rastgelelere gürültü denmesinin temel sebebi eski zamanlarda televizyon ve ses gibi araçlarda elektrik / radyo sinyallerinin karışması oluşan o karıncalı görüntüden ve o cızırtılı sesten adını alıyor.

Noise görüntüsünü örnek vermemiz gerekir ise aşağıdaki görsel bizim için oldukça aydınlatıcı olacaktır.

Standart Noise

İyi kötü sanırım Noise nin ne olduğunu anlamışızdır diye düşünüyor ve bu yüzden Perlin Noise i anlatmaya geçiyorum.

Perlin Noise

Perlin Noise, Ker Perlin tarafından Tron filmi üzerinde çalışırken geliştirdiği bir gürültü oluşturma algoritmasıdır. Perlin Noise gibi bir çok Noise algoritması bulunmaktadır.

Perlin Noise 1980 yıllarının başında Ken Perlin tarafından bulundu ve 1997 yılında Ken Perlin bu çalışmaları ile teknik başarı alanında Akademi Ödülüne layık görüldü.

Perlin Noise standart rastgele oluşumlara göre daha doğal bir görünüme ve daha doğal bir salınım hareketine sahiptir ki bu da bizlere projelerimizde göze daha doğal gözüken rastgelelikler elde etmemizi sağlar.

Bilgisayar ve yazılıma biraz aşina biriyseniz rastgele sayılar üretmek için seed (tohum) belirler ve bu tohumlar üzerinden rastgele sayılarımızı oluşturmaya başlarız ama bu rastgele sayılarımızı görüntü üzerine aktarmaya kalktığımız zaman oldukça absürt bir görüntü olabiliyor veya bize istediğimiz doğal görünümü vermeyebiliyor. Bu noktayı fark eden Ken Perlin geliştirdiğini Perlin Noise ile birlikte bize daha doğal rastgele görüntüler daha doğrusu dokular elde edebilmemizi sağlayan bir algoritma geliştirmiş işte bu algoritmayı günümüzde Perlin Noise olarak biliyoruz.

Perlin Noise ile oluşturulan bir görüntüyü merak ediyorsak hemen aşağıdaki görüntü bir Perlin Noise ile oluşturulmuş görüntüdür.

Perlin Noise

Perlin Noise Kullanım Alanları Nelerdir ?

Buraya kadar aslında Perlin Noise in ne olduğunu anladık, şimdi gelin bir de kullanabileceğimiz alanları biraz inceleyelim.

Ben bir oyun tasarımcısı olarak Perlin Noise in kullanım alanlarını kendi bölümümden oldukça fazla örnek ile sizlere anlatabilirim.

Oyunlarda gördüğümüz denizlerin git gel hareketleri, gök yüzünde bulunan bulut şekilleri gibi bir çok doğal olması gereken yerde Perlin Noise kullanılır.

Tekrar eden oyun içi şekillerinde farklılık istenen ama bu farklılıklarda çok fazla model, texture çizimi ile uğraşmak istenmediği durumlarda Perlin Noise ile oyun modellerine desenler çıkartılabiliyor ve oyuncuya sanki bir sürü texture çizilmiş gibi gösterilerek aslında 1 adet değişen bir görüntü ile sağlanmış oluyor.

Oyunlarda haritaları oluşturmak için kullanıyoruz ki Perlin Noise bize gerçekten oldukça güzel rastgele tepeler oluşturmakta aşırı derecede bir kolaylık sağlıyor. Hatta buna bir örnek isterseniz dünyanın en çok satan oyunlarından birisi olan Minecraft haritası tamamen Perlin Noise algoritması ile oluşturulmuş bir haritadır.

Sinemalarda ve oyunlarda yangın, patlama gibi efektlerde de kullanabiliyoruz.

Anlayacağınız o ki Perlin Noise aslında sinema ve oyun sektöründe oldukça önemli bir yer kaplıyor.

Perlin Noise 2D Perlin Noise 3D

Kendi projelerim üzerinden örnek vermem gerekir ise Unity üzerinde hazırladığım bir su efektini sizlere örnek olarak gösterebilirim.