Unity, çok platformlu gerçek zamanlı bir geliştirme motorudur. Unity Technologies tarafından geliştirilen bu yazılım, video oyunları, simülasyonlar, interaktif medya içerikleri ve sanal/artanmış gerçeklik (VR/AR) uygulamaları gibi alanlarda kullanılmak üzere tasarlanmıştır. Unity, ilk kez 2005 yılında Apple’ın Mac OS X işletim sistemi için piyasaya sürülmüş; zamanla Windows, Linux, mobil işletim sistemleri (iOS, Android), oyun konsolları ve web tarayıcılarını da destekleyecek şekilde çoklu platform yapısına kavuşmuştur.
Unity (Unity)
Tarihçe
Unity’nin geliştirme süreci 2003 yılında Danimarka merkezli bir ekip tarafından başlatılmıştır. Amacı, bağımsız geliştiricilerin karmaşık oyun projelerini daha hızlı ve daha kolay geliştirmelerini sağlayacak bir motor sunmaktı. İlk sürüm olan Unity 1.0, 2005 yılında Mac platformu için yayımlanmıştır. 2009 itibariyle Unity, Windows desteği kazandıktan sonra daha geniş bir kullanıcı kitlesine ulaşmış ve oyun geliştirme dünyasında önemli bir konuma yerleşmiştir.
Yapı ve Bileşenler
Unity oyun motoru, modüler ve nesne yönelimli bir mimariye sahiptir. Bu yapı, motorun hem genişletilebilirliğini hem de kullanıcı katkılarına açık olmasını mümkün kılar. Unity aşağıdaki temel bileşenleri içerir:
- Rendering Engine (Görüntü Motoru): 2D ve 3D grafiklerin oluşturulmasından sorumludur.
- Physics Engine (Fizik Motoru): Nesnelerin hareketi, çarpışma, yerçekimi gibi fiziksel kuralların simülasyonunu sağlar.
- Audio Engine (Ses Motoru): Ses efektlerinin ve müziklerin işlenmesini sağlar.
- Animation System: Karakter ve nesne animasyonlarının zamanlanmış ve kontrollü bir biçimde yürütülmesini sağlar.
- Scripting System: Geliştiricilerin C# diliyle oyun mantığını yazmasına olanak tanır.
Unity aynı zamanda bazı middleware (ara yazılım) çözümleriyle de entegre olabilir. Örneğin, Nvidia’nın PhysX fizik motoru ya da Audiokinetic’in Wwise ses motoru Unity ile birlikte kullanılabilmektedir.
Kullanıcı Arayüzü ve Editör
Unity Editor, oyun sahnelerinin düzenlenebildiği, varlıkların (assets) yönetilebildiği ve oyun mantığının entegre edilebildiği grafiksel bir kullanıcı arayüzüdür. Unity Hub ise farklı Unity sürümlerini ve projeleri yönetmek için kullanılan yardımcı bir uygulamadır.
Mobil Oyun Geliştirme Yazılımı ve Motoru (Unity)
Platform Desteği
Unity, "bir kez geliştir, her yerde dağıt" (develop once, deploy everywhere) ilkesine uygun olarak çok sayıda platformu desteklemektedir. Bunlar arasında şunlar yer alır:
- PC (Windows, macOS, Linux)
- Mobil (iOS, Android)
- Oyun Konsolları (PlayStation, Xbox, Nintendo Switch)
- Web (WebGL)
- VR ve AR cihazları (Oculus Rift, HTC Vive, HoloLens)
Bu çoklu platform desteği, Unity'nin hem bağımsız geliştiriciler hem de büyük oyun stüdyoları tarafından tercih edilmesini sağlayan önemli bir teknik özelliktir.
Programlama ve Betikleme
Unity, programlama dili olarak öncelikle C# kullanmaktadır. Daha önceki sürümlerde JavaScript (UnityScript) ve Boo desteği de bulunmaktaydı, ancak bu dillerin kullanımı resmi olarak sonlandırılmıştır. Geliştiriciler, oyun mantığını Mono çalışma zamanı üzerinde C# dili ile yazarlar. Unity, Mono’nun .NET tabanlı bir varyantını kullanır.
Oyun Nesnesi (GameObject) ve Bileşen Sistemi
Unity’nin temel yapı taşı GameObject adlı nesnelerdir. Her GameObject, üzerine farklı Component'ler eklenerek işlevsel hale gelir. Örneğin, bir GameObject’e Rigidbody bileşeni eklenirse fizik motoruyla etkileşime geçebilir. Aynı şekilde Collider, AudioSource, Animator gibi bileşenler de işlevsel modüllerdir.
Bu yapı sayesinde geliştiriciler oyun nesnelerini hem görsel hem mantıksal düzeyde modüler şekilde inşa edebilir .
Asset Store ve Topluluk Katkısı
Unity Asset Store, geliştiricilerin ihtiyaç duydukları modeller, sesler, script'ler, animasyonlar ve eklentilere ulaşabildiği bir dijital içerik pazar yeridir. Asset Store’da hem ücretli hem de ücretsiz içerikler bulunur. Aynı zamanda açık kaynak topluluğu aracılığıyla Unity için geliştirilen birçok eklenti GitHub üzerinden erişilebilir durumdadır.
Unity Asset Store (Unity)
Unity’nin Kullanım Alanları
Unity yalnızca oyun geliştirme amacıyla değil, aşağıdaki alanlarda da aktif olarak kullanılmaktadır:
- Eğitim Simülasyonları
- Tıbbi Uygulamalar
- Otomotiv ve Uçuş Simülasyonları
- Mimari Görselleştirme
- Film ve Animasyon Prodüksiyonu
- Etkileşimli Medya ve Reklam
Unity İle Oluşturulmuş Bir Animasyon (Unity)
Sürümleme ve Lisanslama
Unity’nin çeşitli lisans modelleri bulunmaktadır:
- Unity Personal: Ücretsiz sürüm. Belirli yıllık gelir sınırlarının altında olan kullanıcılar içindir.
- Unity Plus / Pro / Enterprise: Daha büyük ekipler ve ticari projeler için lisanslanmış sürümler.
- Unity Industry ve Unity for Education: Kurumsal ve akademik kullanım için özelleştirilmiş paketler.
Unity, LTS (Long-Term Support) ve TECH Stream adında iki farklı sürüm döngüsü uygular. LTS, daha stabil sürümler sunarken, TECH Stream yeni özelliklerin daha erken sunulduğu sürüm dizisidir.