콘솔 개발 가이드라인

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

200M+ Xbox 및 PlayStation 플레이어, 콘솔은 더 많은 사용자를 유치하는 주요 기회입니다. 일반 장치와 비교하여 컨트롤러 및 10피트 UI 경험의 특별한 가이드라인을 따라 콘솔에서 성공하는 경험을 도울 수 있습니다.

컨트롤러를 위한 디자인

콘솔 경험은 특수 디자인이 필요한 입력 컨트롤러를 통해 사용자로부터 명령을 수신합니다.

UI 간소화

다음을 사용하여 콘솔의 UI 디자인을 간소화하십시오.

  • 액세스 가능한 탐색 제어 : 네 가지 방향, 선택 및 뒤로포함한 기본 탐색, 사용자가 콘솔에서 콘텐츠에 쉽게 액세스할 수 있도록 합니다. 기본 탐색 컨트롤을 사용하여 모든 사용자가 쉽게 액세스할 수 있도록 하세요.

  • 기본 컨트롤러 탐색 : 사용자가 가상 커서를 활성화하도록 설정하면 사용자는 UI 메뉴에 액세스할 수 있지만, 모든 사용자가 프로세스를 익숙하지 않기 때문에 사용자가 가상 커서를 활성화하도록 요구하는 대신 컨트롤러 탐색을 기본 옵션으로 지원해야 합니다.

  • 최소 컨트롤러 입력 복잡성 : 타블 입력 메서드나 클릭 메서드와는 달리 콘솔 사용자는 한 번에 하나의 버튼을 누르기 때문에 동일한 작업이 다른 장치에서 추가 이동을 수행할 수 있습니다. 콘솔에서 키 작업만 수행하는 경우 이동 수가 추가 장치에서 수행되므로 액션이 추

  • 채팅 창 없음 : 기본 경험 내 텍스트 채팅 시스템을 사용하거나 레거시 채팅 시스템을 사용자 정의 채팅 시스템으로 포크하더라도 채팅 창 비활성화 대시 경험.

보충 제어 추가

모바일 및 데스크톱과는 달리 콘솔에서는 항상 순차적인 탐색이 가능하므로 사용자는 다른 장치에서 멀리 있는 요소 사이를 빠르게 이동할 수 없습니다. 탐색 속도를 향상하려면 필수 경험 작업에 대해 추가 버튼 및 바로가기를 추가하십시오.

동적 버튼 아이콘 적용

경험이 더 많은 플랫폼으로 확장함에 따라 다른 장치에 맞는 버튼 아이콘을 표시하세요. UserInputService 에는 이를 달성하는 두 가지 메서드가 있습니다.

  • UserInputService:GetStringForKeyCode() 는 US 쿼리 키 코드를 콘솔 키보드 레이아웃으로 변환할 수 있습니다. 이 는 경험의 모양과 느낌에 맞게 사용자 자산을 버튼 아이콘으로 표시하는 데 유용합니다. 다음 예시에서는 사용자 자산을 맵하는

    사용자 지정 자산 맵

    local UserInputService = game:GetService("UserInputService")
    local imageLabel = script.Parent
    local key = Enum.KeyCode.ButtonA
    local mappings = {
    ButtonA = "rbxasset://BUTTON_A_ASSET", -- 원하는 ButtonA 자산으로 대체
    ButtonCross = "rbxasset://BUTTON_CROSS_ASSET" -- 원하는 ButtonCross 자산으로 대체
    }
    local mappedKey = UserInputService:GetStringForKeyCode(key)
    local image = mappings[mappedKey]
    imageLabel.Image = image
  • UserInputService:GetImageForKeyCode()는 요청된 키 코드에 대해 Roblox 기본 아이콘을 쉽게 드롭인 교체 항목으로 표시합니다. 예를 들어, 다음 예에서 볼 수 있듯이 키 코드 지정 Enum.KeyCode.ButtonA 에 대해 맵하는 Class.UserInputService:GetImageForKeyCode()1> 는 다음과 같이 표시됩

    기본 아이콘 맵핑

    local UserInputService = game:GetService("UserInputService")
    local imageLabel = script.Parent
    local key = Enum.KeyCode.ButtonA
    local mappedIcon = UserInputService:GetImageForKeyCode(key)
    imageLabel.Image = mappedIcon

손끝 피드백 제공

컨트롤러의 특별한 이점 중 하나는 컨트롤러를 물리적으로 진동하여 사용자의 촉각 피드백을 제공하는 것입니다. 사용자의 촉각 피드백을 향상시키고 유용한 피드백을 제공하기 위해 HapticService를 사용할 수 있습니다. 촉각 피드백을 더 몰입감 있게 만들고 유용한 피드백

  • 폭발 또는 충돌과 같은 물리적으로 드라마틱한 이벤트.
  • 사용자의 관심을 필요로 하는 이벤트, 예를 들어 문 벨 링이나 새로운 고객이 둘러보다들어가는 경우.
  • 목록 끝에 스크롤하거나 비활성 버튼을 클릭하는 등의 UI 액션 알림.

HapticService 는 컨트롤러의 개별 모터를 통해 얼마나 자주 진동이 발생하는지 조정하고, 다른 목적에 대해 다른 진동을 설정하고, 피드백을 유지하기 위해 동작에 대해 일관성을 유지할 수 있습니다. 사용자가 피드백을 찾을 수 있을 수도 있으므로 케이스를

10ft 경험을 위해 빌드

콘솔에서 사용자는 일반적으로 10 피트 떨어져 있습니다. 1.5x 크기 조정 요소는 사용자가 편안하고 쉽게 탐색할 수 있도록 합니다. 또한 가독성이 높은 글꼴이 있습니다.

TV 안전 구역 고려

An example illustration showing the dimensions of the TV-safe and unsafe zone.
파란색 영역은 TV 안전하지 않은 영역을 나타냅니다.

기술적 한 제한 사항으로 인해 모든 TV에서 콘텐츠를 완전히 화면 모서리에 표시하지 못하므로 콘텐츠가 다양한 콘텐츠 시청자에게 표시되도록 TV에 안전한 영역에 UI 요소를 배치하십시오.

동적 크기 조정된 UI 구현

상대 크기 및 상대 위치를 사용하여 모든 것을 프레임의 백분율로 측정합니다. 모든 크기의 UI에 대해 크기 요소를 포함하세요.

  • 먼저 해상도가 낮은 솔루션을 개발합니다.
  • 상대 위치 및 UISizeConstraint를 사용하여 UI를 확장합니다.
  • Class.GuiService:IsTenFootInterface() 와 같은 출력 특성에 따라 크기 조정.
  • UI가 확장될 때 화면에 클러스터를 줄이려면 ScrollingFrame 를 구현합니다.

진행 상황 적용

진행 상황 표시는 사용자가 화면에 표시되는 것을 지연시킵니다. 이것은 사용자가 모든 화면에 액세스할 수 있도록 하는 가장 좋은 방법 중 하나입니다. 콘솔 UX에서 진행 상황 표시는 모든 화면에 액세스하는 대신 사용자가 화면에 표시되도록 하는 것이 좋습니다. �����

음향 피드백 제공

콘솔 상호 작용에서 사용자가 일반적으로 잠깐 또는 은밀한 손떨림 피드백을 기반으로 하는 대시보드 또는 모바일 인터페이스와 상호 작용하는 경우, 콘솔 상호 작용을 개선하기 위해 사운드 효과를 추가할 수 있습니다. 사용자가 컨트롤러를 사용하여 UI를 탐색할 때 사운드 효