Lignes directrices pour le développement de la console

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Avec plus de 200 M+ de joueurs Xbox et PlayStation, les consoles offrent une opportunité majeure pour vous d'attirer plus d'utilisateurs. Par rapport aux appareils réguliers, la conception pour les contrôleurs et l'expérience d'interface de 10 pieds spéciale que vous devez suivre pour aider votre expérience à réussir sur les consoles.

Conception pour les contrôleurs

Les expériences de console reçoivent des commandes des utilisateurs via les contrôleurs d'entrée, ce qui nécessite des designs spéciaux pour des interactions fluides.

Simplification de l'interface utilisateur

Appliquez les éléments suivants pour simplifier le design de l'interface utilisateur pour les consoles :

  • Accès à la navigation contrôlable : La navigation de base, y compris les quatre directions, selectionneret retour, contrôle la façon dont les utilisateurs se déplacent et interagissent avec votre contenu sur les consoles. Assurez-vous que les utilisateurs peuvent facilement accéder à tous les éléments de l'interface utilisateur en utilisant ces contrôles de navigation de base, afin qu'ils puissent facilement accéder à chaque partie interactive de votre expérience.

  • Navigation du contrôleur par défaut : Bien que les utilisateurs puissent accéder aux menus de l'interface utilisateur en activant le curseur virtuel, puisque tous les utilisateurs ne sont pas familiers avec le processus, vous devez prendre en charge la navigation du contrôleur de votre interface utilisateur par défaut au lieu de nécessiter l'activation du curseur virtuel.

  • Complication d'entrée du contrôleur minimum : contrairement aux méthodes d'entrée tactile ou cliquable, les utilisateurs de la console naviguent en appuyant sur un bouton à la fois, ce qui peut prendre des mouvements supplémentaires avec un manette. Assurez-vous que les actions clés dans votre expérience ne prennent que quelques mouvements pour accès.

  • Pas de fenêtre de discussion : Indépendamment de si vous utilisez le système de chat textuel par défaut dans l'expérience ou si vous faites pivoter le système de chat par défaut comme votre système de chat personnalisé, désactivez la fenêtre de discussion pour les expériences de console.

Ajouter un contrôle supplémentaire

Contrairement aux mobiles et aux bureaucratiques, la navigation est toujours séquentielle sur les consoles, afin que les utilisateurs puissent passer entre les éléments lointains aussi rapidement que sur d'autres appareils. Pour améliorer la vitesse de la navigation, envisagez d'ajouter des boutons et des raccourcis supplémentaires pour les actions essentielles dans l'expérience.

Accommodation des icônes de bouton dynamiques

À mesure que votre expérience s'étend sur plus de plates-formes, assurez-vous de montrer des icônes de bouton qui correspondent à différents appareils. UserInputService a deux méthodes disponibles pour le faire :

  • UserInputService:GetStringForKeyCode() peut convertir les codes de clé de requête des États-Unis en mises à jour de clavier. Il est utile de montrer vos ressources personnalisées en tant que boutons de clavier pour correspondre à l'apparence et à la sensibilité de votre expérience. L'exemple suivant montre comment vous pouvez convertir les ressources personnalisées pour Enum.KeyCode.ButtonA :

    Mettre à jour les ressources personnalisées

    local UserInputService = game:GetService("UserInputService")
    local imageLabel = script.Parent
    local key = Enum.KeyCode.ButtonA
    local mappings = {
    ButtonA = "rbxasset://BUTTON_A_ASSET", -- Remplacer par la ressource de bouton souhaitée
    ButtonCross = "rbxasset://BUTTON_CROSS_ASSET" -- Remplacer par la contenude bouton souhaitée
    }
    local mappedKey = UserInputService:GetStringForKeyCode(key)
    local image = mappings[mappedKey]
    imageLabel.Image = image
  • UserInputService:GetImageForKeyCode() renvoie les icônes par défaut de Roblox pour le code de requête comme des remplacements faciles à déposer, comme l'exemple suivant pour la mise en relation de Enum.KeyCode.ButtonA montre:

    Mettre à jour les icônes par défaut

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

Fournir des commentaires haptiques

L'un des avantages des contrôleurs est la capacité de fournir des commentaires haptiques en vibrant physiquement le contrôleur pour engager l'感應 пользователя. Vous pouvez utiliser HapticService pour améliorer l'immersion de l'utilisateur et fournir des commentaires utiles. Des exemples qui peuvent être plus immersifs avec les commentaires haptiques incluent :

  • Des événements physiquement dramatiques, tels que des explosions ou des collisions.
  • Événements qui nécessitent l'attention de l'utilisateur, tels qu'un anneau de clochet ou un nouveau client qui entre dans la boutique.
  • Notifications d'action de l'interface utilisateur, telles que le défilement jusqu'à la fin d'une liste ou le clic sur un bouton désactivé.

HapticService vous permet également de contrôler les moteurs individuels dans un contrôleur pour définir l'intensité et la durée des vibrations individuellement, afin que vous puissiez définir différentes vibrations pour différents buts et maintenir la cohérence avec laquelle les actions déclenchent les commentaires. Concevez soigneusement les haptiques et évitez les abus, car les utilisateurs peuvent trouver des vibrations constantes et dérangeantes.

Construction pour l'expérience de 10 pieds

Lorsque vous êtes sur les consoles, les utilisateurs sont généralement assis à 10 pieds de l'écran. Un facteur de mise à l'échelle de 1,5x garantit que l'interface est confortable, facile à naviguer et avec des polices lisibles.

Considération de la zone de sécurité de la télévision

An example illustration showing the dimensions of the TV-safe and unsafe zone.
La zone bleue représente la zone TV-insécurisée.

Puisque tous les télés ne montrent pas de contenu entièrement aux bords de l'écran en raison de limites historiques et techniques, mettez des éléments d'interface dans des zones de sécurité TV pour vous assurer que les éléments d'expérience importants sont visibles sur différents télés.

Mise en œuvre de l'interface utilisateur dynamiquement de taille

Utilisez les tailles et les positions relative pour implémenter votre interface utilisateur pour mesurer tout comme des pourcentages d'un cadre. Incorporer un facteur de mise à l'échelle à tous les tailles d'interface utilisateur par :

  • Développement pour les résolutions inférieures d'abord.
  • Utiliser des positions relative et UISizeConstraint pour redimensionner l'interface.
  • Redimensionnement basé sur les caractéristiques de sortie avec GuiService:IsTenFootInterface() .
  • Mise en œuvre de ScrollingFrame pour réduire le clutter sur l'écran au fur et à mesure que l'interface utilisateur s'échelle.

Adaptation de la divulgation progressive

La divulération progressive retarde les fonctionnalités avancées ou rarement utilisées sur un écran secondaire. C'est l'une des meilleures façons de décharger votre interface utilisateur et de la rendre facile à utiliser. Pour l'interface utilisateur de bureau, il est commun et plus rapide que l'utilisateur entre et sort des écrans plutôt que de tout mettre sur un écran comme la conception pour les ordinateurs de bureau.

Fournir un retour sonore

Contrairement aux interfaces de bureau ou mobiles, sur lesquelles les interactions sont généralement silencieuses ou reposent sur des commentaireshaptiques subtils, vous pouvez ajouter des effets sonores pour améliorer les interactions de console. Lorsque les utilisateurs naviguent à travers l'interface en utilisant un manette, considérez l'ajout d'effets sonores pour confirmer les sélections ou la navigation dans le menu, ce qui peut élever l'expérience globale.