헤드-Unity에서의 응시Head-gaze in Unity

Holograms 는 사용자가 혼합 현실에서 만든 앱을 대상으로 하는 기본 방법입니다.Gaze is the primary way for users to target holograms your app creates in Mixed Reality.

헤드-응시 구현Implementing head-gaze

개념적으로 사용자의 헤드셋에서 광선을 전달 하 여 헤드 를 확인 합니다.Conceptually, you determine head-gaze by projecting a ray forward from the user's headset to see what it hits. Unity에서 사용자의 헤드 위치와 방향은 카메라 (구체적으로는 안 됨)를 통해 노출 됩니다. transform. forwardUnityengine. Camera. main. transform. position.In Unity, the user's head position and direction are exposed through the Camera, specifically UnityEngine.Camera.main.transform.forward and UnityEngine.Camera.main.transform.position.

GameObject 를 호출 하면 3d 충돌 지점을 비롯 한 충돌에 대 한 정보를 포함 하는 Raycasthit 및 헤드-응시 빛의 기타 제공 됩니다.Calling Physics.RayCast gives you a RaycastHit containing information about the collision, including the 3D collision point and the other GameObject the head-gaze ray hit.

예: 헤드-응시 구현Example: Implement head-gaze

void Update()
{
       RaycastHit hitInfo;
       if (Physics.Raycast(
               Camera.main.transform.position,
               Camera.main.transform.forward,
               out hitInfo,
               20.0f,
               Physics.DefaultRaycastLayers))
       {
           // If the Raycast has succeeded and hit a hologram
           // hitInfo's point represents the position being gazed at
           // hitInfo's collider GameObject represents the hologram being gazed at
       }
}

최선의 구현 방법Best practices

위의 예제에서는 업데이트 루프에서 단일 raycast를 실행 하 여 사용자의 헤드가 가리키는 대상을 찾는 반면 단일 개체를 사용 하 여 모든 헤드-응시 프로세스를 관리 하는 것이 좋습니다.While the example above fires a single raycast from the update loop to find the target the user's head points at, we recommended using a single object to manage all head-gaze processes. 헤드-응시 논리를 결합 하 여 앱의 귀중 한 처리 능력을 절약 하 고, raycasting를 프레임당 하나로 제한 합니다.Combining your head-gaze logic will save your app precious processing power and limit your raycasting to one per frame.

헤드 시각화-응시Visualizing head-gaze

컴퓨터에서 마우스 포인터를 사용 하는 것과 마찬가지로 사용자의 헤드를 나타내는 커서 를 구현 해야 합니다.Just like with a mouse pointer on a computer, you should implement a cursor that represents the user's head-gaze. 사용자가 대상으로 하는 콘텐츠를 알면 상호 작용할 대상이 높아집니다.Knowing what content a user is targeting increases confidence in what they're about to interact with.

Head-Mixed Reality Toolkit의 Head-응시Head-gaze in the Mixed Reality Toolkit

MRTK의 입력 관리자 에서 헤드-응시에 액세스할 수 있습니다.You can access head-gaze from the Input Manager in MRTK.

다음 개발 검사점Next Development Checkpoint

앞서 소개한 Unity 개발 경험을 팔로 사용할 경우 MRTK 핵심 빌딩 블록을 탐색 하는 것이 좋습니다.If you're following the Unity development journey we've laid out, you're in the midst of exploring the MRTK core building blocks. 여기에서 다음 구성 요소로 진행할 수 있습니다.From here, you can continue to the next building block:

또는 Mixed Reality 플랫폼 기능 및 API로 이동합니다.Or jump to Mixed Reality platform capabilities and APIs:

언제든지 Unity 개발 검사점으로 돌아갈 수 있습니다.You can always go back to the Unity development checkpoints at any time.

참고 항목See also