Dans ce tutoriel, vous approfondirez vos connaissances sur les matériaux et les instances de matériau. Vous découvrirez les trousses à outils et techniques liées aux matériaux qui peuvent vous aider à faire des choix artistiques, à accélérer le développement et à contrôler les frais généraux de votre projet. Par la suite, vous appliquerez des matériaux aux ressources du jeu et utiliserez des blueprints pour contrôler les matériaux en fonction des actions des joueurs dans votre niveau.
Avant de commencer
Pour utiliser ce module, vous devez disposer d'un éclairage lumineux dans le niveau. Si vous avez réduit l'éclairage dans votre niveau lors du tutoriel précédent, utilisez les paramètres suivants :
Intensité de l'éclairage directionnel | 6,0 |
Min EV100 | False |
Max EV100 | False |
Matériaux et instances de matériaux
Les matériaux définissent les propriétés de surface des ressources de votre jeu. À l'instar des textures, les matériaux sont comparables à du papier d'emballage qui recouvre un maillage, modifiant ainsi l'apparence de sa surface et la façon dont il réagit aux sources lumineuses.
Contrairement aux textures, les matériaux permettent une personnalisation non destructive grâce à un flux de travail basé sur les nœuds. Par exemple, les matériaux contiennent des propriétés prédéfinies qui reproduisent les attributs de substances réelles comme la pierre ou le métal. La seule différence entre les matériaux dans l'image ci-dessous réside dans leurs propriétés métalliques et de rugosité.
Les matériaux peuvent combiner des textures et une logique pour produire des substances complexes couche par couche. Grâce à ces combinaisons, vous pouvez faire des choix artistiques qui guident la conception de monde de votre projet. Ces opérations sont aussi bien simples (ajouter des rayures à des ressources métalliques dans le jeu) que complexes (représenter l'eau qui recouvre le sable).
Au-delà des choix artistiques, vous pouvez utiliser les matériaux pour rationaliser votre processus de développement. Par exemple, les matériaux produisent des types de fichiers enfants, appelés instances de matériau. Une instance de matériau est une copie qui hérite des propriétés de son matériau parent. Les instances peuvent remplacer ces propriétés héritées de manière non destructive afin de conserver leurs propres propriétés.
Dans un environnement de développement, vous pouvez utiliser des matériaux parents et des instances de matériau pour :
Obtenir des informations visuelles instantanées : les modifications apportées aux instances sont immédiatement visibles dans tous les hublots, sans qu'il soit nécessaire de recompiler le shader du matériau parent.
Améliorer les performances : les instances utilisent le même code de shader que leur parent, ce qui peut réduire le nombre total de shaders à compiler et diminuer la permutation de shader pendant l'exécution.
Rationaliser le flux de travail : les instances éliminent la complexité en exposant uniquement les propriétés pertinentes aux équipes artistiques.
Interagir avec les blueprints : dans la mesure où les matériaux et leurs instances enfants utilisent la logique, il est possible de contrôler les propriétés des matériaux en externe à l'aide de blueprints.
Conseils :
Les matériaux ne se limitent pas aux maillages. Il est possible de les utiliser pour l'interface utilisateur, le post-traitement et l'éclairage, entre autres.
Les matériaux ne sont pas des shaders ; ils forment une interface qui convertit en arrière-plan les expressions basées sur des nœuds en langage HLSL (High-Level Shader Language) pour calculer l'aspect final d'une ressource.
La permutation de shader survient lorsque l'Unreal Engine sélectionne le shader pertinent pour la ressource qu'il génère. Une permutation de shader fréquente peut entraîner un ralentissement des performances pendant l'exécution.
Examinons les outils et les interfaces que vous utiliserez dans ce tutoriel.
L'anatomie d'un matériau
Pour mieux comprendre les trousses à outils des matériaux, ouvrons un matériau existant. Dans le navigateur de contenu, accédez à l'emplacement suivant :
Tout > Contenu > LevelPrototyping > Matériaux
Dans le dossier Matériaux, recherchez M_FlatCol.
Notez la convention d'affectation de noms de ce matériau, qui utilise le préfixe M_. Il s'agit d'une convention d'affectation de noms courante dans l'Unreal Engine, qui permet de distinguer les matériaux des autres fichiers. Bien que le choix du préfixe exact vous appartienne, les équipes de développement doivent adopter la même convention d'affectation de noms pour éviter toute confusion lorsqu'elles travaillent avec des centaines de ressources.
Double-cliquez sur M_FlatCol. L'éditeur de matériau s'ouvre. Dans le cadre de ce tutoriel, les onglets les plus importants de l'éditeur sont la fenêtre d'aperçu, le graphique de matériau et le panneau Détails.
| Numéro | Nom de l'onglet | Description |
|---|---|---|
1 | Fenêtre d'aperçu | Cet onglet affiche un exemple en temps réel du matériau que vous modifiez. Il contient des options permettant de modifier l'éclairage, le mode d'affichage et le maillage d'aperçu. |
2 | Graphique de matériau | Les matériaux sont créés en combinant des nœuds (appelés expressions) dans ce graphique basé sur des nœuds. Par défaut, les matériaux sont accompagnés d'un nœud déjà présent dans le graphique, appelé nœud de matériau de base ou nœud racine de matériau. Au lieu d'utiliser une texture, |
3 | Panneau Détails | Fenêtre de propriétés pour toutes les expressions de matériau sélectionnées. Si aucun nœud n'est sélectionné, les propriétés de base du matériau s'affichent. Les propriétés de base Domaine de matériau, Mode de fusion et Modèle d'ombrage ont une incidence sur les propriétés disponibles sur le nœud racine du matériau dans le graphique. |
Modifiez la couleur de base du matériau en procédant comme suit :
Dans le graphique de matériau, double-cliquez sur le nœud Base Color.
Dans la pipette, saisissez le paramètre sRVB hexadécimal
FFBC00FFet cliquez sur OK.Enregistrez le matériau en cliquant sur Enregistrer, Fichier > Enregistrer, ou en utilisant Ctrl + S.
Si les ressources de votre projet utilisent M_FlatCol, vous remarquerez peut-être qu'un changement s'est produit dans votre niveau.
Revenez au navigateur de contenu et recherchez MI_DefaultColorway. Il s'agit d'une instance de matériau qui utilise M_FlatCol comme parent.
Double-cliquez dessus pour ouvrir l'éditeur d'instance de matériau.
Contrairement à l'éditeur de matériau, l'éditeur d'instance de matériau ne permet aucune personnalisation. Dans le panneau Détails , M_FlatCol apparaît sous l'en-tête Parent. Étant donné que les matériaux parents transmettent leurs propriétés à leurs enfants, la couleur de base de cette instance doit être jaune ; examinez toutefois la fenêtre d'aperçu. L'exemple de maillage est toujours gris.
Cela est dû au fait que la propriété Couleur de base dans M_FlatCol est exposée (c'est-à-dire, modifiable) et est actuellement remplacée par une couleur grise. Les instances peuvent disposer de leurs propres propriétés uniques en remplaçant les propriétés parentes exposées.
Effectuez les deux expériences suivantes :
Supprimez le remplacement.
Appliquez le remplacement pour modifier la couleur de base de cette instance.
Pour cela, procédez comme suit :
Dans le panneau Détails, sous Propriétés de surface, décochez la case Couleur de base. Le remplacement est supprimé. Dans la fenêtre d'aperçu, l'exemple de maillage gris doit devenir jaune.
Pour réappliquer le remplacement, cochez la case Couleur de base. Cliquez sur l'échantillon de couleur pour ouvrir la pipette et choisissez une nouvelle couleur.
Enregistrez l'instance de matériau.
Les ressources de votre niveau qui utilisent cette instance sont mises à jour avec la nouvelle couleur de base, mais les ressources utilisant M_FlatCol restent jaunes.
Cela est dû au fait que les matériaux sont hiérarchiques :
Les matériaux parents peuvent propager des modifications aux instances enfants.
Les instances peuvent contenir des propriétés exposées uniques.
Les instances peuvent propager des modifications à leurs propres instances enfants.
Les instances ne peuvent pas propager de modifications aux matériaux parents.
Un matériau parent utile et efficace sert de base flexible à toutes les instances enfants, réduisant ainsi la compilation, la permutation de shader et la quantité d'actions répétitives dans votre pipeline de développement. Lorsque vous créez un matériau parent, déterminez les propriétés auxquelles votre équipe aura fréquemment accès et qu'elle utilisera régulièrement.
Pour réinitialiser les matériaux modifiés dans cette section, définissez la couleur de base de M_Flat_Col sur 767676FF et la couleur de base de MI_DefaultColorway sur C0C0C0FF.
Pour en savoir plus sur l'interface utilisateur de l'éditeur de matériau, consultez la page Interface utilisateur de l'Éditeur de matériaux.
Créer un matériau parent
Dans cette section, vous allez créer un matériau parent avec les propriétés Couleur de base, Métallique, Normale et Rugosité. Vous contrôlerez ces propriétés en utilisant des textures ou des expressions, et une combinaison des deux.
Pour créer un nouveau matériau, procédez comme suit :
Dans le navigateur de contenu, accédez à l'emplacement Tout > Contenu > AdventureGame > Artiste > Matériaux, puis cliquez sur Ajouter et sélectionnez Matériau dans la liste.
Nommez le matériau
M_Surfaces.Double-cliquez sur
M_Surfacespour ouvrir l'éditeur de matériau.
Vous allez ensuite utiliser les textures pour contrôler les propriétés du matériau.
Contrôler les propriétés via les textures
Les textures sont des fichiers image qu'il est possible d'ajouter et de personnaliser à l'intérieur d'un matériau pour produire divers résultats visuels.
Les textures sont utiles pour les matériaux qui comportent un niveau de détail complexe ou variable dans l'espace, car chaque pixel stocke des informations RVB et alpha uniques. Par exemple, lorsque vous créez un matériau qui imite du métal rayé, une texture spéculaire fait appel aux informations alpha pour identifier les zones qui doivent refléter la lumière et celles qui ne le doivent pas.
Dans cette section, vous allez utiliser l'expression TextureSample pour appliquer une texture diffuse et une texture de normales à votre matériau.
Une texture diffuse contient des propriétés chromatiques et visuelles de base, sans informations d'éclairage. Une texture de normales imite la texture de surface (comme les bosses ou les fissures) sans ajouter de géométrie au maillage.
Pour ajouter des textures, procédez comme suit :
Faites un clic droit sur le graphique, puis recherchez et sélectionnez TextureSample dans la liste. Vous pouvez également utiliser le raccourci clavier T + clic gauche.
Ajoutez deux nœuds TextureSample et positionnez-les l'un sous l'autre.
Sélectionnez le nœud TextureSample supérieur. Dans le panneau Détails, sous Base de texture d'expression de matériau, cliquez sur le menu déroulant Texture et recherchez
DefaultDiffuse. Sélectionnez la texture diffuse dans la liste.Le nœud TextureSample supérieur étant toujours sélectionné, reliez la sortie RGB à l'entrée Base Color du nœud racine du matériau (
M_Surfaces).Sélectionnez le nœud TextureSample inférieur. Dans le panneau Détails, sous Base de texture d'expression de matériau, cliquez sur le menu déroulant Texture et recherchez
DefaultNormal. Sélectionnez la texture de normales dans la liste.Le nœud TextureSample inférieur étant toujours sélectionné, reliez la sortie RGB à l'entrée Normal sur le nœud racine du matériau.
Enregistrez votre matériau.
Votre graphique de matériau devrait maintenant ressembler à ceci :
Vous allez maintenant utiliser des expressions pour contrôler les propriétés.
Contrôler les propriétés via des constantes
Dans cette section, vous allez créer un matériau semblable à de la pierre en utilisant une expression Constante pour contrôler les propriétés Métallique et Rugosité. L'utilisation de constantes dans le contrôle des propriétés est utile pour effectuer des ajustements globaux et uniformes.
Les constantes contrôlent les propriétés par le biais d'une valeur float unique. Par exemple, la propriété Métallique a une valeur float comprise entre 0 et 1. La valeur 0 émule les surfaces non métalliques (comme le plastique) et la valeur 1 les surfaces métalliques (comme le chrome).
Dans l'Unreal Engine, la teinte des reflets sur les surfaces métalliques dépend de la couleur de base, et celle des reflets sur les surfaces non métalliques des sources lumineuses ambiantes.
La propriété Rugosité a également une valeur float comprise entre 0 et 1. La valeur 0 émule les surfaces lisses et la valeur 1 les surfaces rugueuses. La rugosité influe sur la façon dont une surface diffuse la lumière ; les surfaces lisses présentent une réflexion spéculaire plus intense (elles semblent brillantes) et les surfaces rugueuses une réflexion diffuse (elles semblent mates).
En utilisant des constantes pour contrôler ces propriétés, vous pouvez imiter des matériaux tels que le plastique mat, le plastique brillant, le métal rugueux ou le chrome lisse.
Pour créer votre matériau en pierre, procédez comme suit :
Faites un clic droit sur le graphique de matériau et sélectionnez Constante dans la liste. Vous pouvez également utiliser le raccourci 1 + clic gauche. Ajoutez deux constantes.
Faites glisser la première broche Constant et reliez-la à l'entrée Metallic du nœud de base. Reliez la deuxième broche Constant l'entrée Roughness.
Après avoir sélectionné la constante métallique, vérifiez que sa valeur est de
0.Après avoir sélectionné la constante de rugosité, définissez sa valeur sur
1.Enregistrez votre matériau.
Votre graphique de matériau devrait maintenant ressembler à ceci :
Dans la prochaine section, vous en apprendrez davantage sur les textures de quadrillage dans les matériaux.
Changer l'échelle des textures et les quadriller
Vous avez peut-être remarqué que vos textures diffuses et de normales ressemblent à des carreaux de sol. Dans cette partie, vous allez utiliser les expressions de matériau pour changer l'échelle des UV et créer un sol en pierre qui se répète à l'infini dans toutes les directions. Nous appelons ce processus quadrillage.
Le quadrillage est souvent utilisé pour couvrir de grands maillages sans entraîner de surcoût ; réduire l'échelle et quadriller une texture est moins coûteux que d'utiliser de grandes textures haute résolution propres à des maillages spécifiques.
L'attribution des ressources a généralement une incidence sur les décisions prises lors du développement de jeux. En économisant des ressources dans des zones auxquelles les joueurs ne prêtent généralement pas attention (comme les sols), votre équipe peut consacrer davantage de ressources à des textures haute résolution, uniques ou peintes à la main destinées aux personnages, aux objets ou aux géométries qui apparaissent en gros plan dans les cinématiques en temps réel.
Ici, vous allez utiliser l'expression Coordonnées de texture pour contrôler le quadrillage de la texture diffuse et de la texture de normales. Vous allez par ailleurs utiliser une nouvelle expression appelée Multiplier. L'expression Multiplier prend deux entrées et les combine en une sortie.
Pour créer une texture de quadrillage, procédez comme suit :
Dans la fenêtre d'aperçu de l'éditeur de matériau, définissez le maillage sur un plan primitif pour visualiser le matériau plus clairement.
Il est possible que vous deviez ajuster l'éclairage de l'aperçu pour mieux voir la texture. Appuyez sur la touche L tout en faisant un clic gauche dans la fenêtre d'aperçu pour déplacer la source lumineuse.
Faites un clic droit dans le graphique de matériau et ajoutez un nœud Texture Coordinate dans la liste.
Faites glisser la sortie du nœud Texture Coordinate, puis recherchez et créez un nœud Multiply.
Faites glisser l'entrée B du nœud Multiply et créez un nœud Constant.
Définissez la valeur float du nœud Constant sur
1.Faites glisser la sortie du nœud Multiply et reliez-la à l'entrée UVs des nœuds Diffuse et Normal Texture Sample.
Votre matériau de quadrillage est prêt. Effectuez deux expériences avec le quadrillage en augmentant l'échelle avec des nombres entiers et en la réduisant avec des fractions :
Dans le graphique de matériau, sélectionnez la constante qui contrôle les coordonnées de texture.
Définissez sa valeur sur
2.
Dans la mesure où la texture diffuse et la texture de normales sont une grille de briques de 5x5 à leur échelle native (1,0), les mettre à l'échelle de 2 produit une grille de briques de 10x10. En observant attentivement, vous pouvez remarquer où les imperfections de la texture se répètent.
Maintenant, définissez la valeur sur 0,5. Vous remarquez que la texture n'est pas correctement quadrillée. Si la texture diffuse était une grille de 6x6, une réduction à 0,5 ne provoquerait pas de troncature. Il est important de garder à l'esprit le mode de changement d'échelle d'une texture dans l'Unreal Engine lors de la création de textures.
Les UV d'un maillage peuvent aussi influer sur le mode de quadrillage d'une texture ; des UV étirés peuvent engendrer un étirement indésirable des textures. Vous en apprendrez davantage à ce sujet plus loin dans ce tutoriel et découvrirez une solution dans la partie suivante de cette série de cours.
Entretien du graphique de matériau
Faisons une pause et réfléchissons à l'organisation. À mesure que votre graphique de matériau devient plus complexe, il peut être utile d'organiser les nœuds et de maintenir une logique transparente pour l'équipe de développement, ou pour vous-même pendant le développement. Pour rester organisé, vous pouvez créer des limites superficielles et des en-têtes dans le graphique en utilisant des boîtes de commentaires.
Pour créer une boîte de commentaire, procédez comme suit :
Sélectionnez les nœuds Texture Coordinate et Multiply. Appuyez sur la touche Q pour les aligner horizontalement.
Sélectionnez Texture Coordinate, Multiply et Constant, puis appuyez sur le raccourci clavier C pour insérer votre commentaire.
Renommez la boîte de commentaire
Quadrillage UV.Enregistrez votre matériau.
Pour nettoyer les splines de connexion blanches, double-cliquez dessus en vue d'ajouter un point d'arrêt. Appuyez sur Q pour aligner horizontalement les expressions ou les points d'arrêt.
Votre graphique de matériau devrait maintenant ressembler à ceci :
Contrôler les propriétés via Constant3Vectors
Maintenant que vous maîtrisez les constantes, vous êtes prêt à utiliser Constant3Vector. À l'instar d'une variable de vecteur, Constant3Vector peut contenir trois valeurs float au lieu d'une. Ceci est utile pour ajuster les coordonnées XYZ ou les informations RVB.
Dans cette section, vous allez utiliser une variable Constant3Vector pour définir une couleur RVB. Vous utiliserez un nœud Multiply pour combiner cette couleur avec votre texture diffuse et modifier sa teinte de façon non destructive.
Pour modifier la teinte de votre texture diffuse, procédez comme suit :
Dans le graphique de matériau, faites glisser la sortie RGB du nœud Diffuse Texture Sample et créez un nœud Multiply à partir du menu de sélection.
Faites glisser la sortie du nœud Multiply et reliez-la à l'entrée Base Color du nœud racine du matériau.
Faites glisser la sortie B du nœud Multiply et créez un nœud Constant3Vector.
Double-cliquez sur la case de couleur du nœud Constant3Vector pour ouvrir la pipette, puis choisissez une couleur ou saisissez la valeur sRVB hexadécimale
CDDAFFFF.Sélectionnez les nœuds Constant3Vector et Multiply, puis appuyez sur C pour créer une boîte de commentaire appelée
Teinte diffuse.Enregistrez votre matériau.
Votre graphique de matériau devrait maintenant ressembler à ceci :
Votre matériau parent est maintenant terminé. Dans la prochaine section, nous vous expliquerons comment utiliser les hiérarchies de matériaux et comment propager les modifications aux instances.
Valeurs statiques et paramètres
Jusqu'ici, vous avez travaillé exclusivement avec des valeurs statiques. Les valeurs statiques sont des valeurs définies au moment de la compilation, qui ne peuvent pas être modifiées pendant l'exécution. Dans la section suivante, vous apprendrez à convertir des valeurs statiques en paramètres. Les paramètres peuvent être modifiés à l'exécution via les blueprints.
Revenons à la hiérarchie de propagation. Comme pour toute propriété, les paramètres sont transmis du parent à l'enfant.
Cependant, contrairement aux autres propriétés, les paramètres peuvent être remplacés dans les instances enfants du matériau. Vous avez déjà utilisé des paramètres lorsque vous avez modifié la couleur de base de MI_DefaultColorway.
Ce processus est également appelé paramètres d'exposition ou paramètres exposés.
Convertir des valeurs statiques en paramètres
Vous devez garder à l'esprit que les matériaux parents constituent une base flexible pour toutes les instances enfants. Lorsque vous exposez des propriétés, il est important de réfléchir à la manière dont votre matériau sera utilisé sur différentes ressources. Dans ce cas, vous utiliserez M_Surfaces pour surfacer trois ressources de jeu :
L'habillage de scène
Un sol
Un sol d'aspect humide et sec (dans le prochain tutoriel)
L'habillage de scène (ou décoration de scène) est un terme emprunté au domaine du cinéma qui désigne les ressources statiques d'un niveau avec lesquelles le joueur ne peut pas interagir.
En tenant compte de ces applications, il sera nécessaire de convertir les constantes qui contrôlent :
Le quadrillage UV
La texture diffuse
La teinte diffuse
La texture de normales
Rugosité
Pour convertir une expression en paramètre, procédez comme suit :
Dans le graphique de matériau de
M_Surfaces, sélectionnez la constante dans Quadrillage UV.Faites un clic droit sur le nœud et sélectionnez Convertir en paramètre.
Donnez un nom au paramètre afin qu'il soit identifiable et pertinent par rapport à la valeur qu'il modifie. En l'occurrence,
UV Tiling.Sélectionnez la constante associée à la propriété Rugosité , faites un clic droit dessus et sélectionnez Convertir en paramètre.
Nommez le nouveau paramètre
Roughness.Sélectionnez la constante Constant3Vector qui contrôle la teinte diffuse, convertissez-la en paramètre de vecteur et renommez ce dernier
Diffuse Hue.Sélectionnez la texture diffuse TextureSample, convertissez-la en paramètre et renommez-la
Diffuse.Sélectionnez la texture de normales TextureSample, convertissez-la en paramètre et renommez-la
Normal.Enregistrez votre matériau.
Votre graphique de matériau devrait maintenant ressembler à ceci :
Vous allez ensuite créer des instances de matériau pour surfacer vos ressources de jeu.
Créer une instance de matériau
Créez une instance de matériau pour chaque ressource que vous allez surfacer dans cette section : le sol et l'habillage de scène.
Pour créer une instance de matériau, procédez comme suit :
Dans le navigateur de contenu, faites un clic droit sur
M_Surfaceet choisissez Créer une instance de matériau.Nommez-la
MI_Surfaces_Floor.Créez une deuxième instance de matériau appelée
MI_Surfaces_Tile.Double-cliquez sur
MI_Surfaces_Floorpour ouvrir l'éditeur d'instance de matériau.
Notez que les paramètres que vous avez exposés dans M_Surfaces sont maintenant regroupés dans le panneau Détails de cette instance enfant.
Vous allez maintenant appliquer ces instances au maillage de votre niveau et ajuster les propriétés que vous avez exposées.
Remplacements d'instance de matériau
Dans cette section, vous allez appliquer MI_Surfaces_Floor au maillage de sol dans le dossier Hallway2 de Lvl_Adventure.
Pour appliquer l'instance au sol, procédez comme suit :
Dans l'organiseur, recherchez le dossier Hallway2 et sélectionnez tous les objets dont le nom comporte
Floor.Dans le panneau Détails , sous la catégorie Matériaux, en regard de Élément 0, remplacez
MI_ProcGridparMI_Surfaces_Floor.
Examinez le sol de plus près. Vous observez une répétition dans la texture sur l'ensemble du maillage de sol. Selon votre projet, il est possible que les répétitions évidentes ne soient pas souhaitables.
Il existe de nombreuses méthodes pour résoudre les problèmes de quadrillage, notamment la fusion de textures, la fusion de distance, le bombardement de texture ou les décalques. Dans le cadre de ce tutoriel, la résolution de texture est suffisante pour vous permettre de la mettre à l'échelle.
Pour augmenter les UV dans votre instance, procédez comme suit :
Dans le panneau Détails de
MI_Surface_Floor, sous Valeurs du paramètre scalaire global, cochez la case Quadrillage UV et définissez sa valeur sur0,2.Enregistrez l'instance de matériau.
Une fois les UV mis à l'échelle, le sol semble moins sujet au quadrillage, les carreaux ont une taille raisonnable par rapport au personnage joueur, la texture reste nette du point de vue du joueur et la majeure partie de votre niveau est surfacée. Vous avez accompli tout cela sans consacrer de ressources superflues à une texture haute résolution.
Réutiliser les instances de matériau
Supposons que vous deviez rapidement surfacer une autre ressource en pierre. En remplaçant les propriétés, vous pouvez réutiliser votre matériau parent pour créer à moindre coût des ressources uniques. Dans ce cas, vous allez créer un habillage de scène, à savoir une pile de matériaux de sol en pierre.
Pour créer des maillages de carreau de sol, procédez comme suit :
Dans la barre d'outils de l'Unreal Editor, cliquez sur Ajouter > Formes > Cube. Dans l'organiseur, renommez-le
Tile.Après avoir sélectionné le carreau, accédez au panneau Détails , puis définissez l'option Échelle sur
0,5,0,5et0,05.Dans la barre d'outils de l'Unreal Editor, cliquez sur Ajouter > Formes > Cube et nommez-le
Slab.Après avoir sélectionné la dalle, accédez au panneau Détails, puis définissez l'option Échelle sur
1,5,1,0et0,05.Après avoir sélectionné le carreau, maintenez l'appui sur la touche Alt et faites glisser les maillages statiques dupliqués dans le hublot. Procédez de la même façon pour la dalle. Disposez ces ressources comme vous le souhaitez.
Pour faire ressortir subtilement les carreaux par rapport au sol, procédez comme suit :
Double-cliquez sur
M_Surfaces_Tilepour l'ouvrir. Dans le panneau Détails, cochez la case Quadrillage UV et définissez la valeur sur0,2pour qu'elle corresponde à celle du maillage de sol.Sous Valeurs du paramètre de vecteur global, cochez la case Teinte diffuse et définissez la valeur sRVB hexadécimale sur
A5AEC9FF.Enregistrer votre instance.
Dans l'organiseur, sélectionnez toutes les instances de carreau. Dans le panneau Détails, sous Matériaux > Élément 0, ajoutez
MI_Surfaces_Tile.Sélectionnez toutes les instances de dalle et appliquez
MI_Surfaces_Tile.
Vous remarquez qu'un problème s'est produit. La résolution des carreaux est comparable à celle du maillage de sol, mais lorsque vous ajustez l'échelle de la dalle, ses UV se mettent à l'échelle (de manière uniforme ou non) avec le maillage. Votre matériau en pierre est donc étiré. Ceci est particulièrement visible sur les côtés des maillages.
En fonction de votre projet, vous souhaiterez probablement que la résolution du matériau apparaisse de manière cohérente sur différentes ressources, sans aucun étirement.
Dans un environnement de développement, vous pourriez résoudre ce problème en ajustant la géométrie du maillage ou le texturage d'UV, ou en utilisant la projection triplanaire, qui applique un matériau uniformément le long des axes XYZ du maillage.
Dans cet exemple, vous allez créer un nouvel aspect pour l'habillage de scène en remplaçant les textures héritées de M_Surfaces :
Dans le panneau Détails de
MI_Surfaces_Tile, en regard de Quadrillage UV, définissez la valeur sur1.Cochez la case Diffuse et recherchez
Gray.Cochez la case Normales et recherchez
T_Base_Tile_Normal.En regard de Teinte diffuse, saisissez la valeur sRVB hexadécimale
D0CECBFF.Enregistrer votre instance.
Vous avez terminé l'habillage de scène et le sol.
Dans un environnement de développement plus pratique, vous opteriez probablement pour une approche encore plus efficace pour créer l'habillage de scène. Par exemple, vous pourriez inclure les carreaux de sol épars dans le maillage de sol afin de réduire la géométrie.
Vous avez donc créé un matériau parent flexible et deux instances de matériau uniques. Au cours de ce parcours, vous avez également acquis les connaissances suivantes :
Gestion de l'attribution des ressources : une gestion minutieuse des ressources vous permet de consacrer davantage de moyens aux ressources importantes du jeu.
Organisation des ressources dans l'éditeur : l'organisation et les conventions d'affectation de noms permettent d'éviter toute confusion lorsque les équipes travaillent avec des centaines de ressources.
Création d'un flux de travail modulaire : un flux de travail modulaire et non destructif évite les tâches répétitives et chronophages, ce qui est essentiel lorsque vous devez tenir des délais de développement serrés.
Équilibre entre choix artistiques et contraintes techniques : le développement d'un jeu implique généralement de faire preuve de créativité pour contourner les contraintes techniques sans compromettre l'esthétique et l'ambiance du jeu.
Pour continuer
Dans le prochain tutoriel, vous apprendrez à utiliser la projection triplanaire, à briser les hiérarchies de propagation grâce aux interrupteurs statiques et à utiliser les blueprints pour contrôler les matériaux en fonction des actions du joueur dans votre niveau.