Bagikan melalui


Tatapan — MRTK2

Tatapan adalah bentuk input yang berinteraksi dengan dunia berdasarkan di mana pengguna mencari. Tatapan ada dalam dua rasa yang berbeda

Tatapan kepala

Jenis tatapan ini didasarkan pada arah yang dilihat oleh kepala/kamera. Tatapan kepala aktif pada sistem yang tidak mendukung tatapan mata, atau dalam kasus di mana perangkat keras dapat mendukung tatapan mata, tetapi serangkaian izin dan pengaturan yang tepat belum dilakukan.

Tatapan kepala biasanya dikaitkan dengan interaksi gaya HoloLens 1 yang melibatkan melihat objek dengan menempatkannya di tengah Bingkai Holografik dan kemudian melakukan gerakan ketukan udara.

Tatapan mata

Jenis tatapan ini didasarkan pada di mana mata pengguna mencari. Tatapan mata hanya ada pada sistem yang mendukung pelacakan mata. Lihat dokumentasi pelacakan mata untuk detail selengkapnya tentang cara menggunakan tatapan mata.

GazeProvider

Fungsionalitas tatapan (baik kepala maupun mata) disediakan oleh GazeProvider. Penyedia ini dapat dikonfigurasi di bagian Pointer dari profil sistem input:

Titik Masuk Konfigurasi Tatapan

Seperti sumber input lainnya, penyedia tatapan berinteraksi dengan objek dalam adegan melalui penggunaan pointer (lihat dokumen ini untuk informasi tentang pointer). Dalam kasus penyedia tatapan, penunjuknya diimplementasikan melalui InternalGazePointer dan tidak dikonfigurasi melalui profil.

Dimungkinkan untuk mengganti saham GazeProvider dengan implementasi alternatif dengan mengubah Jenis Penyedia Tatapan untuk mereferensikan kelas berbeda yang mengimplementasikan IMixedRealityGazeProvider dan IMixedRealityEyeGazeProvider. Umumnya disarankan untuk menggunakan saham GazeProvider (dan mengajukan masalah saat menemukan bug) karena menerapkan kembali GazeProvider tidak sepele.

Pose tatapan alternatif yang disediakan platform

Secara default, MRTK GazeProvider menggunakan bagian tengah bingkai kamera sebagai asal tatapan. Beberapa platform, seperti Windows Mixed Reality di HoloLens 2, memberikan pose tatapan yang ditentukan secara alternatif. Ini dikelola melalui Use Head Gaze Override pengaturan dalam pengaturan tatapan. Ketika diaktifkan, penimpaan tatapan alternatif akan digunakan. Ketika dinonaktifkan, asal pusat bingkai default akan digunakan. Khususnya, untuk HoloLens 2, sudut tatapan akan dinaikkan beberapa derajat untuk mempertimbangan kenyamanan pengguna dalam menggunakan kepala mereka untuk penargetan.

Penggunaan

Bagaimana mendapatkan target tatapan saat ini

Sampel ini menunjukkan cara mendapatkan objek game saat ini yang ditargetkan oleh tatapan pengguna.

void LogCurrentGazeTarget()
{
    if (CoreServices.InputSystem.GazeProvider.GazeTarget)
    {
        Debug.Log("User gaze is currently over game object: "
            + CoreServices.InputSystem.GazeProvider.GazeTarget)
    }
}

Cara mendapatkan arah tatapan dan asal saat ini

Sampel ini menunjukkan cara mendapatkan Vector3 yang mewakili arah tatapan pengguna dan asal (titik dari mana arah akan terjadi).

void LogGazeDirectionOrigin()
{
    Debug.Log("Gaze is looking in direction: "
        + CoreServices.InputSystem.GazeProvider.GazeDirection);

    Debug.Log("Gaze origin is: "
        + CoreServices.InputSystem.GazeProvider.GazeOrigin);
}