Sanal Gerçeklikte Geliştirme Yapmak

Geçenlerde ben de bir Oculus sanal gerçeklik gözlüğü aldım ve kullanmaya başladım. Tabi özellikle silah ve kılıç oyunları oynamak inanılmaz zevkli geldi. Metaverse olayına girmeyeceğim merak etmeyin. Sanırım herhangi bir şey çok dile getirildiğinde antipatik olmaya başlıyor. Hele ki konuyla alakası çok olmayan kişiler tarafından çokça dile getirilirse. Bu sebeple olayı çok da antipatik hale getirmeden geliştirme yapma konusundaki kendi tecrübelerimden kısa konuşacağım. İşin tartışma boyutunu atlarsak kanaatimce bu sanal gerçeklik mevzusu sosyal medyanın gelecekteki yeni versiyonu olacağa benziyor. Tabi bunun için öncelikle 5G gibi güçlü haberleşme teknolojilerinin gerekli olduğu aşikar. 5G’nin de beraberinde birçok problem getireceği kuşkuları tamamen ayrı bir konu.

Öncelikle şunların farkını bilmek lazım. VR, AR, MR ve XR. VR dediğimiz olay tamamen sanal bir ortamdan oluşuyor.Gözlüğü takıyorsunuz ve tamamen sanal nesnelerin olduğu bir dünyadansınız. AR dediğimiz olay, gerçek dünyaya bir sanal katman giydirilmiş olmasıdır. Artık çoğu telefonun varsayılan özelliklerinde bu özellik mevcut. Mesela yüzünüze maske yapıyorsunuz, nesnelerin boyunu kamerayla ölçebiliyorsunuz. Bu olay tamamen bilgisayar görmesi ve yapay zeka teknikleriyle yapılıyor. MR ile gerçek dünya nesnelerini sanal gerçeklik nesneleri ile birleştiriyorsunuz. Örneğin elinizdeki kumandayı sanal ortamda bir silah gibi kullanıyorsunuz. XR ise bu olayların birleşimi ve uygulama açısından çok daha kapsamlı hali oluyor. XR ile sanal nesnelerin gerçek nesneler ile etkileşimi sağlanıyor. Yani VR hariç diğer teknolojiler arka planda ciddi bilgisayar görmesi ve yapay zeka teknikleri kullarıyorlar. Ve bu işler için özel üretilmiş çipler mevcut. Facebook’un sattığı oculus gözlüklerin içinde aslında Qualcomm’un ürettiği XR2 çipi bulunuyor. Gözlüğün önünde kameralar var. Bu sayede ellerinizi sanal ortamda kullanabiliyorsunuz. Aynı zamanda evdeki kanepe gibi bazı eşyaları tanımlayıp sanal ortama aktarabiliyorsunuz. Tüm bunlar aslında MR teknolojisidir. XR projesi geliştirmek Oculus quest için mümkün mü bilmiyorum ama mümkünse bile çok küçük çaptadır. Asıl XR için microsoft hololens diye bir gözlük satıyor. Aynı zamanda google da satıyor buna benzer. Oculus gözlükler için XR dense de aslında bu gözlük, MR teknolojisini kapsıyor diyebilirim.

Unreal Engine bu konularda geliştirme yapmak için yine en iyi ve ücretsiz motorlardan biri. Bu epic gamesi de bir türlü anlamıyorum zaten. Adamlar havaya para saçar gibi oyun dağıtıyor sürekli. Yaptıkları oyun motorları da ücretsiz. Unreal Engine 4. 27 de çok kolay bir şekilde VR veya XR projesi oluşturabiliyorsunuz. Sanırım Unity oyun motorunda da bu özellik eklenmiş durumda. Ben XR gözlüğüm olmadığından XR projesi hiç oluşturmadım. Fakat UE4 sitesinde XR projesi için de dökümantasyonu yapılmış. Unreal Engine ile VR projesini iki şekilde yapabilirsiniz. ilki, direk bilgisayar uygulaması olarak ki bu durumda VR gözlüğünüzü bilgisayara bağlamanız gerekiyor. Oculus gözlüğünü bilgisayara USB 3 bağlantısıyla bağlamak en hızlı ve fps olarak olarak en iyi çözüm. Tabi bunun için kalın ve pahalı USB 3 kablosu kullanmanız gerekiyor. Veya 5Ghz kablosuz ağda bilgisayarınızı direk olarak router’ınıza ethernet kablosuyla bağlayıp gözlüğünüzü de kablosuz ag üzerinden bilgisayara bağlayabiliyorsunuz. Oculus için geliştirme yapmanın ikinci yolu da direk Oculus veya VR gözlük uygulaması olarak geliştirme yapmak. VR gözlüklerin içinde Android işletim sistemi var. Yani bu gözlükler için uygulama derlemek, arka planda android telefona uygulama derlemekle hemen hemen aynı. Bu sebeple Oculus için geliştirme yapmak için öncelikle android ndk ve sdk larını yükleyip daha sonra oyun motorundan Oculus pluginini aktif hale getiriyorsunuz. Artık uygulamalarınızı VR ortama yani Oculus için derleyebilirsiniz. Uygulamayı Oculus için derlediğinizde gözlüğün içine atıp otomatik olarak çalıştırmak için Oculus uygulamasını ve oyun motorunun sunduğu arayüzü kullanıyorsunuz. Mevcut projemizi de VR için derleyebilirsiniz. Tek yapmanız gereken şey, oluşturduğuz karakterin VR ortamdaki nesnelerle etkileşime girebilmesi için ekstra arayüz sınıfları yazmak aslında. UE4 VR ile ilgili sınıfların çoğunu blueprint sınıfıyla sunmuş durumda şimdilik. Belki ilerki zamanlarda C++ tarafında desteğini arttırır. Ancak zaten blueprint sınıflarını C++ sınıflarına kolaylıkla entegre edebiliyorsunuz.

Kısacası UE4, VR ve XR için geliştirme yapmanın en iyi yolu gibi gözüküyor. VR geliştirmesi yapmak istiyorsanız, bir an önce UE4 öğrenin derim. Kolay gelsin. 🙂

Bilgi Paylaştıkça Çoğalır;
Yusuf

Yusuf

Bir Mühendis.

Önerilen makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.