Oyun sektörü gün geçtikçe gelişmeye ve popüler hale gelmeye devam ediyor. Oyun severler, yeni keşfettikleri oyunları oynamanın yanı sıra istedikleri bir oyun geliştirmeyi de düşünebiliyorlar. Bu durumda da oyun geliştirme platformlarına yöneliyorlar. Unity de bu konuda oyun geliştiriciler için öne çıkıyor. Peki Unity nedir?
Oyun sektörünün gelişmesi, yazılımcıların ve yatırımcıların ilgisini çekmektedir. Bunun sonucunda da bazı firmalar, oyun şirketlerine yatırım yapmaktadır. Unity de oyun geliştirme konusunda kullanıcılar için yardımcı bir platform olmaktadır.
Yakın bir zamanda, Unity şirketinin ironSource ile birleştiğini duyurmuştuk. Şimdi ise bu oyun motorunun tam olarak ne olduğuyla ilgili de açıklama yapmak istedik. Bu nedenle bu yazımızda Unity nedir sorusunu yanıtlayarak sizlere bu konu hakkında bilgi vermeye çalışacağız.
İçindekiler
Unity Nedir?
Basitçe tanımlamak gerekirse Unity, dünyanın en popüler video oyun motoru ve geliştirme platformudur. İçeriğinde geliştirmeye dayalı özellikler olduğu için IDE olarak geçmektedir. IDE (Integrated Development Environment), bilgisayar programcılarının hızlı ve rahat bir şekilde program geliştirmesine olanak tanıyan yazılım türüdür. Unity’de de IDE yazılım türünün bir örneği olarak yer almaktadır.
Unity, birçok özelliği bir araya getirerek neredeyse bütün oyunları geliştirmenize imkan tanımaktadır. Bu özelliklere, animasyonlar, 3B oluşturma ve oyun için gerekli fizik motorlarını eklemek örnek olarak gösterilebilir. İçeriğinde bulunan çapraz platform özelliği sayesinde de Unity, hem hobi hem de oyun geliştirme amacıyla kullanıma uygundur. Örneğin Pokemon Go, Rimworld, Hearthstone, Cuphead, Angry Bird, Super Mario Run, Temple Run, Call of Duty ve daha birçok oyun Unity üzerinden oluşturulmuştur.
Bilgisayar, konsol ve mobil cihazlar için video oyunları ve simülasyonlar geliştirmeye yarayan Unity, 2005 yılından beri piyasada yer almaktadır. Adında 3D olsa da Unity, 2D oyun geliştirme araçlarını da içermektedir. Aynı zamanda Unity, C# komut dosyası oluşturma ve yerleşik Visual Studio entegrasyonundan yararlanmayla da programcıların ilgisini çekmektedir.
Ayrıca Unity, Visual Studio’ya alternatif bir betik dili olarak JavaScript ve IDE olanağına sahiptir. Bunun sonucunda da Unity, kullanıcılara MonoDevelop denilen tümleşik geliştirme ortamı sunmuş olmaktadır. Böylelikle Unity nedir sorusunun yanıtını vermiş olduk. Şimdi ise Unity’nin özellikleri hakkında açıklama yapalım.
Unity Hangi Özellikleri İçermektedir?
Oyun motoru olan Unity, hem programcılar hem de sanatçılar için yüzlerce profesyonel araçla yüklü halde gelmektedir. Kullanıcılar bu araçları ‘Varlık Mağazası’ adındaki bölümden bulabilmektedir. Bu bölüm, oyun geliştiricilerin oluşturduğu oyunları yükleyecekleri ve bir topluluğa sunacakları yerdir.
Örneğin oyun geliştiricileri, oluşturmaya çalıştıkları oyunlara herhangi bir efekt eklemek istediklerinde ve bu efekti baştan yaratmak istemediklerinde varlık mağazasından yararlanma imkanına sahiptir. Ayrıca uzun ve detaylı bir şekilde uğraşmaya gerek kalmadan varlık mağazası üzerinden eğim kontrolleri eklemek de mümkündür. Yüzlerce model, senaryo, sahne, malzeme ve istediğiniz diğer her şeyi içeren varlık mağazası, oyun geliştiriciler için fayda sağlamış olmaktadır.
Unity, araçlarını, bileşen odaklı tasarımlarla birleştiren bir çalışma alanı sağlamaktadır. Bu oyun motorunda hem 2B hem de 3B geliştirme, Box2D motoru tarafından işlenen 2B fizik ile mümkün olmaktadır. Unity, prefabrikler etrafında gelişen oyun geliştirme için bileşen tabanlı bir yaklaşım kullanmaktadır. Prefabrik yapılarla oyun geliştiricileri, nesneleri ve ortamları daha verimli bir şekilde oluşturabilmektedir. Aynı zamanda bu nesneler ve ortamlar daha hızlı ölçeklenebilir.
Güçlü gölge araçları, fizik tabanlı malzemeler ve yüksek çözünürlüklü aydınlatma sistemleriyle Unity, etkileyici grafikler sunmaktadır. Bunun yanında Unity’nin programlama dilleri ise C Sharp ve C++ şeklindedir. Aynı zamanda Unity’nin premium kullanıcıları ise kaynak koduna erişim sağlayabilmektedir. Ayrıca Unity, her konsola ve işletim sistemine uyum sağlamaktadır. Bu da geliştirilen oyunların her platforma dağıtılmasına imkan verir.
Unity’nin düzenleyici araçlarıyla fareler, klavyeler ve oyun denetleyicileri için girişleri aynı anda kullanabilirsiniz. Ayrıca sunucu barındırma ve ölçeklenebilir eşleştirmeyle çok oyunculu oyunlar için güçlü bir desteğe sahiptir. Bunun haricinde Unity, kendi editör araçlarınızı ve komut dosyalarınızı oluşturmanız için tam API desteği içeren özelleştirilebilir düzenleyiciye de sahiptir.
Unity Oyun Motorunun Avantajları Nelerdir?
Yazımızda Unity nedir ve özellikleri nelerdir sorusunun yanıtını vermiş olduk. Bunun yanı sıra Unity’de bazı avantajlar da yer almaktadır. Bu hizmetin en büyük avantajı ücretsiz olmasıdır. Kullanıcılar, birçok hizmetten ücretsiz olarak yararlanmaktadır. Şirket, oyun geliştiricileri buradan bir gelir elde edene kadar ise ücretsiz özelliklerini sunmaya devam etmektedir. Bunun yanında Unity, animasyon editörü, fizik motoru, shader yazılımı ve occlusion culling gibi özellikleri de kullanıcılara ücretsiz olarak sunmaktadır.
Unity’nin bir diğer avantajı ise oyunların, farklı platformlara ve işletim sistemlerine altyapı değişikliğine gerek kalmadan derlenmesidir. Bu sayede PC için hazırlanan bir oyun, tek tıklamayla Android için de çalışır hale gelecektir.
Prefabrik sistem sayesinde Unity, başka projelerden kod ve varlıkları yeniden kullanmayı sağlamaktadır. Aynı zamanda hizmet, bu kod ve varlıkları başka amaçlar için düzenlemeyi de kolaylaştırmaktadır. Diğer oyun motorları grafik ile kodu ayırmaktadır. Ancak Unity, grafik ve kodun birlikte çalışmasını sağlamaktadır. Bu mantık ise geliştiriciye esneklik sağlayıp geliştirme süresini kısaltmaktadır.
Unity’nin önemli avantajlarından birisi de büyük kaynak kütüphanesidir. Oyun geliştiricileri bu kaynak kütüphanelerinden yararlanarak zamandan tasarruf etmiş olmaktadır. Tüm bu avantajların yanı sıra Unity 3D’de yazılan oyunlar, düşük ve orta seviyeleri bilgisayarlarda da kullanıma açıktır.
Unity, oyun geliştirmenin yanında, eğitim amaçlı simülasyonlar da hazırlamaktadır. Bu nedenle şirket, son versiyonlarla kişisel kullanımlar için ücretsiz bir yazılım geliştirmiştir. 2018 itibariyle Unity, mobil oyunların neredeyse yarısını, artırılmış gerçeklik ve sanal gerçeklik içeriğinin de %60’ını oluşturmaya çalışmaktadır.
Unity Oyun Motorunun Dezavantajları Nelerdir?
Yazımızda Unity’nin avantajlarından bahsettikten sonra bu hizmetin dezavantajlarından da bahsetmemiz iyi olacaktır. Birçok oyun motoru veya diğer platformlarda olduğu gibi Unity de bazı sorunlarda karşılaşmaktadır. Şimdi bu dezavantajlar hakkında açıklama yapalım.
Unity’de 2D oyunlar oluşturmak Godot ve GameMaker kullanmaktan daha zor olmaktadır. Ayrıca Unreal’ın oluşturma ve aydınlatma sistemleri, Unity’den daha fazla yeteneğe sahiptir. Bu da hizmeti, rekabet konusunda biraz geri plana atmaktadır.
Unity üzerindeki boş bir proje bile bazı oyunlardan daha büyük olmaktadır. Bu da yalın ve ortalama bir oyun motoru arayışındaki kullanıcılar için uygun olmamaktadır. Aynı zamanda Unity, hizmeti kullanan bazı oyun geliştiricilerine zor gelebilmektedir.
Unity Arayüzü Hakkında Bilgiler
Unity’yi ilk defa kullanmaya başladığınızda, pencerelerin, simgelerin ve seçeneklerin sayısı biraz karmaşık gelebilir. Ancak durum o kadar da karmaşık değildir. Oyun motorunda ilgileneceğiniz bazı ana pencereler yer almaktadır. Bu ana pencerelerin içeriği hakkında bilgi verelim.
Hiyerarşi Penceresi
Unity arayüzünde en solda sizleri ‘Hiyerarşi Penceresi’ karşılayacaktır. Hiyerarşi penceresi, sahnedeki her objenin hiyerarşik yazılı temsili olarak geçmektedir. Sahnede yer alan her nesne hiyerarşide bir girişe sahip olmaktadır. Bu da iki pencerenin bağlantılı olduğunu göstermektedir.
Hiyerarşi penceresi, sahne bölümündeki bütün GameObject’lerin uzun listesini de göstermektedir. GameObject ise Unity üzerinde yarattığınız sahnelerin içerisine yerleştireceğinizi nesnelerin genel adıdır. Aynı zamanda hiyerarşi listesi, GameObject’lerin özelliklerini değiştirmeniz için oyununuzun herhangi bir bölümünü hızlı bir şekilde bulmanızı ve seçmenizi kolaylaştırmaktadır.
Sahne Görünümü
Unity’nin bir diğer arayüzü de ‘Sahne’ olarak karşımıza çıkmaktadır. Bu pencere, Unity’nin ortasında büyük bir şekilde yer almaktadır. Sahne size, üzerinde çalıştığınız oyunun görünümünü göstermektedir. Bu pencere, GameObject’i sürükleme, bırakma, büyütme ve küçültme seçeneklerini de sağlamaktadır. Unity’nin sol üst köşesinde yer alan simgeler, GameObject ve sahne ile etkileşim şeklinizi değiştirmektedir. El simgesi, görünümü sürüklemeye izin verirken, oklar nesneleri 3 boyutlu olarak hareket ettirmenizi sağlar.
Inspector Penceresi
Unity’de Inspector Penceresi de yer almaktadır. Bu pencere, kullanıcı arayüzünün en sağında bulunmaktadır. Inspector penceresi, güncel objeleri görüntülemenize ve düzenlemenize olanak tanımaktadır. Bu, boyutu (ölçek) ya da konumu (dönüştürme) değiştirmek anlamına da gelmektedir. Ayrıca bu pencere, C# komut dosyası ya da bileşen ekleme anlamlarını da içermektedir. Inspector penceresindeki objeler güncel olduğu için düzenli olarak değişme ihtimali vardır.
Oyun Bölümü
Oyun bölümü ise çoğunlukla ‘Sahne’ penceresinin arkasına gizlenmektedir. Bu bölüme erişmek için üst kısımdaki sekmeye basmak yeterli olmaktadır. Oyun görünümü, sahnenizin görünümünü oyunda olduğu gibi göstermektedir. Bu da kamerayla aynı açıda olacağınız ve etraftaki nesneleri hareket ettiremeyeceğiniz anlamına gelmektedir. Ayrıca bu bölüm, geliştirdiğiniz oyunu test edeceğiniz yerdir.
Araç Çubuğu
Araç çubuğu, çalışma özelliklerini gerçekleştirmenizi sağlamaktadır. Ekranın kenarlarında objeleri idare etmeyi sağlayan araçlar yer almaktadır. Ekranın merkezinde ise oynat, durdur ve adım kontrolleri vardır. Ayrıca ekranın kenarında yer alan butonlar ise Unity Cloud servisine ve Unity hesabınıza giriş yapmanız için yer almaktadır.
Proje Penceresi
Proje penceresi ekranınızın en altında yer alır ve size oyununuzu oluşturan bütün dosyaları gösterir. Bu bölüm, C# betikleri oluşturup Unity’de açmak için seçeceğiniz yerdir. Ayrıca oyununuzda kullanmak için 3B dosyaları ve dokuları buraya sürükleyip bırakabilirsiniz.
Varlık Mağazası
Varlık mağazası da Unity’nin arayüzünde yer almaktadır. Bu bölüm ile oyun geliştiricileri, varlık kütüphanesine giderek hazır assetlerini (varlıklar) görme imkanına sahip olurlar. Aynı zamanda bu hazır assetlere proje penceresinden erişim de mümkündür.
Konsol
Son olarak konsol, Unity’nin kendisinden gelen bilgileri göreceğiniz yerdir. Unity konsolda size, kod hatasının olup olmadığını bildirir. Bunun yanında uyarılar da bu bölümde yer alır. Ayrıca yazılım kurulumunda sorun olup olmadığının bilgisi de konsol bölümünde görünmektedir.
Unity Lisanslama Seçenekleri Nelerdir?
Unity, Kişisel, Plus ve Profesyonel olmak üzere çeşitli fiyatlandırma seçenekleri sunmaktadır. Kullanıcılar ücretsiz sürüm ile bu oyun motoruna başlayabilirler. Eğer ticari oyunlar yapma konusunda iyi olduğunuzu düşünüyorsanız Plus veya Pro sürümüne geçebilirsiniz.
Aylık abonelik ödemesi yapmayan kullanıcıların ise Unity ile geliştirdikleri oyunlar için 100.000 doların altında kazanç göstermeleri gerekmektedir. Oyun geliştiricileri, oyunlardan para kazanmaya ve performansı artırmayı sağlayan daha fazla özellikten yararlanmak için de Plus sürümüne geçebilirler.
Diğer yandan Profesyonel sürüm ise, Unity projelerinden 200.000 dolardan fazla kazananlar için yer almaktadır. Ayrıca bu sürüm, şirket içi desteğe ihtiyaç duyan oyun stüdyoları ve profesyonel ekipler için de geçerlidir. Lisanslama seçenekleri biraz karmaşık olsa da her kullanıcı için makul seçenekler yer almaktadır.
Genel Değerlendirme
Unity, mimari, mühendislik, film, otomotiv ve inşaat gibi video oyunlarını içermektedir. Bunların yanında Unity, farklı endüstriler tarafından da kullanılmaktadır. Bu oyun motoru, bütün işletim sistemlerini desteklemektedir. Bu da herkesin bu hizmetten yararlanmasını sağlamaktadır.
Yazımızda da bahsettiğimiz gibi, Unity’nin en büyük avantajı ücretsiz olmasıdır. Kullanıcılar, Unity’nin birçok özelliğini ücretsiz olarak kullanma imkanına sahiptir. Aynı zamanda oyun geliştiricileri, bu hizmet sayesinde gelir elde etme şansına da sahip olmaktadır.
Unity, yazılım sektöründeki en çok tercih edilen dillerden biri olan C# ile de uyum göstermektedir. C# ise yazılıma yeni başlayanlar için kolaylık sağlamaktadır. Ayrıca bu dil, C ve Java gibi dillerle benzerlik göstermektedir. Oyun geliştiricileri, oyunlarına reklam vermek istediklerinde ise Unity’nin reklam birimi olan Unity Ads’i kullanabilmektedir.
Bunun yanında kullanıcılar, mobil oyunlar geliştirmenin yanı sıra Windows tabanlı oyunlar da geliştirme imkanına sahiptir. Oyun geliştiricileri bu oyunlarını Steam ve bunun gibi platformlarda yayınlama imkanına da sahip olmaktadırlar.
Sizler için hazırlamış olduğumuz Unity nedir rehberimiz burada sona eriyor. Sizler de oyun geliştirmeyi düşünüyor musunuz? Unity oyun motorunu nasıl buldunuz? Unity ile ilgili soru ve düşüncelerinizi aşağıdaki yorum bölümünden bizlerle paylaşmayı unutmayın.