Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Karma gerçeklik uygulamalarındaki bakış girişi, kullanıcılarınızın neye baktığını bulmakla alakalıdır. Cihazınızdaki göz izleme kameraları Unreal'ın dünya alanında bulunan ışınlarla eşleştiğinde, kullanıcınızın görüş hattı verileri kullanılabilir hale gelir. Bakış hem şemalarda hem de C++'da kullanılabilir ve nesne etkileşimi, yol bulma ve kamera denetimleri gibi mekaniklere yönelik temel bir özelliktir.
Gözle izlemeyi etkinleştirme
- Proje Ayarları > HoloLens'teBakış Girişi özelliğini etkinleştirin:
- Yeni bir aktör oluşturma ve bunu sahnenize ekleme
Not
Unreal'da HoloLens gözle izleme, her iki göz için tek bir bakış ışınına sahiptir. İki ışın gerektiren stereoskopik izleme desteklenmez.
Gözle izlemeyi kullanma
İlk olarak, cihazınızın IsEyeTrackerConnected işleviyle göz izlemeyi desteklediğini denetleyin. İşlev true döndürürse, kullanıcının gözlerinin geçerli çerçevede nereye baktığını bulmak için GetGazeData'yı çağırın:
Not
Düzeltme noktası ve güvenilirlik değeri HoloLens'te kullanılamaz.
Kullanıcılarınızın tam olarak nereye baktığını bulmak için bir çizgi izlemesinde bakış kaynağını ve yönünü kullanın. Bakış değeri, bakış noktasından başlayıp çıkış noktasından başlayıp bakış yönü ile çizgi izleme mesafesinin çarpıldığı bir vektördür:
Baş yönlendirme alma
Ayrıca, kullanıcının kafasının yönünü temsil etmek için Baş Bağlı Ekranın (HMD) döndürmesini de kullanabilirsiniz. Bakış Girişi özelliğini etkinleştirmeden kullanıcıların yönlendirmesini alabilirsiniz, ancak size hiçbir göz izleme bilgisi almazsınız. Doğru çıkış verilerini almak için şemaya dünya bağlamı olarak bir başvuru ekleyin:
Not
HMD Verilerini Alma özelliği yalnızca Unreal 4.26 ve üzeri sürümlerde kullanılabilir.
C++ kullanma
- Oyununuzun build.cs dosyasında PublicDependencyModuleNames listesine EyeTracker ekleyin:
PublicDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EyeTracker"
});
-
Dosya/ Yeni C++ Sınıfı'ndaEyeTracker adlı yeni bir C++ aktörü oluşturun
- Visual Studio çözümü yeni EyeTracker sınıfını açar. Yeni EyeTracker aktörüyle Unreal oyununu açmak için derleyin ve çalıştırın. Aktörleri Yerleştir penceresinde "EyeTracker" için arama yapın ve sınıfı sürükleyip oyun penceresine bırakarak projeye ekleyin:
- EyeTracker.cpp dosyasındaEyeTrackerFunctionLibrary ve DrawDebugHelpers için eklemeler ekleyin:
#include "EyeTrackerFunctionLibrary.h"
#include "DrawDebugHelpers.h"
Herhangi bir bakış verisi almaya çalışmadan önce cihazınızın UEyeTrackerFunctionLibrary::IsEyeTrackerConnected ile göz izlemeyi desteklediğini denetleyin. Gözle izleme destekleniyorsa UEyeTrackerFunctionLibrary::GetGazeData'dan bir çizgi izlemesi için ray'in başlangıcını ve sonunu bulun. Buradan bir bakış vektörünü oluşturabilir ve herhangi bir ışın isabeti sonucunun hatalarını ayıklamak için içeriğini LineTraceSingleByChannel'e geçirebilirsiniz:
void AEyeTracker::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
if(UEyeTrackerFunctionLibrary::IsEyeTrackerConnected())
{
FEyeTrackerGazeData GazeData;
if(UEyeTrackerFunctionLibrary::GetGazeData(GazeData))
{
FVector Start = GazeData.GazeOrigin;
FVector End = GazeData.GazeOrigin + GazeData.GazeDirection * 100;
FHitResult Hit Result;
if (GWorld->LineTraceSingleByChannel(HitResult, Start, End, ECollisionChannel::ECC_Visiblity))
{
DrawDebugCoordinateSystem(GWorld, HitResult.Location, FQuat::Identity.Rotator(), 10);
}
}
}
}
Sonraki Geliştirme Denetim Noktası
Ortaya koyduğumuz Gerçekleşmemiş geliştirme yolculuğunu takip ediyorsanız MRTK temel yapı taşları keşfetmenin tam ortasındasınız demektir. Buradan sonraki yapı taşına devam edebilirsiniz:
İsterseniz Karma Gerçeklik platform özelliklerine ve API'lere atlayabiliriz:
İstediğiniz zaman Gerçekleşmemiş geliştirme denetim noktalarına geri dönebilirsiniz.