Unity의 헤드 응시

응시는 사용자가 앱이 Mixed Reality만드는 홀로그램을 대상으로 지정하는 기본 방법입니다.

헤드 응시 구현

개념적으로 사용자의 헤드셋에서 광선을 앞으로 프로젝팅하여 헤드 게이즈(head-gaze)를 결정하여 적중되는 것을 확인합니다. Unity에서 사용자의 머리 위치와 방향은 카메라,특히 UnityEngine.Camera.main 을통해 노출됩니다. transform.forwardUnityEngine.Camera.main. transform.position.

Physics.RayCast를 호출하면 3D 충돌 지점 및 헤드 응시 광선 적중을 포함한 다른 GameObject를 포함하여 충돌에 대한 정보가 포함된 RaycastHit가 있습니다.

예제: 헤드 응시 구현

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
       }
}

모범 사례

위의 예제에서는 업데이트 루프에서 단일 광선 캐스팅을 발생하여 사용자의 헤드포인트가 가리키는 대상을 찾는 동안 단일 개체를 사용하여 모든 헤드 응시 프로세스를 관리하는 것이 좋습니다. 헤드 게이즈 논리를 결합하면 앱의 처리 능력이 절약되고 광선 캐스팅이 프레임당 하나로 제한됩니다.

머리 응시 시각화

컴퓨터의 마우스 포인터와 마찬가지로 사용자의 머리 응시를 나타내는 커서를 구현해야 합니다. 사용자가 대상으로 하는 콘텐츠를 알면 상호 작용하려는 내용에 대한 신뢰도가 높아질 수 있습니다.

Mixed Reality Toolkit 머리 응시

MRTK의 입력 관리자에서 헤드 응시에 액세스할 수 있습니다.

다음 개발 검사점

앞에서 설명한 Unity 개발 여정을 따라가는 경우 MRTK 핵심 구성 요소에 대해 알아보세요. 여기에서 다음 구성 요소로 진행할 수 있습니다.

또는 Mixed Reality 플랫폼 기능 및 API로 이동합니다.

언제든지 Unity 개발 검사점으로 돌아갈 수 있습니다.

참고 항목