근거리 메뉴 - MRTK3
근거리 메뉴는 조작 및 이동할 수 있고 사용자를 따를 수 있는 UI 요소 그룹에 대한 일반적인 패턴입니다. 사용자와 느슨하게 결합되어 있으므로 대상 콘텐츠와의 사용자 상호 작용을 방해하지 않습니다. 사용자는 ‘고정’ 단추를 사용하여 메뉴 전체를 잠금/잠금 해제할 수 있습니다. 메뉴를 잡아서 월드의 특정 위치에 배치할 수 있습니다.
상호 작용 동작
- 태그얼롱: 이 메뉴는 사용자를 따라다니며 근거리 상호 작용을 위해 사용자의 30~60cm 범위 내에 유지됩니다.
- 고정: '핀' 단추를 사용하여 메뉴의 방향을 잠그고 잠금을 해제할 수 있습니다.
- 잡아서 이동: 이 메뉴는 항상 잡아서 이동할 수 있습니다. 이전 상태와 관계없이 메뉴를 잡았다가 놓으면 메뉴가 고정(월드 잠금)됩니다.
장면 및 프리팹 예제
NearMenuExamples.unity 장면은 근거리 메뉴 구성 예제의 다양한 크기를 보여 줍니다. 메뉴 예제를 프리팹으로 찾을 수 있습니다.
구조체
근거리 메뉴 프리팹은 다음 MRTK 구성 요소를 사용하여 만들어집니다.
- PressableButton_32x32mm 프리팹
- 개체 모음: 그리드의 여러 단추 레이아웃
- 개체 조작자: 메뉴 잡기 및 이동
- 방사형 뷰 솔버: 팔로우 미(태그얼롱) 동작
스크립트
태그얼롱 동작은 RadialView 솔버 스크립트를 사용하여 수행됩니다.
- Lerp 시간 이동 및 회전은 지연된 부드러운 이동을 위해 0.5로 설정되어 편안한 가죽 끈 환경을 만듭니다.
- 고정 세로 위치 사용은 사용자의 헤드셋 아래 35cm에 메뉴를 배치하여 사용자가 대상 콘텐츠에 집중할 수 있도록 합니다.
- 최소 및 최대 거리는 편안한 근거리 상호 작용을 위해 사용자로부터 30~60cm 사이에 메뉴를 배치합니다.
사용자가 조작 막대를 잡으면 고정 단추의 ForceSetToggled가 트리거되어 RadialView를 전환합니다. 이렇게 하면 메뉴의 다음 동작이 시작/중지됩니다.