Unity'de dünya kilitleme ve uzamsal yer işaretleri

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'u kullanarak önerdiğimiz çözümde size yol gösterir, ancak Unity projelerinizde uzamsal bağlantıları el ile ayarlamayı da ele alacağız. Herhangi bir koda geçmeden ö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 geri 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ünya oluştururken kolayca düzeltilir. Oda ölçeğinde VR uygulamaları bugün genellikle zemindeki kökeniyle 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ünyanın sensör odaklı dinamik bir anlayışına sahiptir ve bir binanın tüm katında çok metrelerce ilerlerken kullanıcının çevresi hakkında zaman içinde bilgisini 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ünya temelinde veya birbirlerine göre kaymaya neden olur.

Örneğin mikrofonlu kulaklık şu anda dünyanın iki konumunun birbirinden 4 metre uzakta olduğuna inanabilir ve daha sonra konumların aslında 3,9 metre uzakta 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 el ile uzamsal yer işaretleri yerleştirebilirsiniz. Ancak bu, sanal dünya içindeki kendi kendine tutarlılığı feda eder. Farklı yer işaretleri sürekli olarak birbirine göre hareket eder ve aynı zamanda küresel 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), kullanıcı gezindikçe sanal sahne boyunca yayılan uzamsal yer işareti iç tedarikini kullanarak tek bir katı koordinat sistemini sabitleyerek her iki dünyanın da en iyi şekilde kullanılmasını sağlar. 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'u kullanın.

Dünya Kilitleme Araçları , 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, tüm sahneyi ortak bir yer işareti havuzuyla dünya çapında kilitler.

World Locking Tools, uzamsal tutturucuların iç oluşturulmasını ve yönetilmesini otomatik olarak işler. Hologramlarınızı dünya çapında 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ı belge sayfasına bakın.

Otomatik kurulum

Projeniz kullanıma hazır olduğunda, Karma Gerçeklik > World Locking Tools'dan 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'ya 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 yer işaretleri, 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 yer işaretleri cihazda, Azure Spatial Anchors ise bulutta depolanır. Çakışma olmadan aynı projede yerel ve Azure yer işaretleri kullanabilirsiniz. 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 yerel uzamsal yer işaretlerin kalıcılığını destekleyen cihazlarda oturumlar arasında fiziksel dünyaya göre koordinat sistemini 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ı 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 yapma.

Dünya Kilitleme Araçları yalnızca HoloLens cihazlarında yerel yer işareti kalıcılığını destekler. Android, iOS ve HoloLens cihazlarında, 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 World Locking Tools'u 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:

Ayrıca bkz.