Partager via


La fabrication de Kippy’s Escape

Image de héros de Kippy’s Escape

Kippy le robot se réveille pour se retrouver bloqué sur une île. C’est à vous de mettre votre chapeau de résolution de problèmes pour l’aider à retrouver le chemin de son vaisseau-fusée ! Attachez votre HoloLens 2 et téléchargez l’application à partir du Microsoft Store ou clonez le dépôt à partir de GitHub et obtenez Kippy home safe !

Importante

Vérifiez que vous utilisez Unreal Engine version 4.25 ou ultérieure si vous créez l’échappement de Kippy à partir du dépôt GitHub.

Kippy’s Escape est un exemple d’application HoloLens 2 open source créé avec Unreal Engine 4 et Mixed Reality UX Tools pour Unreal. Dans ce billet, nous allons vous guider tout au long de notre processus, des premiers principes et de la conception visuelle à l’implémentation et à l’optimisation de l’expérience. Vous trouverez plus d’informations sur le développement d’applications Mixed Reality avec les outils d’expérience utilisateur MRTK dans la vue d’ensemble du développement Unreal.

Télécharger l’application à partir du Microsoft Store dans HoloLens 2

Si vous avez HoloLens 2 appareil, vous pouvez télécharger et installer directement l’application sur votre appareil.

Badge anglais

Premiers principes

Lors de la création de Kippy’s Escape, notre objectif était de créer une expérience qui mettra en évidence la prise en charge des HoloLens 2 de Unreal Engine, les fonctionnalités de l’HoloLens 2 et le kit de ressources Mixed Reality. Nous voulions inspirer les développeurs à imaginer ce qu’ils pouvaient créer avec Unreal et HoloLens 2.

Nous avons trouvé trois principes directeurs pour l’expérience : qu’elle devait être amusante, interactive et avoir un faible obstacle à l’entrée. Nous voulions que l’expérience soit suffisamment intuitive pour que même un utilisateur de réalité mixte pour la première fois n’ait pas besoin d’un tutoriel pour la suivre.

Conception du jeu

Le HoloLens 2 a accès aux fonctionnalités de conception que l’on ne trouve nulle part ailleurs dans le jeu aujourd’hui. Les objets peuvent être directement poussés ou manipulés à l’aide de vos mains ou ciblés avec le suivi oculaire. Ces caractéristiques clés sont à l’origine de certains des moments amusants que nous avons créés dans Kippy’s Escape.

En utilisant les fonctionnalités de HoloLens 2 uniques comme conseils pour la conception de notre jeu, nous avons étendu quelques petits scénarios d’environnement. Les îles ont du sens parce qu’elles peuvent être ajustées pour différentes hauteurs de joueur, et ont fourni quelques idées de pont divertissantes. Nous avons atterri sur le thème de la civilisation antique rencontre la technologie de science-fiction, avec l’idée que quelqu’un avait construit des machines sur des ruines exploitant une énergie étrange fournie par chaque île. Les îles ont chacune reçu leur propre apparence, un détail qui a contribué à créer un intérêt visuel. Un bon équilibre entre la modélisation et la texturation permettrait de limiter les appels de dessin pour les performances de rendu, de sorte qu’un aspect stylisé a été conçu dans cette optique.

Premières ébauches de conception de jeu Quelques croquis précoces pour ce à quoi l’expérience pourrait ressembler

Rendu de la deuxième île Rendu de la deuxième île

Pour rester dans notre calendrier de production court, nous avons convenu qu’un personnage flottant pouvait capturer l’intention et l’émotion sans cycles d’animation rigoureux. Kippy est né ! Il émote quelques expressions différentes à travers ses yeux et à travers des effets sonores vocaux minimalistes pour aider à guider le joueur tout au long de l’expérience.

Kippy montrant différentes expressions via ses yeux

Kippy montrant différentes expressions via ses yeux

Si l’utilisateur met trop de temps à résoudre un puzzle, Kippy lui donne un conseil

Si l’utilisateur met trop de temps à résoudre un puzzle, Kippy lui donne un conseil

Au-delà de la conception du personnage et de l’environnement, nous avons fait un effort commun pour que le jeu se sente amusant. Le suivi oculaire nous a permis de déclencher des attributs matériels et sonores, qui ont mis en évidence des éléments clés du jeu. L’audio spatial a contribué à faire en sorte que les niveaux se sentent à l’aise dans l’environnement du joueur. La possibilité de saisir des objets, de pousser des boutons et de manipuler des curseurs favorise l’engagement des joueurs innovants. Il était important de s’assurer que ces points de connexion étaient naturels.

L’extrémité du câble du pont s’allume lorsque la main de l’utilisateur s’approche de celle-ci

L’extrémité du câble du pont s’allume lorsque la main de l’utilisateur s’approche de celle-ci

Création des mécanismes de jeu

Kippy’s Escape s’appuie fortement sur Mixed Reality composants UX Tools pour rendre le jeu interactif, à savoir les acteurs d’interaction manuelle, les contrôles de limites, les manipulateurs, les curseurs et les boutons.

L’acteur d’interaction manuelle permet une manipulation directe et lointaine des hologrammes. Au début de Kippy’s Escape, l’utilisateur a la possibilité de définir l’emplacement du jeu. Les faisceaux de main qui s’étendent de la paume de l’utilisateur facilitent la manipulation de grands hologrammes éloignés, comme illustré dans l’image gif ci-dessous.

Gif d’acteur d’interaction manuelle

La scène d’espace réservé elle-même peut être déplacée et pivotée à l’aide du composant de contrôle limites d’UX Tools.

Sur la deuxième île, l’utilisateur doit récupérer les gemmes et les placer dans leurs emplacements correspondants. Les gemmes ont des manipulateurs attachés à eux qui permettent à l’utilisateur de les ramasser et de les placer vers le bas.

Exemple de manipulation gif

Un bouton appuyable est la clé pour faire remonter des bombes à utiliser sur la troisième île.

Exemple gif de bouton appuyable

Un composant de curseur apparaît sur la quatrième île, déclenchant le déclenchement du pont final.

Exemple de composant de curseur gif

Optimisation de la HoloLens 2

Avec toute expérience conçue pour s’exécuter sur un appareil mobile, il est essentiel de garder un œil sur les performances. Unreal 4.25 inclut une mise à jour majeure pour prendre en charge la multi-vue mobile, ce qui réduit considérablement la surcharge de rendu et augmente la fréquence d’images. Nous vous recommandons de consulter nos autres paramètres de performances recommandés pour HoloLens 2 développement avec Unreal lorsque vous optimisez.

Les objets physiques restent toujours coûteux pour les performances, donc quelques solutions de contournement astucieuses ont été utilisées. Pour instance, le troisième « pont » nécessite de faire sauter des débris bloquant l’escalier. Au lieu d’avoir une force impactant les pierres en tant qu’objets physiques, la détonation de bombe déclenche un échange, ce qui change les pierres statiques pour un effet de particules qui explose.

Exemple optimisé pour HoloLens 2 gif

Nous avons également réduit nos appels de tirage de plus de 400 à ~260 en :

  • Réduction de la complexité du maillage
  • Combinaison de maillages
  • Suppression de certains de nos éléments d’éclairage dynamique initiaux

Bien que nous ayons probablement pu faire plus, nous avons estimé qu’il s’agissait d’un bon équilibre entre les performances et la qualité visuelle.

Essayez !

Démarrez votre HoloLens 2 et téléchargez l’application à partir du Microsoft Store, ou clonez le dépôt à partir de GitHub et générez l’application vous-même !

À propos de l’équipe

Photo de Jack Caron Jack Caron
Lead Game Designer
Jack travaille actuellement sur des expériences Mixed Reality pour Microsoft, y compris HoloLens 2 projets, et était auparavant concepteur dans l’équipe de la plateforme HoloLens.
Image de Wu d’été Wu d’été
Producteur
Summer travaille sur la plateforme de développement de réalité mixte et dirige les efforts Unreal Engine de l’équipe.

Un grand merci à nos amis de Framestore pour nous avoir aidés à donner vie à Kippy’s Escape. Du développement de personnages à la conception d’actifs, en passant par la programmation de jeux, leur collaboration sur ce projet a été essentielle.