控制台開發指南

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

擁有 200M+ 名 Xbox 和 PlayStation 玩家的遊戲主機,為您帶來了吸引更多用戶的重大機會。與普通裝置相比,為控制器和遊戲主機的 10 英尺 UI 體驗設計有一些特殊指引,您需要遵循以幫助您的體驗在遊戲主機上成功。

為控制器設計

控制台體驗會從輸入控制器接收來自使用者的指令,這需要特殊設計以實現順暢的互動。

簡化介面

應用以下內容,簡化控制台的 UI 設計:

  • 可輔助瀏覽控制 : 基線瀏覽,包括四個方向,選擇和返回,用於控制使用者在控制台上瀏覽和與您的內容互動。確保使用者使用這些基本導航控件可以輕鬆存取您體驗的每個互動部分。

  • 預設控制器導航 :雖然使用者可以通過啟用虛擬指標來存取介面選單,但由於不是所有使用者都熟悉過程,因此您需要支持您的介面導航作為預設選項,而不是需要使用者啟用虛擬指標。

  • 最小控制器輸入複雜度 :與點擊或點擊輸入方法不同,控制台用戶按一次按鈕瀏覽,因此在其他設備上執行一次動作可能需要額外動作,以控制器。請確保體驗中的關鍵操作只需幾次移動即可使用權 通行權 存取。

  • 沒有聊天窗口 : 無論您使用預設在體驗中的文字聊天系統或分岔舊的聊天系統作為自定义聊天系統,禁用聊天窗口 對於控制台體驗。

添加額外控制

與手機和桌面不同,在控制台上的導航總是順序排列,因此用戶無法像在其他設備上一樣快速跳轉到遠處的元素。為了提高導航速度,請考慮添加額外按鈕和簡捷方式來執行必要的經驗操作。

容納動態按鈕圖示

隨著您的體驗擴展到更多平台,請務必顯示與不同裝置相對應的按鈕圖示。UserInputService有兩個可用的方法可以實現這一目標:

  • UserInputService:GetStringForKeyCode() 可將美國查詢鍵代轉換為控制台鍵盤布局。它有助於將自訂資產顯示為按鈕圖示,與您的體驗外觀和感覺相匹配。下面的例子顯示了您如何為 Enum.KeyCode.ButtonA 映射自定義資產:

    映射自訂資產

    local UserInputService = game:GetService("UserInputService")
    local imageLabel = script.Parent
    local key = Enum.KeyCode.ButtonA
    local mappings = {
    ButtonA = "rbxasset://BUTTON_A_ASSET", -- 替換為所需的按鈕A素材
    ButtonCross = "rbxasset://BUTTON_CROSS_ASSET" -- 替換為所需的 ButtonCross 素材
    }
    local mappedKey = UserInputService:GetStringForKeyCode(key)
    local image = mappings[mappedKey]
    imageLabel.Image = image
  • 返回 Roblox 預設圖示為要求的鑰匙代碼作為易於插入的替代品,如下示例所示:

    映射預設圖示

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

提供觸覺反回饋

控制器的一個獨特優勢是能夠通過物理振動控制器來提供觸感反饋,以吸引使用者的觸感。您可以使用 HapticService 來提升使用者沉浸度並提供有用的反回饋。使用醫療反饋可能更沉浸的範例包括:

  • 物理上激烈的事件,例如爆炸或碰撞。
  • 需要使用者注意的事件,例如門鈴響或新客戶進入商購物。
  • 使用者介面行動通知,例如滾動到列表末端或點擊已停用的按鈕。

HapticService 也允許您在控制器中控制個別馬達來獨立設置振動強度和時間,因此您可以為不同用途設置不同的振動並保持行動觸發反回饋的一致性。仔細設計震動,避免過度使用,因為使用者可能會認為持續震動不愉快和煩人。

為 10 英尺體驗建造

當使用控制台時,使用者通常坐在屏幕 10 英尺遠。1.5x的比例因子確保UI舒適、易於導覽,並擁有可讀的字體。

考慮電視安全區

An example illustration showing the dimensions of the TV-safe and unsafe zone.
藍色區域代表電視安全區域。

由於歷史和技術限制,不是所有電視都會完全顯示在屏幕邊緣上的內容,因此將使用者介面元素放置在電視安全區域中,以確保重要體驗元素在各種電視上都可見。

實現動態縮放的介面

使用相對尺寸和相對位置來實裝您的介面以測量所有內容為框架的百分比。透過以下方式將比例因子融入所有 UI 尺寸:

適應進度披露

進度披露將先進或罕使用的功能延遲到次要螢幕。這是清理您的介面最好的方法之一,使其易於使用。對於控制台UX,更常見且更快速地讓使用者進出屏幕,而不是將所有內容放置在一個屏幕上,像設計筆記型電腦一樣。

提供聲音反回饋

與桌面或手機介面不同,通常在這些介面上的互動是沉默的或依靠微妙的觸覺反回饋,您可以添加聲音效果來改善控制台互動。當使用控制器導航通過介面時,請考慮將聲音效果納入,以確認選擇或訊號選擇路徑,這可能會提升整體體驗。