Aracılığıyla paylaş


Unity'de dünya kilitleme ve uzamsal tutturucular

Dünya kilitleme araçları hero görüntüsü

Hologramlarınızın yerinde kalmasını sağlamak, sizinle birlikte hareket etmek veya bazı durumlarda kendilerini diğer hologramlara göre konumlandırmak, Karma Gerçeklik uygulamaları oluşturmanın büyük bir parçasıdır. Bu makale, World Locking Tools kullanarak önerilen çözümümüze göz atacak, ancak Unity projelerinizde uzamsal tutturucuları el ile ayarlamayı da ele alacağız. Herhangi bir koda atlamadan önce Unity'nin koordinat alanını ve kendi altyapısındaki tutturucuları nasıl işlediğini anlamak ö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 eşleyebilecekleri tek 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üşümleri her zaman aynı kalır. Bu tür bir küresel koordinat sistemi, geometrinin tamamını önceden bildiğiniz tamamen sanal bir dünyayı oluştururken kolayca düzeltilir. Günümüzde oda ölçeğinde VR uygulamaları genellikle zemindeki kaynağıyla bu tür mutlak oda ölçeğinde koordinat sistemi kurar.

Buna karşılık, HoloLens gibi sabit olmayan bir karma gerçeklik cihazı, dünyayı dinamik algılayıcı odaklı bir anlayışa sahiptir ve bir binanın tüm katında metrelerce yürürken kullanıcının çevresinin zaman içindeki bilgilerini sürekli olarak ayarlar. Dünya ölçeğinde bir deneyimde, tüm hologramlarınızı saf ve katı bir koordinat sistemine yerleştirdiyseniz, bu hologramlar zaman içinde dünyaya göre veya birbirlerine göre sürüklenebilir.

Örneğin mikrofonlu kulaklık şu anda dünyanın iki konumunun birbirinden 4 metre ayrı olduğuna inanabilir ve daha sonra konumların aslında 3,9 metre ayrı olduğunu öğrenerek bu anlayışı geliştirebilir. Bu hologramlar başlangıçta tek bir katı koordinat sistemine 4 metre uzaklıkta yerleştirildiyse, bunlardan biri her zaman gerçek dünyadan 0,1 metre uzakta görünür.

Kullanıcı mobil olduğunda hologramın fiziksel dünyadaki konumunu korumak için Unity'ye uzamsal tutturucuları el ile yerleştirebilirsiniz. Ancak bu, sanal dünya içindeki kendi tutarlılığını feda eder. Farklı tutturucular sürekli olarak birbirine göre hareket eder ve aynı zamanda genel koordinat alanında hareket eder. Bu senaryoda düzen gibi basit görevler zorlaşır. Fizik simülasyonu da sorunlu olabilir.

Dünya Kilitleme Araçları (WLT) her iki dünyanın da en iyilerini elde eder ve kullanıcı hareket ettikçe sanal sahne boyunca yayılan dahili uzamsal çapalar kullanarak tek bir katı koordinat sistemini dengeler. WLT, kameranın koordinatlarını ve bu uzamsal bağlantıları her kareyi analiz eder. WLT, kullanıcının kafasının koordinatlarındaki düzeltmeleri telafi etmek için dünyadaki her şeyin koordinatlarını değiştirmek yerine yalnızca başın koordinatlarını düzeltir.

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

Mümkünse hologram konumlandırma için World Locking Tools'ı kullanın.

World Locking Tools , sanal ve gerçek dünya işaretleyicileri arasındaki görünür tutarsızlıkları en aza indiren kararlı bir koordinat sistemi sağlar. World Locking Tools, her bir nesne grubunu grubun kendi yer işaretiyle kilitlemek yerine, sahnenin tamamını ortak bir yer işareti havuzuyla kilitler.

World Locking Tools, uzamsal tutturucuların iç oluşturulmasını ve yönetilmesini otomatik olarak işler. Hologramlarınızı dünya kilitli tutmak için ARAnchorManager veya WorldAnchor ile etkileşim kurmanız gerekmez.

  • OpenXR veya Windows XR Eklentisi kullanan Unity 2019/2020 için ARAnchorManager kullanın.
  • Eski Unity sürümleri veya WSA projeleri için WorldAnchor kullanın.

Dünya kilitlemeyi ayarlama

Dünya Kilitleme Araçları'nı kullanmaya başlamak için Karma Gerçeklik Özellik Aracı'nı indirin. Temel bilgiler hakkında daha fazla bilgi edinmek için Genel Bakış, Hızlı Başlangıç ve diğer yararlı konuların bağlantıları için ana Dünya Kilitleme Araçları belgeleri sayfasına bakın.

Otomatik kurulum

Projeniz kullanıma hazır olduğunda, Karma Gerçeklik > World Locking Tools'tan sahne yapılandırma yardımcı programını çalıştırın:

Karma Gerçeklik Araç Seti menüsünün seçili olduğu unity düzenleyicisi

Önemli

Sahneyi yapılandır yardımcı programı istediğiniz zaman yeniden çalıştırılabilir. Örneğin, AR hedefi Eski'den XR SDK'sına değiştirildiyse yeniden çalıştırılmalıdır. Sahne zaten düzgün yapılandırılmışsa yardımcı programı çalıştırmanın hiçbir etkisi yoktur.

Görselleştiriciler

Erken geliştirme sırasında, WLT'nin düzgün ayarlandığından ve çalıştığından emin olmak için görselleştiriciler eklemek yararlı olabilir. Bunlar üretim performansı için veya herhangi bir nedenle artık gerekli değilse Görselleştiricileri kaldır yardımcı programı kullanılarak kaldırılabilir. Görselleştiricilerle ilgili diğer ayrıntılar Araçlar belgelerinde bulunabilir.

Kalıcı dünya kilitleme

Uzamsal tutturucular, hologramları uygulama oturumları arasında gerçek dünyada yer kaplar. HoloLens yer işareti deposuna kaydedildikten sonra uzamsal tutturucular farklı oturumlarda bulunabilir ve yüklenebilir ve İnternet bağlantısı olmadığında ideal bir geri dönüş olur.

Önemli

Yerel tutturucular cihazda depolanırken Azure Spatial Anchors bulutta depolanır. Çakışma olmadan aynı projede yerel ve Azure bağlantı noktalarınız olabilir. Yer işaretlerinizi depolamak için Azure bulut hizmetlerini tümleştirme hakkında daha fazla bilgi için bkz . Azure Spatial Anchors.

Varsayılan olarak, World Locking Tools unity'nin koordinat sistemini yerel uzamsal tutturucuların kalıcılığını destekleyen cihazlardaki oturumlarda fiziksel dünyaya göre geri yükler. Uygulamadan çıkıp yeniden çalıştırdıktan sonra bir hologramın fiziksel dünyada aynı yerde görünmesini sağlamak için uygulamanın yalnızca holograma aynı pozu geri yüklemesi gerekir.

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

Uygulamanın daha ayrıntılı bir denetime ihtiyacı varsa, denetçide Otomatik Kaydetme ve Otomatik Yükleme'yi devre dışı bırakabilir ve bir betikten kalıcılığı yönetebilirsiniz. Daha fazla bilgi için bkz . Uzamsal koordinat sistemlerini kalıcı hale alma.

World Locking Tools yalnızca HoloLens cihazlarında yerel yer işareti kalıcılığını destekler. Android, iOS ve HoloLens cihazları için, oturumlar ve cihazlar arasında koordinat alanlarının kalıcılığını ve paylaşımını desteklemek için Azure Spatial Anchors ile tümleştirin. Azure Spatial Anchors ile Dünya Kilitleme Araçları'nı kullanma hakkında daha fazla bilgi ve örnek için bkz. Azure Spatial Anchors (ASA) ile birlikte World Locking Tools (WLT).

Sonraki adımlar

Dünya kilitli koordinat alanını paylaşın:

Uzamsal eşleme hakkında bilgi edinin:

Unity geliştirme denetim noktalarına geri dönün:

Ayrıca bkz.