Přístup k datům sledování očí ve skriptu Unity

V tomto článku se předpokládá, že máte přehled o nastavení sledování očí ve scéně MRTK (viz Základní nastavení MRTKpro použití sledování očí ). Přístup k datům sledování očí ve skriptu MonoBehaviour je snadný! Jednoduše použijte CoreServices.InputSystem.EyeGazeProvider.

IMixedReality VyjadřováníGazeProvider

Konfigurace sledování očí v MRTK se konfiguruje prostřednictvím IMixedRealityEyeGazeProvider rozhraní . Použití CoreServices.InputSystem.EyeGazeProvider poskytuje výchozí implementaci poskytovatele pohledu zaregistrovanou v sadě nástrojů za běhu. Užitečné vlastnosti objektu EyeGazeProvider jsou uvedené níže.

  • IsTrackTrackingEnabled:True, pokud se uživatel vybral pro sledování pohledu.

  • IsIntegCalibrationValid:Určuje, jestli je sledování očí uživatele platné nebo ne. Pokud hodnota ještě nepřijímala data ze systému sledování očí, vrátí hodnotu null. Může být neplatný, protože uživatel přeskočil sledování očí.

  • IsTrackTrackingEnabledAndValid:Určuje, jestli se aktuální data sledování oka aktuálně používají pro pohled.

  • IsTrackTrackingDataValid:True, pokud jsou k dispozici data sledování oka. Může být nedostupná kvůli překročení časového limitu (mělo by být robustní pro uživatele, který však bliká) nebo kvůli nedostatečnému sledování hardwaru nebo oprávnění. Podívejte se na naši ukázku oznámení o odběru chybějícího oka, která vysvětluje, jak zjistit, jestli je uživatel naměřený pohledem, a zobrazit odpovídající oznámení.

  • Pohled Na pohled: Původ paprsku pohledu. Mějte na vědomí, že pokud je hodnota Is ZisGazeValid nepravdivá, vrátí se hlavní pohled.

  • Pohled :Směr paprsku pohledu. Vrátí se směr pohledu na hlavy, pokud je hodnota Is ZigazeValid nepravda.

  • HitInfo, HitPosition, HitNormalatd.: Informace o aktuálně zaměřovaných cílech. Opět platí, že pokud je hodnota false, bude založená na pohledu IsEyeGazeValid uživatele. IsEyeGazeValid

Příklady použití CoreServices.InputSystem.EyeGazeProvider

Tady je příklad ze souboru Follow ZamířenáGaze.cs:

  • Získejte bod hologramu, na který se uživatel dívá:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Zobrazení vizuálního assetu v pevné vzdálenosti od místa, kde se uživatel právě dívá:
// If no target is hit, show the object at a default distance along the gaze ray.
gameObject.transform.position =
CoreServices.InputSystem.EyeGazeProvider.GazeOrigin +
CoreServices.InputSystem.EyeGazeProvider.GazeDirection.normalized * defaultDistanceInMeters;

Viz také