Unity 'de dünya kilitleme ve uzamsal bağlantılar

World kilitleme araçları Hero görüntüsü

Hologramlar sayesinde, sizin için hareket edin veya bazı durumlarda diğer hologramlar ile ilgili olan pozisyon, karma gerçeklik uygulamaları oluşturmanın büyük bir parçasıdır. Bu makale, World kilitleme araçları 'nı kullanarak önerilen çözümümüzde size kılavuzluk eder, ancak Unity projelerinizdeki uzamsal bağlantıları el ile ayarlamaya de değineceğiz. Herhangi bir koda atlamadan önce, Unity 'nin boşluğu ve bağlayıcıları kendi altyapısından nasıl işlediğini anlamanız önemlidir.

Dünya ölçeğinde koordinat sistemleri

Günümüzde, Oyunlar, veri görselleştirme uygulamaları veya sanal gerçeklik uygulamaları yazarken tipik yaklaşım, diğer tüm koordinatların güvenilir bir şekilde geri eşleyebilmesinin bir mutlak dünya koordinat sistemi oluşturmaktır. Bu ortamda her zaman, o dünyadaki iki nesne arasındaki ilişkiyi tanımlayan kararlı bir dönüşüm bulabilirsiniz. Bu nesneleri taşımadıysanız, göreli dönüştürmeleri her zaman aynı kalır. Tüm geometriyi önceden bildiğiniz bir tam sanal dünya işlenirken bu tür genel koordinat sistemi kolayca kolayca alınır. Oda ölçeğinde VR uygulamaları, genellikle bu tür bir mutlak Oda ölçeğinde bir koordinat sistemi olan bu türü, tabandaki kökeni ile oluştururlar.

buna karşılık, HoloLens gibi untethered bir karma gerçeklik cihazı, dünyanın her bir tarafında çok sayıda ölçüm elde ettikleri için, dünyanın gerçek zamanlı olarak bilgilerini sürekli olarak ayarlamaya yönelik dinamik bir algılayıcı tabanlı bt cihazından oluşur. Bir dünya ölçeğinde bir deneyimde, tüm hologramlarınızı bir Naïve rigıd koordinat sistemine yerleştirdiyseniz, bu hologramlar, dünyaya göre veya birbirlerine göreli olarak zaman içinde en fazla taslağı oluşturacak.

Örneğin, kulaklık Şu anda dünyanın dört konumunu 4 ölçüm olarak düşünmeyebilir ve daha sonra, konumların gerçekten 3,9 ölçümde olduğunu öğreniyor. Bu hologramlar başlangıçta tek bir rigıd koordinat sisteminde 4 ölçüm yerleştirseydi, bunlardan biri gerçek dünyanın her zaman 0,1 ölçüm olarak görünür.

Kullanıcı mobil olduğunda bir hologram fiziksel dünyadaki konumunu korumak için, uzamsal bağlantıları Unity 'ye el ile yerleştirebilirsiniz. Bu, sanal dünyanın içindeki kendini tutarlılığını sağlar. Farklı Çıpaları birbiriyle ilişkili olarak devam ediyor ve aynı zamanda genel koordinat alanı üzerinden taşınıyor. Bu senaryoda, düzen gibi basit görevler zor ve fizik simülasyonu sorunlu olur.

World kilitleme araçları her iki dünyanın en iyi yanı sıra, Kullanıcı etrafında hareket ederken sanal sahnenin tamamında bir iç uzamsal bağlayıcı kaynağı kullanarak tek bir rigıd koordinat sisteminin sabitlemesini sağlar. Araçlar, kameranın koordinatlarını ve bu uzamsal Tutturucuların her karede çözümlenmesini sağlar. Araçların koordinat içindeki düzeltmelerin dengelenebilmesi için dünyadaki her şeyin koordinatlarını değiştirmek yerine, Araçlar baş koordinatlarını yalnızca bunun yerine düzeltir.

Dünya kilitleme yaklaşımınızı seçme

  • Tüm hologram konumlandırma gereksinimleriniz için Dünya kilitleme araçlarını kullanmanızı öneririz.
    • World kilitleme araçları, sanal ve gerçek dünya işaretçileri arasındaki görünür tutarsızlıkları en aza indiren kararlı bir koordinat sistemi sağlar. Başka bir yöntem de, BT dünyası, her bir nesne grubunu grubun kendine ait olduğu tek bir bağlayıcı ile kilitlemek yerine, paylaşılan bir bağlayıcı havuzuyla tüm sahneyi kilitler.
    • World kilitleme araçları, uzamsal bağlayıcıların dahili olarak tüm oluşturma ve yönetimini otomatik olarak işler. Hologramlar dünyadan kilitlenmiş olması için ARAnchorManager veya Worldanchor ile etkileşime ihtiyacınız yoktur.
  • openxr veya Windows xr eklentisi kullanan Unity 2019/2020 içinARAnchorManager kullanmanız gerekir
  • Eski Unity sürümleri veya wsa projeleri için , Worldanchor kullanmanız gerekir

Dünya kilitlemeyi ayarlama

Yeni Karma Gerçeklik Özellik aracını kullanarak World kilitleme araçları 'nı yüklemenizi öneririz. Karma Gerçeklik özelliği aracını aşağıdaki bağlantıdan indirdikten sonra, World kilitleme araçları bölümünden WLT Core 'un en son sürümünü seçin:

World kilitleme araçları seçiliyken karma gerçeklik özelliği aracı özellik seçimi penceresi

Otomatik kurulum

Projeniz çalışmaya hazırsanız karma gerçeklik World kilitleme araçlarındansahneyi Yapılandır yardımcı programını çalıştırın:

Karma Gerçeklik araç seti seçiliyken Unity Düzenleyicisi

Önemli

Sahneyi Yapılandır yardımcı programı dilediğiniz zaman yeniden çalıştırılabilir. Örneğin, AR hedefi eski iken XR SDK olarak değiştirilmişse yeniden çalıştırılması gerekir. Sahne zaten doğru yapılandırıldıysa, yardımcı programın çalıştırılması etkisizdir.

Görselleştiriciler

Erken geliştirme sırasında, Görselleştiriciler eklemek WLT 'nın kurulum ve düzgün şekilde çalışmasını sağlamak için yararlı olabilir. Bunlar üretim performansı için kaldırılabilirler veya herhangi bir nedenle Görselleştiriciler kaldırma yardımcı programını kullanarak artık gerekli değildir. Görselleştiriciler hakkında daha fazla ayrıntı, Araçlar belgelerindebulunabilir.

Kalıcı dünya kilitleme

Uzamsal bağlantılar, uygulama oturumları arasında gerçek hayatta hologramlar kaydeder. HoloLens ' tutturucu deposunda kaydedildikten sonra, bu dosyalar farklı oturumlarda bulunabilir ve yüklenebilir ve internet bağlantısı olmadığında ideal bir geri alım olabilir.

Önemli

Yerel bağlantılar cihazda depolanır, ancak Azure uzamsal bağlantıları bulutta depolanır. Bağlayıcılarınızı depolamak için Azure Cloud Services 'ı kullanmak istiyorsanız, Azure uzamsal bağlayıcılarıtümleştirirken size yol gösterecek bir belge sunuyoruz. Yerel ve Azure Çıpaları ile aynı projede çakışma olmadan sahip olabileceğini unutmayın.

Varsayılan olarak, dünya kilitleme araçları Unity 'nin koordinat sistemini, yerel uzamsal bağlayıcıların kalıcılığını destekleyen cihazlarda bulunan oturumlarda fiziksel dünya ile ilişkili olarak geri yükler. Bir hologram, uygulamayı kapattıktan ve yeniden çalıştırdıktan sonra fiziksel dünyanın aynı yerinde görünmesini sağlamak için, hologram yalnızca aynı poza sahip olmalıdır.

Unity denetçisinde dünya kilitleme bağlam bileşeni

Uygulamanın daha ayrıntılı denetime ihtiyacı varsa, denetçide Otomatik Kaydet ve Otomatik Yükle devre dışı bırakılabilir ve belgelerde kalıcılık bölümünde açıklandığı gibi bir betikten kalıcılık yönetilebilir.

Yerel sabit sabit noktası kalıcılığı şu anda yalnızca HoloLens cihaz ailesinde de desteklemektedir. Öte yandan Android ve iOS'ta HoloLens oturumlar arasında koordinat alanlarının kalıcılığı ve cihazlar arasında koordinat alanlarının paylaştır edilmesi, Azure Spatial Anchors ile tümleştirme yoluyla de destek Spatial Anchors. Azure Kilitleme Araçları ile Birlikte Dünya Kilitleme Araçlarını kullanma hakkında çok sayıda bilgi ve örnek Spatial Anchors.

Koordinat alanlarını paylaşma

Dünyayla kilitli bir koordinat alanı paylaşmak için kapsamlı paylaşılan deneyim belgelerimize göz atabilirsiniz.

Sonraki Geliştirme Denetim Noktası

Burada ortaya konan Unity geliştirme kontrol noktası yolculuğunu takip ediyorsanız Karma Gerçeklik temel yapı taşlarını keşfetmenin tam ortasındayız demektir. Buradan bir sonraki yapı bloğuna devam edersiniz:

Veya Karma Gerçeklik platformu özelliklerine ve API'lere atlayın:

Unity geliştirme denetim noktalarına her zaman geri dönabilirsiniz.

Ayrıca Bkz.