Construire la maison

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

Il a fallu de nombreuses itérations et des tests rapides au début du processus pour rendre la maison à la fois amusante et effrayante, facile à explorer et quelque chose dans lequel vous voulez vous perdre.Nous allons vous montrer comment nous avons réfléchi à l'espace et l'avons construit en utilisant packages pour rendre la mise à jour des chaises individuelles et des salles entières plus rapide à la terminer.

Commencez par un plan 2D

Puisque la maison est à la fois la majorité de la zone jouable et un personnage entier en soi, nous voulions réfléchir beaucoup à la façon de nous assurer qu'elle restait à la fois réelle et amusante.Nous avons commencé avec l'idée que la maison devrait contenir plusieurs blagues visuelles et audio, des connaissances, et des salles de puzzle corrompues, et nous voulions que les joueurs approchent initialement la maison avec peu de connaissances de ce qui se passait, apprenant ce qui est arrivé à la maison et à la famille qui y a vécu alors qu'ils jouaient.

Pour équilibrer tous ces éléments importants, nous avons commencé à imaginer l'environnement 3D avec un plan 2D ! En commençant par déterminer les rythmes d'histoire généraux ou les moments clés , ou en pensant à la façon dont le joueur devrait expérience, nous avons dessiné un plan de l'espace et réfléchi à la façon dont nous guiderions le joueur là où nous le voulions tout en maintenant un environnement qui se sentait plus grand que la vie.

Une ébauche précoce de ce à quoi devrait ressembler la zone de jeu et l'environnement environnant.

Une fois que nous avions notre premier brouillon du plan global, nous avons utilisé terrain pour définir rapidement les collines environnantes, le lac, la route et l'allée jusqu'à la maison.Nous n'avons pas pris la peine de la qualité visuelle de la démonstration à ce stade, mais nous nous sommes plutôt concentrés sur le temps qu'il fallait pour se rendre à la maison et ce qu'il faudrait pour donner au joueur des aperçus de la maison et de l'événement dans le ciel.

Premier concept de la façon dont nous voulions que le joueur approche la maison.Pour inciter les joueurs à vouloir examiner de plus près la maison, nous avons utilisé des arbres pour obscurcir leur vue tout en donnant encore des aperçus de la maison et de l'événement dans le ciel.

En utilisant à la fois des parties simples ainsi que des ressources de la boutique des créateurs , nous avons pu ajouter rapidement du contenu qui nous aiderait à composer l'environnement, y compris :

  • Faire bifurquer la route afin que les joueurs ne puissent pas voir tout le long de sa longueur.
  • Ajouter des arbres avec des zones plus denses où nous voulions préciser que le joueur ne pouvait pas y accès, ainsi que des zones plus fines où nous voulions les inciter à explorer.
  • Élever le chemin d'accès de la maison afin que lorsque les joueurs s'approchent, ils doivent escalader. Cela a donné à la maison une présence plus intimidante.
  • Positionner l'événement géant derrière la tempête dans le ciel afin que les joueurs puissent voir des parties, mais pas la totalité, jusqu'à ce qu'ils approchent la maison elle-même.
  • Placer et déterminer la forme générale de la maison avec laquelle nous nous sommes finalement installés.

Aucune quantité d'expérience ne garantit que vos premières idées sont les meilleures.C'est pourquoi nous avons rapidement mis des ressources dans Studio et utilisé des ressources simples et des ressources de la boutique des créateurs pour remplir l'environnement avec des ressources temporaires.Cela nous a permis de ne pas tout faire en amont, et nous avons pu commencer à tester le jeu dans les premiers jours.

Première version utilisant des parties simples et la boutique des créateurs.

Bien que nous voulions finalement remplacer les ressources temporaires par nos posséderressources, la seule chose dont nous nous souciaions au début était de définir les bases et de jouer à l'expérience pour nous assurer que l'environnement était amusant à explorer et n'était pas trop grand ou trop difficile à manier, afin d'encourager les joueurs à explorer.

Première prise de vue de l'approche du chemin d'accès.

Planifiez chaque pièce

L'extérieur ne devait être qu'un aperçu de l'histoire globale pour immerger le joueur et le familiariser avec le monde dans lequel il jouait.Le personnage principal était la maison elle-même, et nous voulions que les joueurs passent la plupart de leur jeu à l'intérieur pour plomber des secrets et trouver des surprises dans chaque pièce.Pour ce faire, nous devions déterminer quelles pièces la maison devrait inclure, quand nous voulions que les joueurs se heurtent à elles, et où elles devraient exister à l'intérieur de la maison.Nous avons dessiné un plan 2D de la maison, et l'équipe a rebondi sur des idées de choses cool qui pourraient se produire.Aucune idée n'a été ignorée à ce stade.

Premier plan 2D avec des descriptions des événements effrayants que nous voulions que se produisent dans chaque pièce.

Nous avons utilisé des boîtes 2D de chaque pièce pour déterminer comment nous voulions les organiser les unes avec les autres.Chaque pièce devrait être une occasion de faire quelque chose, et nous avons jeté autour de beaucoup d'idées, y compris les principales utilisations de chaque pièce, les blagues effrayantes que nous pourrions utiliser pour surprendre le joueur, et les puzzles potentiels qu'ils pourraient affronter.

Chaque pièce devait travailler ensemble, et nous voulions raconter l'histoire lentement et progressivement.Nous savions que nous ne pouvions pas contrôler où quelqu'un allait en premier, alors nous avons prévu que certains des puzzles les plus difficiles seraient plus loin de la porte principale et plus difficiles à trouver.Cela signifiait ajouter quelques étages à la maison, y compris un grenier et un sous-sol pour des raisons de jeu et thématiques.Dernier puzzle dans un sous-sol qui a l'air diabolique et effrayant ? Inscrivez-nous !

Construire un plan 3D

Toute la planification et les idées précoces du monde ne font pas une expérience amusante, il était donc temps de commencer à rendre l'idée 3D ! Le plan extérieur était bloqué et nous avons fait de la place pour que la maison soit étendue ou contractée.Les premières itérations ont été réalisées dans une autre application 3D où nous pouvions faire des boîtes et des formes simples pour commencer à transformer cette image 2D en espace jouable.Vous pouvez trouver que la construction des premières versions dans Studio et l'utilisation de pièces simples est votre méthode préférée.Il n'y a pas de mauvaise façon, tant que vous obtenez vos idées en 3D et les jouez rapidement !

Vue en haut de la mise en page. Vous remarquerez qu'elle est retournée du concept.
Les mailles grises sont des mailles simples que vous pouvez utiliser pour commencer à faire de l'espace en 3D.

Rien ne devient plus facile au fur et à mesure que le travail devient plus complexe, il était donc important pour nous d'expérimenter souvent et de découvrir la structure de l'environnement que nous voulions créer.Les premières itérations de la maison étaient aussi simples que les images que vous voyez ci-dessus, et les formes simples nous ont permis d'être aussi flexibles que possible et de faire rapidement des modifications des tailles des pièces pendant que nous jouions à la démo.L'échelle était également importante au début, donc nous avons toujours construit avec un avatar à la fois dans notre application 3D et à l'intérieur de Studio pour que nous puissions savoir à quelle taille une porte devrait être ou à quelle hauteur les pas devraient être.

Nous voulions que des personnages réalistes et des blocs se sentent naturels à l'échelle de l'extérieur de la maison.
>

Lorsqu'ils étaient à l'intérieur de la maison, nous voulions que tout soit spacieux, mais pas absurdement grand !
>

Nous avons traversé de nombreuses itérations petites et grandes pour nous fixer sur ce que nous avons dans la démo finale.Comparez les premiers brouillons ci-dessus avec une version beaucoup plus tardive du foyer, et vous verrez que de nombreuses des décisions originales que nous avons prises après avoir traversé la maison ont pu rester !

Itération ultérieure du plan de la maison. La plupart du plan sont restés les mêmes que la boîte grise initiale !

Meubles et accessoires

Nous avions besoin de beaucoup de meubles et d'accessoires pour remplir une maison de cette taille, alors avant de commencer à remplir la boîte grise de son contenu, nous avons fait un document pour suivre tout ce que nous pouvions utiliser qui compléterait le type de pièce et les puzzles auxquels nous étions en train de créer.En ramenant tous nos pensées dans un seul endroit, nous pourrions organiser, prioriser et voir où nous pourrions réutiliser le contenu dans différentes pièces.Bien que ce soit une quantité raisonnable de planification à l'avance, cela nous a sauvés de la production de contenu insuffisant ou de trop d'éléments inutiles.

Cette liste nous a donné une bonne compréhension de ce qui devait prendre la priorité lorsque le boxage gris éliminait le contenu et le remplissait dans toute la maison.En ajoutant du contenu prioritaire élevé tôt, nous pouvions facilement voir quand les ressources étaient répétitives, avaient des proportions incorrectes ou quand elles auraient besoin d'une deuxième variation ou d'un échange de texture lorsqu'elles se trouvaient dans certaines pièces.Certains contenus que nous avons bloqués en amont n'ont pas fini par être importants pour l'expérience et ont été supprimés, mais nous n'avons pas perdu beaucoup de travail dans le processus puisqu'il s'agissait de blocages rapides.Pour tous les meubles et accessoires que nous avons gardés, nous les avons transformés en packages dans leur phase de blocage, ce qui nous a facilité la tâche de remplacer tout dans la maison avec leurs versions finales.

Versions en boîte grises prématurées.
>

Versions finales du contenu.
>

En raison de la quantité énorme de ressources nécessaires pour cette démonstration, réutiliser les textures autant que nous le pouvions était extrêmement important pour respecter notre budget de mémoire.Beaucoup de meubles partagent les mêmes bords ou feuilles carrelées pour le bois, le métal, la pierre, le verre et le tissu, et nous avons utilisé des textures transparentes partout où nous le pouvions.Par exemple, nous avons utilisé une texture transparente pour les tissus afin que nous puissions avoir des variations de couleur sans avoir à créer une deuxième texture Albedo.Pour plus d'informations sur la façon de réutiliser les textures, voir Planification, réutilisation et budgets.

Quatre textures que nous avons réutilisées dans plusieurs pièces.

Photogrammétrie

Nous savions que nous avions besoin de beaucoup plus de contenu que le temps de le construire nous-mêmes, alors nous avons décidé d'accélérer le processus de création de contenu de haute qualité sur une feuille de texture 1:1 en utilisant la photogrammétrie issue du Creative Commons (CC0). Photogrammétrie est le processus de capture de centaines d'images d'objets sous tous les angles afin de créer des modèles de haute qualité avec des proportions précises, et les modèles de Creative Commons sont principalement des modèles gratuits que vous pouvez utiliser et/ou partager légalement.Ces modèles peuvent aller des ressources modélisées à la main aux ressources fabriquées à partir de photogrammétrie, et travailler avec elles dans ce processus nous a permis de sauter l'étape fastidieuse de la création d'un modèlisationde haute résolution détaillé.

L'histoire de fond que nous avons créée pour la famille les décrit comme des « collectionneurs étranges » s'amusant dans l'occulte.Ils ont rassemblé des artefacts du monde entier, et nous voulions que la maison soit remplie de choses pour refléter cette histoire.Nous avons pu récupérer les données de numérisation à partir de contenu du musée CC0 pour des modèles comme antiquités , statues et taxidermie , puis commencer le travail de cartographie UV, de rétopologisation et de texture nécessaire pour les optimiser pour Studio.

Les données de numérisation originales se superposent à une texture diffuse.

Mapping UV est le processus de modélisation 3D de déballage du maillage d'un modèlisation3D et de projection d'une image 2D dessus.« U » et « V » représentent les axes de la texture 2D car « X », « Y » et « Z » représentent les axes du modèlisation3D.Les UV ont tendance à être automatisés au moment du scan, et ils ont tendance à être mal faits aux fins du développement du jeu.Par exemple, les UV pour certains modèles de photogrammétrie peuvent ressembler à un ensemble de plans individuels, mais ce n'est pas le plus performant pour une expérience mobile lorsque les créateurs sont limités à 10 000 verticaux.Parfois, nous aurions de la chance avec les données de numérisation, mais la plupart du temps, nous devions soit mettre à jour ou refaire complètement ces coordonnées de texture deux dimensions aux fins de l'expérience.

Données de numérisation originales avec UV automatisés.

En outre, la plupart des mailles des modèles ne comporteraient que la texture Diffuse avec des informations d'éclairage incluses dans la texture lorsque le modèle a été initialement scanné.Bien que cela puisse être utile pour servir de base à la texture d'Albedo du maillage, cela nécessiterait toujours un nettoyage manuel où nous devions peindre la lumière et l'ombre.Si un maillage avait une forte lumière directionnelle, il pourrait sembler étrange où la lumière du monde ne correspondrepas.Pour cette raison, nous avons dû recréer la plupart des textures PBR pour les modèles que nous avons utilisés à partir du contenu du musée CC0.

Textures de données de numérisation originales avec un éclairage cuit dans le diffus.

Rendu physiquement basé (Rendu basé sur la physique (PBR)) est la notion d'utiliser un ombrage et une lumière réalistes en simulant et représentant plus précisément les matériaux et la lumière dans le monde réel.Il était important pour nous lors de la création de textures PBR de ne pas avoir d'informations d'éclairage ou très peu d'informations d'éclairage cuites dans la texture Albedo car le moteur de Studio calcule cela à partir de l'éclairage basé sur l'image (IBL), en plus d'utiliser les valeurs de surface Normal, rugosité et métallicité de la texture pour représenter correctement les matériaux du monde réel.En comparaison, une texture diffuse peut avoir soit certains détails de ces cartes individuelles cuits dans une seule texture, ce qui est utile lorsque vous pouvez avoir besoin de la texture diffuse pour transporter ces détails par elle-même sans l'aide d'IBL ou d'autres textures PBR individuelles.Lorsque vous décidez de garder une texture diffuse ou de créer vos propres textures PBR, tenez compte des limites de votre budget de conception ou de mémoire pour ce qui a du sens pour votre propre expérience.

Les mailles des données de scan que nous avons utilisées étaient généralement plutôt bonnes, mais certaines mailles devaient être nettoyées.Par exemple, certains mailles avaient des trous problématiques qui devaient être comblés, des bords dentelés qui devaient être lissés ou des bords minces qui devaient être épais.Pour ce processus, nous avons utilisé Zbrush pour éditer les données de scan.

Notes de gauche à droite : Trop fin et dentelé | Le modèle entier a besoin d'un peu de polish | Trop fin et dentelé aussi.Remplir et lisser.| Remplir les trous.
Le même maillage après avoir nettoyé les données de scan.

Ce processus n'était pas parfait, mais en nettoyant le modèlisationde résolution élevée, il était beaucoup plus facile d'automatiser ou de manière manuelle la topologie du modèlisation. Retopologiser est le processus de modification de la distribution et de la structure des bords d'un modèlisation3D, et à nos fins, le retopologizage permet une meilleure texture lors de la création d'une version de résolution inférieure d'un modèlisationde haute résolution.Les modèles de résolution inférieure sont nettement plus faciles en termes de performance, notamment sur les appareils mobiles, et garde toujours le détail de haute résolution à partir du maillage et des textures.

Pour la rétopologisation manuelle ou automatique, vous pouvez utiliser n'importe quelle application 3D de votre choix.Nous avons choisi d'utiliser 3DS Max pour effectuer manuellement une topologisation à nouveau, et Zbrush pour effectuer une topologisation automatique à l'aide de l'outil Zremesher ou de l'outil de dénaturation.L'outil Zremesher nous a permis d'automatiser la topologisation d'un maillage pour maintenir des quadruples qui nécessitent un plus grand nombre de vert pour maintenir la forme, tandis que l'outil Décimation nous a permis d'automatiser la topologisation en utilisant des triangles avec un nombre de vert inférieur et a pu maintenir la forme.

L'outil Zremesher dans Zbrush.
L'outil de décimation dans Zbrush.

Indépendamment de la route automatique que nous pourrions choisir pour nos modèles/mailles, nous avons probablement dû faire un peu de nettoyage puisque l'auto-rétopologisation repose en grande partie sur le maillage de haute résolution, comment il a été construit et son algorithme.Nous avons eu tendance à choisir la route de décimation avec un maillage triangulaire car il était plus important pour nous d'avoir un nombre de vertex inférieur tout en maintenant la forme originale.

La superposition et la mauvaise topologie provoquent des erreurs normales de surface qui peuvent se produire lors de la rétopologisation automatique.Cela devait être corrigé, sinon nous aurions des problèmes de maillage et d'éclairage sur le modèlisation.
Le processus de dessin à la main des visages adhérant aux normaux de surface de haute résolution.

Après avoir terminé le processus de rétopologisation du maillage avec de nouveaux UV, nous avons dû cuire et transférer les détails et les textures de maillage de haute résolution. Marmoset > a facilité le fait de faire ce processus lors de la cuisson de cartes de maillage et du transfert de toutes les textures originales du modèle de haute résolution vers une résolution inférieure, mais vous pouvez trouver d'autres flux de travail et méthodes dans d'autres applications 3D qui fonctionnent mieux pour vous.Quelle que soit l'outil, assurez-vous que toutes les textures originales sur le modèle haute résolution sont attribuées au modèle lors de la cuisson.

Attribuer des textures originales sur le modèle haute résolution au modèle corbeau lors de la cuisson.
Nouvelles UV et textures PBR de taille 512 avec éclairage peint.
Retopologisé à la main avec des textures transférées.Faire cela à la main signifiait que nous pouvions contrôler la manière dont la géométrie a coulé et où nous avons dépensé des sommets.Beaucoup de fois, c'est un meilleur choix, notamment lorsqu'un maillage de haute résolution est composé de beaucoup d'objets séparés ou a des formes problématiques.
Retopologiser automatiquement dans une application 3D.Faire cela a automatiquement sauvé le temps de création du maillage de résolution faible à la main, mais le compromis était un maillage avec un plus grand nombre de vertex pour maintenir la silhouette et un modèle plus difficile à travailler lors de la création de UVs

Après avoir finalisé nos textures PBR Albedo, Normal, Métallique et Rugueuse dans Substance Painter , nos nouvelles ressources étaient prêtes à être importées dans Studio ! Il y avait quelques différences de qualité entre les données de données de numérisation vs.les ressources retopologisées, mais c'était finalement un compromis digne lorsque la ressource n'était que de 1 000 vertex au lieu de 1 000 000.Il a également maintenu notre budget de mémoire intact et a permis à l'expérience de fonctionner plus facilement.

Numérisation des données corbeau.
>

Ressource en jeu retraitée manuellement.
>

Scanner les données candélabre.
>

contenuen jeu automatiquement retraitée.
>

Utiliser des packages

Les packages sont un système qui vous permet de stocker et d'utiliser une version d'un seul objet ou d'un groupe d'objets, et lorsque vous mettez à jour cette version, elle met à jour toutes les instances de cet objet ou de ce groupe à la fois.Par exemple, si vous créez un objet d'arbre et placez des centaines de cet objet dans votre expérience, vous n'avez besoin de mettre à jour le paquet que pour que les centaines d'arbres se mettent à jour à la fois à votre nouvelle version.Nous savions à l'avance que nous aurions deux états de la plupart des pièces de la maison, leur état normal et leur état corrompu, et nous devions maintenir les deux copies de la maison et leur contenu tout au long du processus d'itération.Pour cette raison, nous avons décidé des objets qui devaient être partagés dans chaque état de maison et les avons convertis en packages.

Exemple d'un paquet pour toute une chambre. Tout ce qui était unique à son état normal ou corrompu a vécu en dehors de ce paquet.

Les packages nous ont permis de modifier tout, du détail du bois sur les panneaux muraux à des pièces entières, puis les deux états de la pièce seraient mis à jour pour nos modifications.Nous avons également pu convertir SurfaceAppearance les objets en packages afin que nous puissions mettre à jour l'apparence d'un matériau partout dans l'expérience en même temps.La réutilisation des matériaux a été essentielle pour rendre la démonstration aussi performante que possible pour les appareils malgré sa complexité évidente.

Par exemple, les images suivantes affichent un paquet de modèle armillaire avec un groupe complexe d'actifs enfants, y compris un paquet d'apparence de surface métallique dans plusieurs endroits de la démonstration.Partout où nous avons mis à jour le paquet d'apparence de la surface métallique, nous avons également pu effectuer une mise à jour de masse massive qui forcerait le paquet de modèle armillaire à mettre à jour le paquet d'apparence de la surface enfant également.

Ressource armillaire
>

Paquet de modèle armillaire
>

Package d'apparence de surface métallique
>

Pour plus d'informations sur la façon de transformer un objet individuel ou un groupe d'objets comme Models ou Folders en package, ou sur la façon de choisir un créateur du package pour l'accès à l'édition, voir Packages .Nous avons choisi de désigner le groupe de démonstration Vistech comme le créateur de tous nos packages parce qu'il permet à tout le monde dans notre groupe d'accéder et de modifier les packages chaque fois qu'ils en avaient besoin.Il nous a également permis de partager ces packages entre chaque expérience appartenant au groupe !

Nous configurons les packages parents, tels que l'armillaire ci-dessus ou une salle entière, pour mettre à jour automatiquement afin que les modifications du modèle ou du dossier soient automatiquement partagées sur toutes les instances de ce package sans que nous ayons à les vérifier manuellement.Ce processus nous a permis de créer facilement des modifications pour les états normaux et corrompus de chaque pièce.Par exemple, les deux images suivantes montrent l'état normal et corrompu de l'étude qui a été créé via le même paquet .Seuls quelques articles en dehors de leurs packages diffèrent entre eux, même si l'État corrompu est oblique !

L'utilisation de packages nous a permis de faire deux versions d'une salle, tout en ne traitant que le contenu d'une seule.

Au lieu de travailler entièrement dans le même dossier que l'expérience, nous avons construit un emplacement de stockage d'actifs avec tous nos composants avec des liens de package.Chaque fois que nous apportions un changement à un paquet dans cet emplacement de stockage, il serait mis à jour automatiquement et immédiatement dans chaque endroit qui utilise ce paquet.Nous pourrions modifier des objets, ajouter des fonctions et travailler sur des détails sans avoir à naviguer dans l'humeur et l'éclairage de l'expérience principale qui pourrait rendre difficile de voir ce que nous faisions.

L'endroit de stockage des ressources avec chaque composant dans la démo.

Les packages nous ont donné plus de liberté d'explorer différentes idées en 3D sans avoir à faire beaucoup de travail supplémentaire.Nous pourrions planifier, tester ou même revenir à n'importe quelle version précédente d'une ressource si une expérience ne se déroulait pas dans la pratique ou rompait l'expérience.Il y a eu de nombreuses fois où des heures de travail ont été restaurées en retournant une version dans les packages.En fin de terminer, nous n'aurions pas pu atteindre le niveau final de polonais dans cette démonstration sans packages.