Unity Karma Gerçeklik Yardımcı Seti: Unity'de Mekansal Farkındalık Deneyimleri Oluşturun

Eagle

İçerik Üreticisi
Developer
Katılım
26 Ekim 2024
Puan
3
XR Başlığı
Quest 2
Meta'nın Karma Gerçeklik Yardımcı Seti (MRUK) özelliklerini test etme ve kullanma deneyimimi paylaşmak istiyorum. Öncelikle, MRUK sahne anlayışını, geliştiriciler için çok daha karmaşık ve bence çok kafa karıştırıcı olan eskiden olduğundan farklı olarak inanılmaz derecede kolay uygulanabilir hale getiriyor. MRUK, Karma Gerçeklik oyunlarınızı veya uygulamalarınızı başlığa yüklemeden tamamen uygulanabilen, kullanımı çok kolay bir iş akışı sağlıyor. Ancak, bunu yapmanızı da öneririm, ancak MRUK'un Unity Editor'da oynat'a basarak çalıştırılabilirsiniz

Sahne Anlayışı Nedir?​

Meta SDK dünyasında, sahne anlayışını uygulamalarımızın veya oyunlarımızın fiziksel dünyayı bilme becerisi olarak adlandırabiliriz. Örneğin, bir zemin, duvarlar, masalar, sandalyeler ve diğer nesneler varsa, deneyimlerimiz bunların sanal alanımıza göre nerede olduklarını bilebilir. Bu fiziksel nesnelerin fiziksel dünyada boyutları vardır, bu nedenle bunlar sanal alanda temsil edebileceğimiz boyutlara dönüşür. Bu yararlıdır çünkü artık gerçek dünya nesnelerini deneyimlerimizle entegre edebilir ve dijital nesnelerin fiziksel nesnelerle etkileşime girdiği her türlü eğlenceli mekaniği yaratmamızı sağlar.

Meta Sahneyi (Fiziksel Dünyayı) Nasıl Anlıyor?​


MRUKScanning.gif


Sahne Kurulumu ve sahne hata ayıklayıcılı MRUK demosu

Meta çok benzersiz bir şey yaptı. Normalde, bunun gerçek zamanlı ağ oluşturma yoluyla yapıldığını hayal edersiniz, tıpkı Magic Leap 2'nin güçlü sensörlerini kullanarak yaptığı gibi. Magic Leap 2 fiziksel dünyanın bir ağını oluşturur ve bunu kalıcı depolamada saklar, böylece gerekli izinlere sahip herhangi bir deneyim bu bilgiye erişebilir. Peki Meta Sahne Anlayışını nasıl ele alır? Eh, çok benzer ama sonunda harika bir değişiklik var.

Öncelikle, Meta'nın ortamınızı taramak için araçlar sağladığı Sahne Kurulumu sürecinden geçersiniz. Alanın etrafında yürürken, çevrenize göre gerçek zamanlı olarak bir ağ oluşturulur. Son olarak, Meta sensörler tarafından yakalanan tüm sahnenin ana hatlarını oluşturur ve ana hatları mümkün olduğunca hassas bir şekilde ayarlamanıza olanak tanır. Ayrıca ortamınızı etiketleme veya adlandırma seçeneğiniz de vardır (örneğin, oturma odası, ofis, vb.).

Ayrıca Unity'deki karma gerçeklik uygulamanızın gerçek dünyayla etkileşime girmesini sağlayacak birden fazla sahne modeli oluşturabileceğinizi de belirtmekte fayda var.

Neden MRUK'a (Karma Gerçeklik Yardımcı Kitine) İhtiyaç Duyarız?​

MRUK, bir XR geliştiricisi veya XR tasarımcısı olarak fiziksel dünyayı çok basit bir şekilde anlayan uygulamalar oluşturmanıza yardımcı olabilecek çeşitli özellikler sunar. Sahne anlayışı karmaşık bir konu olsa da MRUK, sahne anlayışını uygulamalarınıza entegre etmek için kusursuz bir iş akışı sunarak bu karmaşıklığın çoğunu soyutlar. Bunun henüz soruyu tam olarak yanıtlamadığını biliyorum, ancak bu iş akışının nasıl çalıştığını açıklayayım.

MRUK.png

MRUK Araçları Packages > Meta MR Utility Kit > Core > Tools bölümünden bulunabilir.
  1. Sahne Modeli : Bu, yukarıda ele aldığımız gibi işletim sistemi düzeyinde gerçekleşir, ancak fiziksel bir cihazla test etmeyi düşünüyorsanız bir sahne modeli oluşturmanız gerekir. Aksi takdirde, bu adımı atlayabilir ve aşağıda açıklanan MRUK ön yapısını Unity ile oyun modu sırasında veya Meta'nın XR Simulator'ını kullanarak kullanabilirsiniz.
  2. MRUK Araçları: Meta MR Utility Kit'i bugün edinmenin iki yolu var: birincisi sadece Meta XR All-In-One SDK'yi kullanmak veya bağımsız Meta MR Utility Kit paketini kullanmak . Bu, ne oluşturmaya çalıştığınıza bağlıdır, ancak en azından ikinci seçeneğe ihtiyacınız var.
  3. MRUK Prefab:Bu, Unity'deki sahne anlayışının özüdür. Bu prefab'ı hiyerarşiye eklemek, sistemin sahne bilgilerini otomatik olarak sorgulamasına olanak tanır. Tüm oyun nesnelerini, algılanan sahne modelinden alınan uygun boyutları ve çapalarıyla oluşturur. Bu nesne ayrıca aşağıdakileri belirlemek için kritik olan birkaç olay sağlar:
    • Sahne Yüklendi Olayı: Bu, uygulamanız sahne modelini başarıyla yüklediğinde yürütülür. Bu olay, sahnenizdeki belirli oyun nesnelerinin ne zaman etkin hale geleceğini belirlemek için yararlıdır. Örneğin, oyununuz sahne anlayışına dayanıyorsa, bu, bir oyun modundan diğerine ne zaman geçiş yapacağınıza karar vermek için önemli olacaktır.
    • Oda Oluşturuldu Olayı: Bu, oda oluşturulduğunda yürütülür. Çok önemlidir çünkü örneğin, oyuncuyu yerleştirmeden önce zeminin müsait olup olmadığını bilmemiz gerekir. Aksi takdirde, oyuncu düşebilir ve bu da kullanıcılar için kötü bir deneyimle sonuçlanabilir.
    • Oda Güncellendi Olayı: Bu, oda sahne yakalamasından güncellendiğinde gerçekleşir. Sahne modeliniz değişirse, bu olay tetiklenir.
    • Oda Kaldırıldı Olayı: Oda kaldırılmadan hemen önce çağrılır.
  4. EffectMesh Prefab: Alınan sahne bilgileri için bazı işlemeleri kontrol etmek istiyorsanız bu bileşen gereklidir. Örneğin, duvarlarınıza, masalarınıza vb. belirli malzemeler veya çarpıştırıcılar atamak istiyorsanız, bu bileşen gereklidir.
  5. FindSpawnPositions Prefab: İçerik oluşturma için geçerli (odanın içinde, mobilya sınırlarının dışında) rastgele konumlar bulmanızı sağlar.
  6. RoomGuardian Prefab: bir koruyucu ağ oluşturmanıza olanak tanır. Şahsen, bu bileşeni daha önce kullanmadım, ancak koruyucu alanına çok yakın olmanız durumunda koruyucu benzeri bir malzeme atamanıza olanak tanıdığını düşünüyorum.
  7. SceneDebugger Prefab: Sahnenizin en yakın yüzeyleri, en büyük tabloları, sahne bağlantı noktalarını ve daha fazlası gibi farklı yönlerini görselleştiren oldukça kullanışlı bir sahne hata ayıklama aracı.


Karma Gerçeklik Yardımcı Seti (MRUK) Unity Eğitimi​

Şimdi bazı kavramları kavradığımıza göre, size MRUK'u kendi Unity projenizde nasıl kullanmaya başlayabileceğinizi anlatayım. Meta bize başlamak için gereken tüm araçları sağladığı için bu çok basit olacak.

MRUKInUnity.png


  • Standart Rendering Pipeline ile yeni bir Unity projesi oluşturun. Unity 2022 LTS kullanmanızı öneririm (benim durumumda 2022.3 sürümünü kullandım).
    • URP kullanmayı tercih ederseniz, bu tamamen sorun değil. Sadece Meta MR Utility Kit'teki bazı materyallerin şu anda URP ile uyumlu olmadığını unutmayın, bu nedenle çalışması için birkaç şeyi ayarlamanız gerekebilir.
  • Meta XR All-In-One SDK'yi yükleyin veya bağımsız Meta MR Utility Kit paketini kullanın . Bunu Window > Package Manager > My Assets'e gidip bunları arayarak yapabilirsiniz. Bunları aramaya çalışmadan önce Unity hesabınıza eklediğinizden emin olun.
  • Player Settings > Meta XR'ye erişerek Proje Kurulum Aracına gidin ve ardından tüm düzeltmeleri uygulayın. Ayrıca, XR Eklenti Yönetimi'ni yükleyin ve Oculus'u hem Standalone hem de Android platformları için etkinleştirin.
    • Oculus eklentilerini etkinleştirdikten sonra Proje Kurulum Aracını iki kez kontrol ederek bekleyen herhangi bir düzeltmenin olmadığından emin olun.
  • Meta > Tools > Building Block gidin ve aşağıdaki yapı taşlarını ekleyin:
    • Geçiş
    • Denetleyici Takibi
    • Sahne Hata Ayıklayıcı (İsteğe bağlı)
  • Proje sekmesinde Packages > Meta MR Utility Kit > Core > Tools'a gidin, ardından MRUK ve EffectMesh prefabriklerini hiyerarşinize sürükleyip bırakın.
  • Unity'de Oynat'a bastığınızda, geliştirme sırasında çok faydalı olacak bir test odasının oluştuğunu göreceksiniz.
Pekala, bugünlük bu kadar herkes. MRUK hakkında herhangi bir sorunuz varsa bana bildirin, size yardımcı olmaktan mutluluk duyarım. Ayrıca, aşağıdaki kaynaklara da göz atmayı unutmayın, çünkü bunlar bu araçları kendi karma gerçeklik uygulamanıza entegre ederken size yardımcı olacaktır.
 
Geri