MRTK2'de göz izlemeye başlama

Bu sayfa, Unity MRTK sahnenizi uygulamanızda göz izlemeyi kullanacak şekilde ayarlamayı kapsar. Aşağıdaki belgede yeni bir görünümle başladığınız varsayılır. Alternatif olarak, doğrudan oluşturabileceğiniz tonlarca harika örnekle zaten yapılandırılmış MRTK göz izleme örneklerimize göz atabilirsiniz.

Gözle izleme gereksinimleri denetim listesi

Göz izlemenin doğru çalışması için aşağıdaki gereksinimlerin karşılanması gerekir. HoloLens 2 ve MRTK'da göz izlemenin nasıl ayarlandığı konusunda yeniyseniz endişelenmeyin! Aşağıdaki bölümlerde bunların her birini nasıl ele alacağımız hakkında ayrıntılı bilgi edineceğiz.

  1. Giriş sistemine bir 'Göz Bakışı Veri Sağlayıcısı' eklenmelidir. Bu veri sağlayıcısı platformdan göz izleme verileri sağlar.
  2. Uygulama bildiriminde 'GazeInput' özelliği etkinleştirilmelidir. Bu özellik Unity 2019'da ayarlanabilir, ancak Unity 2018 ve önceki sürümlerinde bu özellik yalnızca Visual Studio'da ve MRTK derleme aracı aracılığıyla kullanılabilir.
  3. HoloLens geçerli kullanıcı için göz kalibre edilmelidir . Kullanıcının göz kalibre edilip edilmediğini algılamak için örneğimize göz atın.

GazeInput özelliğiyle ilgili bir not

MRTK tarafından sağlanan derleme araçları (Karma Gerçeklik Araç Seti -> Yardımcı Programlar -> Derleme Penceresi) Sizin için GazeInput özelliğini otomatik olarak etkinleştirebilir. Bu adımı gerçekleştirmek için 'Appx Derleme Seçenekleri' sekmesinde 'Bakış Giriş Özelliği' seçeneğinin işaretli olduğundan emin olmanız gerekir:

MRTK Derleme Araçları

Bu araç Unity derlemesi tamamlandıktan sonra AppX bildirimini bulur ve GazeInput özelliğini el ile ekler. Unity 2019'un öncesinde, Unity'nin yerleşik Derleme Penceresi (Dosya -> Derleme Ayarları) kullanılırken bu araç ETKIN DEĞİlDİ.

Unity 2019'un öncesinde Unity'nin derleme penceresini kullanırken, özelliğin Unity derlemesinin ardından aşağıdaki gibi el ile eklenmesi gerekir:

  1. Derlenmiş Visual Studio projenizi açın ve ardından çözümünüzde 'Package.appxmanifest' dosyasını açın.
  2. Özellikler'in altındaki 'GazeInput' onay kutusunu işaretlediğinden emin olun. 'GazeInput' özelliğini görmüyorsanız sisteminizin MRTK kullanma önkoşullarını (özellikle Windows SDK sürümü) karşılayıp karşılamadığını denetleyin.

Not: Bunu yapmanız için yeni bir derleme klasörü oluşturmanız gerekir. Unity projenizi önceden oluşturup appxmanifest'i daha önce ayarladıysanız ve şimdi aynı klasörü yeniden hedeflediyseniz değişikliklerinizi yeniden uygulamanız gerekmez.

Göz izlemeyi adım adım ayarlama

Sahneyi ayarlama

Menü çubuğundaki 'Karma Gerçeklik Araç Seti -> Yapılandır...' seçeneğine tıklayarak MixedRealityToolkit'i ayarlayın.

MRTK yapılandırması

Gözle izleme için gereken MRTK profillerini ayarlama

MRTK sahnenizi ayarladıktan sonra MRTK için bir profil seçmeniz istenir. DefaultMixedRealityToolkitConfigurationProfile öğesini ve ardından 'Kopyala & Özelleştir' seçeneğini belirleyebilirsiniz.

MRTK profili

"Göz bakışı veri sağlayıcısı" oluşturma

  • MRTK profilinizde 'Giriş' sekmesine tıklayın.
  • Varsayılan olanı ('DefaultMixedRealityInputSystemProfile') düzenlemek için yanındaki 'Kopyala' düğmesine tıklayın. Bir 'Profil Kopyala' menüsü görüntülenir. Menünün alt kısmındaki 'Kopyala'ya tıklayın.
  • Yeni giriş profilinize çift tıklayın, 'Giriş Veri Sağlayıcıları' seçeneğini genişletin ve '+ Veri Sağlayıcısı Ekle'yi seçin.
  • Doğru veri sağlayıcısını ekleyin:
    • Eski Windows Mixed Reality için
      • Tür altında 'Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input' ->'WindowsMixedRealityEyeGazeDataProvider' öğesini seçin
    • Windows XR Eklentisi için
      • Tür altında 'Microsoft.MixedReality.Toolkit.XRSDK.WindowsMixedReality' ->'WindowsMixedRealityEyeGazeDataProvider' öğesini seçin
    • OpenXR için
      • Tür altında 'Microsoft.MixedReality.Toolkit.XRSDK.OpenXR' ->'OpenXREyeGazeDataProvider' öğesini seçin

MRTK veri sağlayıcısı

"Gözle İzleme Verilerini Kullan" seçeneğini etkinleştirme

  • MRTK yapılandırma profilinize gidin ->'Input' ->'Pointers'
    • Değişiklik yapmak için 'DefaultMixedRealityInputPointerProfile' dosyasını klonlayın.
  • Ayarlarda 'Göz İzleme Verilerini Kullan'ı bulun ve etkinleştirin.
  • Şimdi 'GazeInput özelliğini ayarla' düğmesini görebilirsiniz ve UWP özelliğini etkinleştirmek için bu düğmeye basmanız gerekir.

MRTK göz izleme verilerini kullanma

Unity Düzenleyicisi'nde göz izleme simülasyonu

Uygulamayı HoloLens 2 dağıtmadan önce olayların doğru tetiklendiğinden emin olmak için Unity Düzenleyicisi'nde göz izleme girişinin benzetimini yapabilirsiniz. Göz bakışı sinyali, kameranın konumunu göz bakışı kaynağı olarak ve kameranın ileri vektörü göz bakışı yönü olarak kullanılarak simüle edilir. Bu ilk test için harika olsa da, hızlı göz hareketleri için iyi bir taklit olmadığını lütfen unutmayın. Bunun için göz tabanlı etkileşimlerinizin HoloLens 2 sık test edilmesini sağlamak daha iyidir.

  1. Sanal göz izlemeyi etkinleştirme:

    • MRTK yapılandırma profilinizde 'Giriş' sekmesine tıklayın.
    • Buradan 'Giriş Veri Sağlayıcıları' ->'Giriş Benzetimi Hizmeti'ne gidin.
    • Değişiklik yapmak için 'DefaultMixedRealityInputSimulationProfile' öğesini klonlayın.
    • Uygun 'Varsayılan Göz Bakışı Benzetimi Modu' ayarını seçin.

    MRTK göz simülasyonu

  2. Varsayılan baş bakışı imlecini devre dışı bırak: Genel olarak, göz bakışı imlecini göstermekten kaçınmanızı veya kesinlikle gerekliyse, çok hafif olmasını öneririz. MRTK bakış işaretçisi profiline bağlı varsayılan baş bakış imlecini varsayılan olarak gizlemenizi öneririz.

    • MRTK yapılandırma profilinize gidin ->'Input' ->'Pointers'
    • Değişiklik yapmak için 'DefaultMixedRealityInputPointerProfile' dosyasını klonlayın.
    • 'İşaretçi Ayarları'nın en üstünde, 'Bakış İmleci Ön Başlığı'na görünmez bir imleç ön başlığı atamanız gerekir. Bunu yapmak için MRTK Foundation'dan 'EyeGazeCursor' prefabını seçebilirsiniz.

Bakış sağlayıcısında göz tabanlı bakışı etkinleştirme

HoloLens v1'de birincil işaret tekniği olarak baş bakışı kullanılmıştır. Baş bakışı, Kameranıza bağlı MRTK'daki GazeProvider aracılığıyla hala kullanılabilse de, giriş işaretçisi profilinin bakış ayarlarında 'IsEyeTrackingEnabled' onay kutusunu seçerek göz bakışı kullanabilirsiniz.

Not

Geliştiriciler, 'GazeProvider' öğesinin 'IsEyeTrackingEnabled' özelliğini değiştirerek koddaki göz tabanlı bakış ile baş tabanlı bakış arasında geçiş yapabilir.

Önemli

Gözle izleme gereksinimlerinden herhangi biri karşılanmazsa, uygulama otomatik olarak kafa tabanlı bakışa geri döner.

Göz bakışı verilerine erişme

Sahneniz gözle izlemeyi kullanacak şekilde ayarlandığından, betiklerinizde buna nasıl erişildiğini görelim: EyeGazeProvider ve gözle desteklenen hedef seçimleriaracılığıyla göz izleme verilerine erişme.

Unity uygulamanızı bir HoloLens 2 test etme

Uygulamanızı gözle izlemeyle derlemek, diğer HoloLens 2 MRTK uygulamalarını derlemenize benzer olmalıdır. Yukarıda GazeInput özelliğiyle ilgili not bölümünde açıklandığı gibi 'Bakış Girişi' özelliğini etkinleştirdiğinizden emin olun.

Projenin HoloLens 2 için yapılandırıldığından emin olun

MRTK ile OpenXR projesi ayarlama bölümünde ele alınan yapılandırma adımlarını gözden geçirerek projenizi düzgün yapılandırdığınızdan emin olun.

Dikkate almak için önemli noktalar:

  • Proje Ayarları penceresinde anahtar ayarlarını gözden geçirin.
    • Eklenti Sağlayıcılarının doğru ayarlandığından emin olun
  • Uyarı üçgenlerini çözün.
    • Etkileşim profilleri ayarlanmalıdır
    • OpenXR Özellik Grupları düzgün seçilmelidir

Göz kalibrasyonu

HoloLens 2 göz kalibrasyonunu çalıştırmayı unutmayın. Kullanıcı ayarlanmazsa göz izleme sistemi herhangi bir giriş döndürmez. Kalibrasyona ulaşmak için en kolay yol vizörü yukarı ve sonra aşağı doğru çevirmektir. Sizi yeni bir kullanıcı olarak karşılayan ve göz kalibrasyonunu geçmenizi isteyen bir sistem bildirimi görünmelidir. Alternatif olarak göz kalibrasyonunu sistem ayarlarında bulabilirsiniz: Ayarlar > Sistem > Kalibrasyonu > Gözle kalibrasyonu çalıştırın.

Gözle izleme izni

Uygulamayı HoloLens 2'nizde ilk kez başlattığınızda, kullanıcıdan göz izlemeyi kullanma izni isteyen bir istem açılır. İstem gösterilmiyorsa, bu genellikle 'GazeInput' özelliğinin ayarlanmadığının göstergesidir.

İzin istemi bir kez gösterildikten sonra otomatik olarak yeniden gösterilmez. "Gözle izleme iznini reddettiyseniz" bunu Ayarlar - Gizlilik ->> Uygulamalar bölümünden sıfırlayabilirsiniz.


Bu, MRTK Unity uygulamanızda göz izlemeyi kullanmaya başlamanızı sağlar. Göz izleme girişini kullanmayı ve projelerinizde yeniden kullanabileceğiniz betikleri rahatça sağlamayı gösteren MRTK göz izleme öğreticilerimizi ve örneklerimizi gözden geçirmeyi unutmayın.


"MixedRealityToolkit'te göz izleme"