UI 모범 사례
모바일에서 잘 작동하는 씬 UI를 디자인하기 위한 권장 사항과 금지 사항입니다.
Decentraland 모바일 UI에 대해 아직 검증된 단일 레시피는 없습니다 — 플랫폼은 새롭고 우리는 아직 반복 개선 중입니다. 이 페이지의 권장 사항은 실제 씬 작업에서 얻은 현재의 모범 사례를 추린 것입니다. 이를 출발점으로 삼고 실제 기기에서 테스트하세요.
권장 사항
모바일 전용 UI를 디자인하세요, 또는 화면 크기와 플랫폼에 따라 UI를 다르게 만드세요. 사용
isMobile()하여 분기하세요.옵션을 최소화하세요. 플레이어가 지금 당장 필요한 것만 보여 주고 나머지는 점진적으로 공개하세요.
실행 가능한 대화상자는 화면 중앙에 배치하세요 — 플레이어가 읽고 응답해야 하는 모든 곳에.
실행이 필요 없는 메시지는 상단 중앙에 배치하세요 — 상태, 알림, 주변 정보.
전체 화면 UI 뒤에 터치 컨트롤을 숨기세요. 점수판, 상점, 또는 결과 패널이 열려 있는 동안에는 플레이어가 점프하거나 E를 누를 필요가 없습니다. 참조: 액션 버튼 위에 전체 화면 UI.
금지 사항
가상 화면을 고려하지 않고 UI 요소 크기를 픽셀만으로 정하지 마세요. 픽셀 값은
virtualWidth/virtualHeight에 설명된 기준 해상도를 기준으로 스케일됩니다 화면 UI —1600x720모바일에서는 기본적으로,1920x1080데스크톱과 웹에서는. 픽셀 값이 어떤 기준 해상도를 기준으로 작성되었는지 파악하고, 기본값이 아니라면 명시적으로 전달한 뒤 플랫폼을 고려한 크기 조정과 함께 사용하세요. 가상 화면은 (크기를0)을 정말로 원시 캔버스 픽셀로 사용하고 싶을 때만 비활성화하세요.안전 영역 밖에 요소를 배치하지 마세요. 클라이언트의 컨트롤과 충돌합니다.
UI를 왼쪽 상단이나 왼쪽 가장자리에 고정하지 마세요. 그 위치에는 클라이언트가 채팅, 프로필, 가상 조이스틱을 모두 장면 UI 위에 그립니다. 대신 오른쪽이나 중앙에 고정하거나,
screenInset: 'interactable'. 참고: UI를 절대 좌측 상단에 고정하지 마세요.상호작용 요소를 오른쪽 아래 모서리에 두지 마세요. 그 영역 위에는 액션 버튼이 그려지므로 그곳을 탭하면 장면이 아니라 클라이언트의 버튼으로 전달됩니다.
작은 버튼에 의존하지 마세요. 작은 대상은 터치스크린에서 탭하기 어렵습니다.
키 동작을
IA_ACTION_3–IA_ACTION_6(데스크톱의1/2/3/4키보드의 키)에 연결하지 마세요. 모바일에서는 쉽게 닿기 어렵습니다. 참조: 모바일에서의 입력.
액션 버튼 위에 전체 화면 UI
screenInset: 'interactable' UI를 왼쪽 컨트롤과 겹치지 않게 하지만, 오른쪽 아래의 액션 버튼은 설계상 그 영역 위에 그려집니다. 그 영역을 채우는 패널도 여전히 그곳에서 가려지며, 그 구역을 탭하면 UI가 아니라 클라이언트 버튼이 실행됩니다.
다음의 경우 게임플레이 HUD 플레이어가 움직이는 동안에도 사용할 수 있어야 하므로 오른쪽 아래 모서리에서 벗어나게 두세요: 오른쪽 상단이나 상단 중앙에 고정하세요.
다음의 경우 게임플레이를 방해하는 UI, 예를 들어 점수판, 상점, 결과 화면 같은 경우, 열려 있는 동안 터치 컨트롤을 숨기고 닫을 때 복원하세요:
showAll() 게임패드 버튼만 복원하므로 다음과 함께 사용하세요 showJoystick(). 두 도우미는 데스크톱에서는 아무 작업도 하지 않으므로 플랫폼에 따라 분기할 필요가 없습니다. 참조: 화면 컨트롤 전체 컴포넌트는
패널이 열려 있는 동안 아바타도 이동을 멈춰야 한다면, 입력 수정자 를 추가로 적용하세요.
크기 조정
예전 경험칙 — 데스크톱에서 디자인한 다음 모바일용 UI 크기를 3배로 키우기 — 는 두 가지 SDK 변경 이전의 규칙이며 더 이상 맹목적으로 적용해서는 안 됩니다. 이제 그 3배 중 대부분은 자동으로 적용됩니다:
devicePixelRatioUI 레이아웃에 관여하지 않습니다. 픽셀 단위 UI는 이제 렌더링됩니다devicePixelRatio예전보다 더 크게 — 일반적으로 휴대폰에서는 2~3배, 리트나 노트북에서도 마찬가지입니다. 비활성화 옵션은 없습니다.가상 화면의 기본값은 플랫폼별로,
1600x720모바일에서는1920x1080데스크톱과 웹에서는, 따라서 동일한 픽셀 값이 휴대폰에서는 이미 화면의 약 1.2배 더 넓은 영역을 차지합니다.
데스크톱 크기를 그대로 시작점으로 삼고 실제 기기에서 측정하세요 — 참조: 모바일에서 미리보기 — 그리고 탭 대상이나 텍스트가 실제로 부족한 부분에서만 확대하세요. 다음으로 분기하세요 isMobile() 둘이 정말로 달라야 할 때만.
관련 항목
마지막 업데이트