http://e-bergi.com/2011/Ocak/oyununuzun-motorunu-atesleyinOyun programlamayla ilgilenenler veya ilgilenmek isteyenler için güzel tanıtıcı bir yazı diye düşündüm. Şu sıralarda çok kullanılan 3 boyutlu bir oyun geliştirme motoru olan Unity 3 hakkında bilgi vereceğim. Yazıma biraz Unity'nin geçmişiyle başlamak istiyorum. Nereden Nereye Unity 44 kişilik çekirdek bir kadro tarafından 2001 yılında San Francisco'da geliştirilmeye başlandı. 2010 yılına kadar İngiltere, Danimarka ve Litvanya olmak üzere üç farklı yerde ofise sahip olup, aralarında Bigpoint, Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA, Ubisoft, Warner Bros gibi şirketlerin de bulunduğu, 250.000'in üstünde kayıtlı kullanıcı sayısına ulaştı. Bu on sene içerisinde aşağıdaki düllere layık grüldü: Apple'ın düzenlediği Dünya Çapında Geliştiriciler Konferansı'nda "En İyi Mac OS X Graphics Kullanıcısı" dülü (2006) Game Developer tarafından verilen "En İyiler" dülünde finalistlik (2008) Gamasatura tarafından verilen "Yılın En İyi İlk 5 Oyun Şirketinden Biri" dülü(2009) Develop Magazine tarafından verilen "En İyi Motor"(2010) Mobile Entertainment tarafından verilen "En İyi Oyun Servisi Sağlayıcısı" dülü (2010) Develop Magazine tarafından verilen "Grand Prix dülü" ve "Teknik Yaratıcılık dülü" (2010) Wall Street Journal Technology tarafından verilen"Yenilikçi Fikir" dülü (2010) Neler Yapılabilir Unity ile web, Windows ve Mac ortamlarında oyun geliştirilebiliyor. Yaratılan oyunlar iPhone/iPod Touch/iPad, Mac, PC, Web, Wii, Xbox 360, Android ortamlarını destekliyor. Yakın zamanda PS3 desteği de Unity 3.1 ile gelmiş bulunuyor. Unity zellikle fonksiyonel ve etkileşimli zellikleri sayesinde kullanıcıya kolay ve güçlü bir oyun geliştirme ortamı sunar. Üç boyutlu dünyanızda objeler yaratmak, seviyeler oluşturmak ve düzenlemek; anında test etmek ve aynı kaynakla mobil, web, PC/Mac ve konsollar gibi hedef platform seçebilmek açısından Unity oldukça basit bir ortam sunuyor. Ayrıca taze yenilenen renderlama tekniğiyle oyundaki sahnelerin en güzel şekilde grünmesi ve aynı zamanda performansının da %50 arttırılması; lightmapping zelliğinin daha da iyileştirilmesi, tüm araçlarda hızlı çalışabilmesi, ortamdaki sesleri belirli filtrelerden geçirerek oyununuzun işitsel ortamını daha da etkili hale getirecek zellikleri açısından da oldukça güçlü bir motor olduğunu syleyebiliriz. Temel zelliklerini de aşağıdaki başlıklar altında toplayabiliriz: Motor Unity motoruyla çalışıyorsanız, kalite veya performans açısından bir sorununuzun olmaması gerekir. :) Unity motorunu temel olarak rendering, ışıklandırma, arazi oluşturma, fizik, ses, programlama ve ağ olarak alt başlıklara ayırmamız mümkün. Rendering Rendering sırasında yüzden fazla shader seçeneğiyle istediğiniz glge miktarını elde edebilirsiniz. Ayrıca Unity, yazılmış bir Cg programını çapraz derleyerek mobil araçlar için bir GLSL'ye çevirir. Batching ve Occlusion Culling tekniklerini kullanarak performansta shadering sebebiyle meydana gelebilecek düşüşleri engeller. Işıklandırma Detaylı lightmapping zellikleriyle güneş ışığı, lens efektleri etkilerini kolayca uygulayabilirsiniz. Sahnenize ışığı ayrı bir obje olarak koyabilir, ayrıca kameranıza bağlayarak oyun ekranını grmenizi sağlayan kamerayı bir ışık kaynağı olarak kullanabilirsiniz. Sahnenizdeki objelere ve yüksekliklere bağlı olarak Unity glge ve yansıma sonuçlarını oldukça etkili ve performanslı bir şekilde grmenizi sağlar. Arazi Oluşturma İstenilen yükseklik ve doku zelliklerine sahip araziler, Unity'nin hazır olan "terrain" editrü ile kolayca yaratılabiliyor. Yüzeyin haricinde, bir arazide olması gereken bitki rtüsü veya bütünlüğü sağlayıcı objeler de yine Unity editründe var olan bileşenler ve çeşitliği arttrabilen eklentilerle oyun ortamını daha da gerçekçi hale getiriyor. Fizik Unity fizik motoru olarak NVIDIA Physx kullanmakta olup, onun içerdiği fiziksel bileşenleri de bünyesinde barındırıyor. Yani Rigidbody, Joint, Softbody, Cloth, Wheel gibi parçalar yarattığınız objelerin bileşenlerini oluşturuyor. Ses Unity ses dosyalarını yaratmak veya üzerinde oynamak için FMOD adı verilen bir programlama kütüphanesini kullanmakta. Basitçe kullanılan bir düzenleme aracı yoluyla çeşitli filtreleme seçenekleri yardımıyla sahneye ekleyeceğiniz seslere istediğiniz şekilde müdahale edebilmenizi sağlayan Unity, bu bakımdan bir ses motoru olarak bile karşımıza çıkabiliyor. Programlama Programlama dili olarak Unity, oyun geliştiricilere üç seçenek sunuyor: JavaScript, C# ve Boo adı verilen Python türevi bir dil. Bu dillerin hızı Unity'de yaklaşık olarak eşit ve aynı proje içerisinde bunların kombinasyonları kullanılabilir; yani aynı objeye farklı dille yazılmış kodlar bağlanılabiliyor. Ayrıca bu üç dil de veritabanı, düzenli ifadeler, XML ve ağ uygulamalarını sağlayan. NET kütüphanelerini kullanabiliyor. Ağ Eğer yaptığınız oyunu ağ üzerinden çoklu bir şekilde, anlık etkileşim içerisinde ve yüksek skorları da içinde barındırarak oynamak istiyorsanız, oyununuz için gereken ağ altyapısını Unity kolayca hallediyor. Kodunuzda yapacağınız ufak değişikliklerle oyun objelerinin konum, hız vb. bilgilerini kullanarak, delta sıkıştırma algoritması yardımıyla, oyuncular arasında durum senkronizasyonu yapılabiliyor. Ayrıca sıralama ve ağ protokollerine takılmaksızın, ağa bağlanan istemcilerden istenilen fonksiyon çağırılabiliyor. Web sayfalarına ve web servislerine Unity'nin WWW adı verilen bir sınıf veri yapısını kullanarak erişilebiliyor; URL adreslerinin içerisindeki bilgiler çekilebiliyor. Bu şekilde hem ağa bağlanılabiliyor hem de ağdaki tarayıcı-oyun entegrasyonu sağlanabiliyor. Editr Unity editr açısından oldukça kullanışlı ve basit. Arayüzüyle etkileşim size hiç zor gelmiyor. Editrde temel olarak beş farklı panel var. Araç çubuğu , Sahne , Projeler , Hiyerarşi ve Denetleyici . Aslında Unity içerisinde oyununuzu hazırlarken kullandığınız tüm bileşenler; 3D model, animasyon, doku , kod veya ses dosyaları vb., asset olarak isimlendiriliyor. Unity editründe sahnenize ekleyebileceğiniz dosya formatlarını aşağıdaki tabloda grebilirsiniz. Yayınlama Daha nceden de bahsettiğim gibi, oyun projenizi çoklu platform için çalıştırılabilir hale getirebiliyorsunuz. Projenizi web oynatıcıda, PC ve Mac, iPhone ve iPad, Nintendo Wii, Android, XBOX 360 ve PS3 üzerinde çalıştırabiliyorsunuz. Sadece projenizin yürütülebilir. exe uzantılı dosyasını yaratmadan nce, bu seçeneklerden istediklerinizi seçmeniz yeterli. Yazımda Unity hakkında genel olarak bilgi vermeye çalıştım. Şu anda araba yarışı temalı arcade bir oyun üzerinde çalıştığım için zellikle arazi ve yol yaratma şekillerini zel olarak inceledim ve Unity'de kullanmak üzere çok ilgi çekici yntemler olduğunu keşfettim. Bir dahaki yazımda benim gibi kimi geliştiriciler için nem kazanan arazi tasarımı hakkında Unity tarafından geliştirilen alternatiflere bir gz atacağız. Unity için zel olarak tasarlanmış, bir yol dizayn etme aracı olan EasyRoads3D hakkında da bilgi vereceğim. Siz de bu sırada oldukça güzel hazırlanmış olan web sitelerinden detaylı bilgi, kaynak, video ve rnek oyunlara gz atabilirsiniz. Hatta şuradan buyurun ve oynamaya başlayın. Eğer web, mobil veya konsol için oyun geliştiriyorsanız Unity bu iş için en iyi araç diyip bir dahaki yazımda grüşmek üzere sizleri ve kendimi uğurluyorum. Kaynaklar http://unity3d.com/

: ünity ile benimde unity 3d ile yapılmış oyunum var ama bence quest 3d daha iyi quest unity kadar yetenekli değil. Ama unitynin şu piçliği var yazıdaki www kütüphanesini 1000$ dolara satıyor, iphone kütüphaneside 500-1000 di galiba. Kendi içinde island demo yu grmüşsündür sağlamlığını o kanıtlıyor zaten.

ünity ile benimde unity 3d ile yapılmış oyunum var ama bence quest 3d daha iyi Hepimiz Onaylanma Bağımlısı Keşleriz...

çok sağlamdır unity, 3.0 versiyonuyla particle effect ve sound sistemini geliştirdi ve sağlam bir oyun motoru oldu. C# ve javascript sentaksına hakimseniz oyunun kodlamasını hemen kaparsınız, tasarım konusunda zaten Cinema 4D yeterli sadece export ediyorsunuz ve Unity Scene'ye ekliyorsunuz bu kadar basit. Ayrıca Unity sektründe feci para dnüyor belirtiyim.

bilgilendirici güzel bir makale