Bakış — MRTK2
Bakış , kullanıcının aradığı yere göre dünyayla etkileşim kuran bir giriş biçimidir. Bakış iki farklı lezzette mevcuttur
Baş bakışı
Bu bakış türü, başın/kameranın baktığı yönü temel alır. Baş bakışı, gözle bakmayı desteklemeyen sistemlerde veya donanımın göz bakışını destekleyeebileceği durumlarda etkindir, ancak doğru izin kümesi ve kurulum gerçekleştirilmemiştir.
Kafa bakışı genellikle HoloLens 1 tarzı etkileşimlerle ilişkilendirilir. Nesne holografik çerçevenin ortasına yerleştirilip ardından hava dokunma hareketi gerçekleştirilerek nesneye bakılır.
Göz bakışı
Bu bakış türü, kullanıcının gözlerinin nereye baktığına bağlıdır. Göz bakışı yalnızca göz izlemeyi destekleyen sistemlerde bulunur. Göz bakışı kullanma hakkında daha fazla ayrıntı için göz izleme belgelerine bakın.
GazeProvider
Bakış işlevi (baş ve göz) GazeProvider tarafından sağlanır. Bu sağlayıcı, giriş sistemi profilinin İşaretçi bölümünde yapılandırılabilir:
Diğer giriş kaynakları gibi bakış sağlayıcısı da işaretçi kullanarak sahnedeki nesnelerle etkileşim kurar (işaretçiler hakkında bilgi için bu belgeye bakın).
Bakış sağlayıcısı söz konusu olduğunda işaretçisi aracılığıyla InternalGazePointer
uygulanır ve bir profil aracılığıyla yapılandırılmaz.
IMixedRealityGazeProvider ve IMixedRealityEyeGazeProvider'ı uygulayan farklı bir sınıfa başvurmak için GazeProvider'ıalternatif bir uygulamayla değiştirmek mümkündür. GazeProvider'ın yeniden uygulanması önemsiz bir işlem olduğundan genellikle GazeProvider'ın (ve hata bulurken sorunları bildirme) kullanılması önerilir.
Alternatif platform tarafından sağlanan bakış pozları
Varsayılan olarak MRTK GazeProvider, bakış kaynağı olarak kameranın karesinin merkezini kullanır. HoloLens 2 Windows Mixed Reality gibi bazı platformlar alternatif olarak tanımlanmış bir bakış pozu sağlar. Bu, bakış ayarlarındaki ayar aracılığıyla Use Head Gaze Override
yönetilir. Etkinleştirildiğinde, alternatif bakış geçersiz kılma kullanılır. Devre dışı bırakıldığında, varsayılan çerçeve merkezi kaynağı kullanılır. Özellikle, HoloLens 2 için bakış açısı, hedefleme için başını kullanmadaki kullanıcı rahatlığını hesaba eklemek için birkaç derece yükseltilecektir.
Kullanım
Geçerli bakış hedefini alma
Bu örnek, kullanıcı bakışı tarafından hedeflenen geçerli oyun nesnesinin nasıl alındığını gösterir.
void LogCurrentGazeTarget()
{
if (CoreServices.InputSystem.GazeProvider.GazeTarget)
{
Debug.Log("User gaze is currently over game object: "
+ CoreServices.InputSystem.GazeProvider.GazeTarget)
}
}
Geçerli bakış yönünü ve çıkış noktasını alma
Bu örnek, kullanıcının bakış yönünü ve çıkış noktasını (yönün gittiği nokta) temsil eden Vector3'ün nasıl alınacağını gösterir.
void LogGazeDirectionOrigin()
{
Debug.Log("Gaze is looking in direction: "
+ CoreServices.InputSystem.GazeProvider.GazeDirection);
Debug.Log("Gaze origin is: "
+ CoreServices.InputSystem.GazeProvider.GazeOrigin);
}