Aracılığıyla paylaş


IAnchorManager

Frozen World altyapısı, ideal dünya kilitli alanın hesaplandığı kullanıcıyı çevreleyen uzamsal bağlantı ağına dayanır.

IAnchorManager bu ağı korur ve her çerçeveyi işlemek için altyapıya sağlar.

Şu anda, tümü Assets/WorldLocking.Core/Scripts/AnchorManager.cs içindeki AnchorManager temel sınıfından türetilen bir dizi IAnchorManager uygulaması vardır. AnchorManager soyut SpongyAnchor'ları işleyerek ortak yer işareti bakım işlemleri gerçekleştirir. Özelleştirmeler platforma özgü API'lerle etkileşim kurar; örneğin AnchorManagerXR sınıfı, XRAnchor'lar üzerinde oluşturulan SpongyAnchors'ları yönetir. Frozen World motorunun kendisi kullanılan yer işareti türüne göre bağımsızdır.

Kullanıcı ortamda hareket ettikçe AnchorManager, aşağıdaki basit ama etkili algoritmaya göre yer işaretlerinin grafiğini büyütür:

  • Mevcut en yakın yer işareti kullanıcıdan X metreden fazlaysa:
    • Yeni bir yer işareti ekleyin.
    • Yeni yer işaretinden Y metreden küçük tüm mevcut tutturuculara yeni yer işaretinden kenarlar ekleyin.

Yukarıdaki 'X' ve 'Y' değerleri AnchorManager'daki sabitlerdir; minNewAnchorDistance ve MaxAnchorEdgeLength sırasıyla. Bunlar özelliklere dönüştürülerek WorldLockingContext API yüzeyindeki karmaşıklık maliyetinde daha fazla esneklik sağlayabilir. Ancak, sırasıyla 1 metre ve 1,2 metre olan geçerli değerler bugüne kadar tatmin edici olmuştur.

Yukarıdaki algoritma, ilk keşif sırasında kullanıcı tarafından çapraz geçiş yapılan alanda yer işaretlerinin grafiğini büyütür ve sonunda statik bir ağa yerleşir.

Yer işareti yöneticisi, yer işareti grafiğini birden çok oturumda da kalıcı hale gelebilir.

AnchorManager'ın oturum sırasında yer işareti grafiğini otomatik olarak kaydetme, başlangıçta önceden kaydedilmiş grafiği yükleme veya isteğe bağlı olarak kaydetme ve yükleme seçenekleri vardır. Kalıcılık kullanılabilirliği platform desteğine bağlıdır.

Ayrıca bkz.

VE API başvurusunda: