Menu

Unity3D ve C#

Bir Oyun Gelistiricinin Not Defteri

Linkedin

AudioSource.PlayClipAtPoint: Perde Arkasında Neler Oluyor?

Küçük aralıklarla, küçük sesleri çalmak için kullanılan bir metod; “AudioSource.PlayClipAtPoint(Audio, Position)”.

Gelin perde arkasını inceleyelim.

(more…)

-1 ya da 1 Sayılarını Rastgele Üretme

Senaryo der ki, “bana rastgele -1 ya da 1 üret”. Hadi bu senaryoyu gerçekleyelim.

Öncelikle kısa bir beyin fırtınası yapalım. Rastgele olarak 0 ve 1 sayılarını kolayca üretebiliriz.

Ürettiğimiz bu sayıyı 2 ile çarpıp 1 çıkarırsak, -1 ya da 1 sayılarını elde etmiş oluruz.

İşte bu kadar. 🙂

Bir Unity 4.6 UI Nesnesi İle Çalışırken Bilinmesi Gereken 4 Önemli Kural

1 – Bir dünya ekran genişliği var. Peki ben bu ekranın pixel türünden boyutlarını nasıl öğrenebilirim?

(more…)

Unity UI 4.6 Üzerine

Unity’de oyun geliştirirken, Unity’nin bize performans konusunda en çok sorun çıkarabilecek yanı, arayüzü. Yani UI’ı… Çok fazla söz ebeliği yapmadan, Unity UI 4.6 kodlarken edindiğim deneyimi sizinle paylaşmak isterim.
(more…)

Obje Havuzu (Object Pool)

Gelin geçmişe gidelim ve ekranda 3 mermiden fazla bulunmasına izin vermeyen Space Shooter’ları hatırlayalım. Neden 3 mermi kısıtlaması getirmiş olabilirler? Elbette cevap gün gibi ortada. Donanım sahnede 3 mermiden fazlasının hareketine izin vermiyordu. Oyun dünyası, donanım dünyasıyla doğru orantılı olarak büyüdü. Ancak bu şu demek değil, “zaten kasmaz, performassız kod yazsak da olur!”. Bu düşülebilecek en büyük yanlış. Kasmayacak diye savurganca kod yazamayız. Savurganca kod yazmamanın en temel kurallarından birine değineceğim bugün. Object Pooling. Yani obje havuzu… Yaklaşım bize şöyle der; (more…)

Ondalık Sayıların Ondalık Kısımlarını Yuvarlama

Bazı ondalık sayıların ondalık kısımları can sıkabiliyor. Örneğin size gereğinden fazla hassasiyetle pozisyon döndüren bir fonksiyon… Bu fonksiyon size ondalık kısmı yalnızca 1 haneden oluşan sayılar döndürsün isteyebilirsiniz. Bunu da System.Math.Round(double number, int digits) fonksiyonu ile kolayca yapabiliyoruz. Sözü fazla uzatmadan mouse’umuzun pozisyonunu yuvarladığımız örneğimizi paylaşalım. (more…)

Bir Objenin Bir Vektöre Göre Konumunu Bulma

Karşılaştığım ilk andan itibaren beni heyecanlandıran ve çözdüğümde kendimi harika hissetmeme sebep olan bir problemi paylaşacağım sizlerle. Bir noktanın, bir vektöre göre konumu. Bu nokta vektörün sağında mı, yoksa solunda mı?

(more…)

LineRenderer’a Bir Liste İçinde Sakladığımız Pozisyonları Nasıl Ekleriz?

Bir LineRenderer’ın pozisyon listesine, bir obje koordinatı listesini yollayacağız. (more…)

Bir Ray İçin Birden Fazla Layer’ı Göz Ardı Etmek (Ignoring Multiple Layers)

Yolladığımız bazı ray’lerin bazı layerlardaki objelerle etkileşime girmemesini isteriz. Peki bunu nasıl yaparız? Cevabı paylaşıyorum ve ardından kodu açıklıyorum. (more…)

Ortographic Kamera’nın Yükseklik ve Genişlik Değerlerini Bulma

Ortographic bir kameranın yüksekliği ve genişliğini şöyle buluruz.