Unity (oyun motoru)

Unity, öncelikli olarak bilgisayarlar, konsollar ve mobil cihazlar için video oyunları ve simülasyonları geliştirmek için kullanılan ve Unity Technologies tarafından geliştirilen çapraz platform bir oyun motorudur. İlk kez yalnızca Apple'ın 2005'teki Worldwide Developers Conference'da OS X için ilan edildi, bu tarihten itibaren 27 platformu hedeflemek üzere genişletildi. Unity oyun motoru; film sektörü, otomotiv sektörü, mimari, mühendislik ve inşaat gibi video oyunları dışındaki farklı endüstriler tarafından da benimsenmiş ve kullanılmaktadır.
Unity'nin altı ana sürümü yayınlandı. 2006 WWDC gösterisinde Apple, Unity'yi En İyi Mac OS X Grafik Kullanımı kategorisinde birinci olarak seçti.
Unity motoru ile yazılmış oyunlara örnek olarak Battlestar Galactica Online, Firewatch, Unturned, Layers of Fear, Armello, The Long Dark ve Traffic Racer verilebilir. Ayrıca Unity'nin değiştirilmiş sürümünü kullanan Pillars of Eternity ve Tyranny de bu motor kullanılarak yapılan rol yapma oyunlarındandır.
Unity, piyasaya sürülmesinden bu yana birçok yeni sürüm ve yenilik yayınlamaktadır. Platformun sunduğu en son kararlı sürüm 2019.3.13'tür ve Mayıs 2020'de piyasaya sürülmüştür.
Özet
Unity; 2B ve 3B grafikleri, sürükleyip bırakma işlevselliğini ve C# ile komut dosyası yazmayı destekleyen çok yönlü bir oyun motorudur. İki programlama dili desteklenmektedir: Unity 5'in yayınlanmasından sonra kullanımı tavsiye edilmeyen Boo ve Unity 2017.1'in piyasaya sürülmesinden sonra Ağustos 2017'de kullanımı tavsiye edilmeyen UnityScript. UnityScript, sözdizimsel olarak JavaScript'e benzeyen tescilli bir betik dilidir. Motor, aşağıdaki grafik API'lerini hedeflemektedir: Windows ve Xbox One üzerinde Direct3D; Linux, macOS ve Windows'ta OpenGL; Android ve iOS'ta OpenGL ES; Web'de WebGL; ve video oyun konsolları üzerindeki sahipli API'ler. Ayrıca; Unity Windows, Xbox One ve Direct3D 12'nin yanı sıra Android, Linux ve Windows'daki iOS ve macOS ve Vulkan'daki düşük seviye API'ler Metal'i destekliyor. Unity, 2B oyunlarda sprite'ların içe aktarılmasına izin verir ve gelişmiş bir 2B dünya derleyici sağlar. 3B oyunlar için Unity, oyun motorunun desteklediği her platform için doku sıkıştırma ve çözünürlük ayarlarının belirtilmesine izin verir ve yumru haritalama (bump mapping), yansıma haritalama (reflection mapping), paralaks haritalama (parallax mapping), ekran uzayı ortam örtmesi (SSAO, screen space ambient occlusion), gölge haritalarını kullanan dinamik gölgeler, doku işleme ve tam ekran rötuş efektleri desteği sağlar. Unity, aynı zamanda geliştiricilere hizmetler de sunmaktadır. Bunlar: Unity Reklamları, Unity Analitik, Unity Sertifikalandırma, Unity Bulut Derlemesi, Unity Everyplay, Unity IAP, Unity Multiplayer, Unity Performans Raporlama ve Unity Collaborate.
Unity, oyunları birden fazla platformda hedefleyebilme özelliğiyle dikkat çekmektedir. Şu anda desteklenen platformlar Android, Android TV, Facebook Gameroom, Fire OS, Gear VR, Google Cardboard, Google Daydream, HTC Vive, iOS, Linux, macOS, Microsoft HoloLens, Nintendo 3DS ailesi, Nintendo Switch, Oculus Rift, PlayStation 4, PlayStation Vita, PlayStation VR, Samsung Smart TV, Tizen, tvOS, WebGL, Wii U, Windows, Windows Phone, Windows Store ve Xbox One. Unity daha önce kendi Unity Web Player'ını da içeren 7 platformu destekledi. Unity Web Player, yalnızca Windows ve OS X'de desteklenen, WebGL çıktıktan sonra kullanımı sonlandırılan bir tarayıcı eklentisiydi.
Unity, Nintendo'nun Wii U video oyun konsolu platformu için varsayılan yazılım geliştirme kitidir (SDK) ve Nintendo tarafından her Wii U geliştirici lisansı ile birlikte ücretsiz bir kopyası bulunmaktadır. Unity Technologies, bu üçüncü parti SDK paketlemesini "önce endüstri" olarak nitelendiriyor.
Lisanslar
Unity dört lisans seçeneğiyle birlikte gelir. Aşağıda mevcut tüm lisansların ve bunların farklılıklarının listesi verilmektedir:
Geçmiş
2012'de VentureBeat, "Unity Technologies olarak bağımsız olarak üretilen oyunların akışı için çok az şirket katkıda bulunuyor... 1.3 milyondan fazla geliştirici; araçları, iOS, Android, konsol ve masaüstü bilgisayarlarında ve web tabanlı oyunlarında harika grafikler oluşturmak için kullanıyor. ... Unity, çok platformlu oyunların motoru olmak istiyor, nokta." dedi.
Avantajları
Unity'nin oyun yapımcılarına sağladığı bir kolaylık Unity ile geliştirilen bir oyunun herhangi bir altyapı değişikliğine gerek olmadan farklı platformlara (PC, Mac, Web, iOS, Android, Windows Phone, Playstation, Xbox vb.) uygun olarak derlenebilmesidir. Bu sayede PC için hazırlanan bir oyun tek tıklamayla Mac için de çalışır hale getirilebilir.
Unity son derece pahalı diğer gelişmiş oyun motorlarının (Havok, vb.) sunduğu gelişmiş shader yazılımı, fizik motoru, animasyon editörü, occlusion culling gibi özellikleri, uygulama ve oyun geliştiricilerine ücretsiz sunmaktadır.
Unity'nin diğer oyun motorlarından üstün taraflarından biri de oyun geliştirme zamanında geliştiriciye program kodu yazma olanağı vermesidir. Diğer oyun motorlarının ekserisi grafik ile kodu ayırmışken, Unity ile grafik ve kod birlikte çalışmaktadır. Bu çalışma mantığı geliştiriciye esneklik sağlamakta, geliştirme süresini kısaltmaktadır.
Unity bütün bu avantajlarının yanında Unity 3D'de yazılmış oyunlar düşük ve orta seviye bilgisayarlarda (en düşük 1.6 Ghz işlemci, 500 MB ram) rahatlıkla oynanabilmektedir.
Unity oyun hazırlama yanında, eğitim amaçlı simülasyonlar hazırlamakta da kullanılabilmektedir. En son versiyonu ile kişisel kullanımlar için ücretsiz olan yazılım sayesinde daha geniş bir kitleye hitap edecek şekilde bir pazarlama taktiğine yönelmiştir.
2018 itibarıyla Unity; piyasadaki yeni mobil oyunların yaklaşık yarısını, artırılmış gerçeklik ve sanal gerçeklik içeriğinin de yüzde 60'ını oluşturmak için yazılımcılar tarafından kullanılmıştır.
Pazarlama
Unity Technologies Japonya, 16 Aralık 2013'te adlı gerçek adı olan (Asuka Kakumoto tarafından seslendirilen) resmi bir maskot karakterinin yeni bir ekran görüntüleri ortaya koydu. Karakter, Tokyo Big Sight'ta Comic Market 85 etkinliğinde temalı eşyaların dağıtılacağı ve ses sanatçısının yer alacağı 29 Aralık - 31 Aralık tarihleri arasındaki sergilendi. Karakterin ilişkili oyun verileri 2014 baharında çıkacaktı. Bu karakter, Unity Technologies Japonya tasarımcısı "ntny" tarafından açık kaynak kodlu bir kadın kahraman karakter olarak tasarlandı. Şirket, belirli lisanslar altında ikincil projelerde Unity-chan ve ilgili karakterlerin kullanılmasına izin vermektedir. Örneğin, Unity-chan, Runbow'da oynanabilir bir karakter olarak görülebilir. Karakterin popülaritesi, VOCALOID için kendi ses kütüphanesi ve VOCALOID ile Unity adlı Unity Motoru 5.0 sürümüyle çalışmak üzere tasarlanmış VOCALOID'in özel bir uyarlaması da dahil olmak üzere VOCALOID uyarlamalarında ortaya çıkmasını sağladı.
Diğer Kullanım Alanları
Unity oyun dışında diğer alanlarda da kullanılmaktadır. Bunlar; 3 boyutlu eğitim uygulamaları, film ve sinematik, otomotiv, 3 boyutlu mimari görselleme alanlarıdır.