Titre SEO : Utiliser la transparence dans les matériaux de l'Unreal Engine Description: Dans cette rubrique, nous vous expliquons comment utiliser la transparence dans vos matériaux. SEO-Description: Consultez cette rubrique pour savoir comment utiliser le mode de fusion translucide en vue de créer des matériaux transparents dans l'Unreal Engine. Type: Tutorial parent: unreal-engine-5-5-documentation Order: 17 Topic-image: transparency-topic.png Social-image:transparency-social.png Hero-image:transparency-hero.png tags: Matériaux tags: Shaders
Lorsque vous créez certains types de surfaces, comme l'eau ou le verre, vous devez être capable de rendre la surface transparente, mais aussi de lui donner une impression de profondeur et de couleur. Dans le monde réel, ces propriétés sont appelées Transparence ou Opacité ; ces deux termes sont souvent utilisés de manière interchangeable pour décrire la même chose. Dans l'Unreal Engine, la transparence et l'opacité ont deux significations distinctes.
- La transparence permet de déterminer si une surface est visible ou non.
- L'opacité permet de définir dans quelle mesure une surface transmet la lumière. En d'autres termes, la valeur d'opacité détermine le degré de transparence ou d'opacité d'une surface (c'est-à-dire à quel point elle est transparente/opaque).
Consultez le didacticiel suivant pour savoir comment utiliser la transparence dans les matériaux de l'Unreal Engine.
Transparence
Transparence est le terme utilisé pour décrire la capacité d'une surface à bloquer la lumière ou à la laisser passer. Par exemple, une brique est un objet sans transparence. Les vitraux transmettent une partie de la lumière, il s'agit donc d'une surface transparente. Vous pouvez utiliser la transparence pour simuler différents types de surfaces du monde réel, notamment celles énumérées ci-dessous.
- Poil
- Verre
- Eau
- Effets visuels de fumée ou de feu
- Nuages
- Décalcomanies d'impact
- Feuillage
Transparence et opacité
Pour désactiver/activer la transparence dans l'Unreal Engine, il convient d'attribuer à chaque pixel une valeur d'opacité comprise entre 0 et 1. Lorsque l'opacité est de 1, la surface est totalement opaque, ce qui signifie qu'elle bloque 100 % de la lumière. Lorsque l'opacité est de 0, la surface laisse passer toute la lumière. Les valeurs d'opacité comprises entre 0 et 1 génèrent des pixels qui sont partiellement transparents. Dans l'image ci-dessous, observez les valeurs d'opacité qui passent de 0 à 1 sur un maillage statique.
Vous pouvez également définir l'opacité avec une texture en niveaux de gris. Dans l'image ci-dessous, nous vous expliquons comment une texture peut permettre de déterminer les parties d'un maillage devant être transparentes et déterminer leur degré de transparence. La texture est un dégradé qui va du noir dans la partie supérieure (ou totalement transparent) au blanc dans la partie inférieure (ou totalement opaque). Les zones centrales présentent un degré d'opacité variable en fonction de la proximité du noir ou du blanc du pixel de la texture.
Utiliser la transparence dans les matériaux
Vous pouvez configurer des matériaux transparents en procédant comme suit :
Dans ce didacticiel, nous utilisons les ressources du contenu de démarrage de l'Unreal Engine. Si vous n'avez pas inclus le contenu de démarrage dans votre projet, consultez la page Migration pour en savoir plus sur la manière de déplacer du contenu entre les projets. Cela vous permet ainsi d'ajouter le contenu de démarrage à votre projet actuel et d'éviter d'en créer un nouveau.
-
Tout d'abord, cliquez avec le bouton droit de la souris dans le navigateur de contenu, puis sélectionnez Matériau dans la section Créer une ressource de base du menu contextuel.
-
Nommez le matériau TransparentMaterial et ouvrez-le en double-cliquant sur la vignette du matériau dans le navigateur de contenu. L'éditeur de matériaux s'ouvre.
-
Cliquez sur l'arrière-plan du graphique des matériaux pour afficher les propriétés du matériau dans le panneau Détails. Dans la section Matériau, changez le mode de fusion de Opaque à Translucide.
- Une fois le mode de fusion correctement défini, ajoutez les expressions de matériau suivantes à votre graphique. Pour rechercher les nœuds, saisissez leur nom dans la barre de recherche de la palette des matériaux. Ensuite, cliquez dessus avec le bouton gauche de la souris et faites-les glisser de la palette vers le graphique des matériaux.
-
Paramètre vectoriel x 1
-
Paramètre scalaire x 1

-
-
Renommez le nœud Paramètre vectoriel « Couleur de base » et attribuez-lui une valeur de couleur. Reliez la sortie du nœud Paramètre vectoriel à la commande Couleur de base du nœud de matériau principal.
-
Renommez le nœud Paramètre scalaire « Opacité » et attribuez-lui une valeur par défaut de 0,5. Reliez le paramètre scalaire à la commande Opacité du nœud Shader principal.
-
Cliquez sur Appliquer, puis sur Enregistrer dans la barre d'outils de l'éditeur de matériaux pour compiler le matériau et enregistrer la ressource.
-
Recherchez la ressource TransparentMaterial dans le Navigateur de contenu, cliquez avec le bouton droit de la souris sur la vignette et sélectionnez Créer une instance de matériau dans le menu contextuel.
-
Dans le navigateur de contenu, recherchez le dossier Formes dans le contenu de démarrage. Cliquez avec le bouton gauche de la souris sur le maillage statique Shape_Sphere et faites-le glisser dans le hublot, puis relâchez le bouton gauche de la souris pour qu'il apparaisse dans le niveau.
-
Recherchez la ressource TransparentMaterial_Instance dans le navigateur de contenu. Cliquez avec le bouton gauche de la souris sur l'instance de matériau sur la sphère, puis faites-la glisser et relâchez le bouton pour l'appliquer au maillage.
-
Ouvrez l'instance de matériau en double-cliquant dessus dans le navigateur de contenu. Dans l'éditeur d'instances de matériau, remplacez le paramètre Quantité d'opacité en cochant la case en regard du nom du paramètre. Une fois activé, vous pouvez ajuster la valeur du paramètre Quantité d'opacité pour modifier le degré de transparence de l'objet.
Transparence et réflexion
Les objets faisant appel à la transparence peuvent afficher des reflets de scène si les options suivantes sont définies. Gardez toutefois à l'esprit que de nombreux matériaux translucides dont la réflexion est activée peuvent entraîner des problèmes de performances.
-
Ouvrez la ressource TransparentMaterial créée ci-dessus en double-cliquant dessus dans le navigateur de contenu. Dans le panneau Détails, sous la catégorie Translucidité, remplacez le mode d'éclairage Volumétrique non directionnel par Volume de translucidité de la surface.
-
Dans le graphique des matériaux, sélectionnez le paramètre Quantité d'opacité et dupliquez-le deux fois en appuyant sur les touches Ctrl + D du clavier. Lorsque vous avez terminé, le graphique des matériaux doit ressembler à celui-ci.
-
Renommez les nouveaux nœuds d'expression de matériau comme suit : Métallique et Rugosité. Définissez la valeur par défaut de l'expression de matériau Métallique sur 1,0 et définissez la valeur par défaut de Rugosité sur 0. Reliez ensuite chaque nœud d'expression de matériau à la commande correspondante du nœud de matériau principal.
-
Cliquer sur Appliquer puis sur Enregistrer dans la barre d'outils de l'éditeur de matériaux et fermez l'éditeur de matériaux.
-
Vous devriez maintenant être en mesure de voir les reflets sur les sphères dans votre niveau.
En ajustant les paramètres de l'instance de matériau, vous pouvez donner à la transparence des résultats très différents.
Transparence teintée ou colorée
Utilisez le modèle d'ombrage Transparence fine et l'expression de matériau pour représenter avec précision les matériaux transparents teintés et colorés, tels que le verre et le plastique colorés. Ce modèle d'ombrage permet d'obtenir des reflets spéculaires blancs avec une couleur de fond dont la teinte est adaptée aux surfaces transparentes.


Un exemple de graphique de matériau translucide fin est présenté ci-dessous.
Cliquez pour agrandir l'image.
Configurez le matériau avec les propriétés suivantes dans le panneau Détails :
- Définissez le mode de fusion sur Translucide.
- Définissez le modèle d'ombrage sur Translucide fin.
- Dans la catégorie Translucidité, définissez le mode d'éclairage sur Ombrage direct de la surface.
Ajoutez une expression Matériau translucide fin au graphique et reliez un vecteur de constante 3 ou un paramètre vectoriel à la commande. Ce nœud contrôle la teinte de la surface transparente.
Ombres colorées translucides
Dans certains cas, les matériaux translucides sont capables de projeter des ombres colorées avec transmission de la lumière. La quantité de lumière qui traverse le matériau est déterminée par ses valeurs d'opacité et la quantité de lumière projetée sur le matériau.
Actuellement, il n'est possible de créer des ombres colorées translucides qu'avec un éclairage statique et Lightmass.
Pour en savoir plus sur leur utilisation, consultez la rubrique Utiliser des ombres translucides colorées.
Transparence et performances
La transparence, en particulier la transparence éclairée, peut rapidement devenir un frein à l'optimisation des performances si une scène comprend un trop grand nombre d'objets transparents. Le terme utilisé pour décrire ce problème est « superposition ». Une superposition se produit lorsque de nombreux objets transparents sont rendus les uns au-dessus des autres. La raison pour laquelle la superposition entraîne un tel problème de performances est que le rendu de la transparence devient de plus en plus onéreux à chaque couche successive de transparence que vous introduisez.
Pour vous aider à mieux déterminer si ce problème se produit (et où), l'Unreal Engine dispose d'un mode d'affichage spécial appelé mode Complexité du shader. Le mode Complexité du shader vous permet de déterminer la complexité du rendu d'une surface donnée à l'aide d'un système de couleurs. Plus le vert prédomine, plus le coût de rendu est faible. Plus vous voyez de rouge, plus le rendu de cette image est coûteux. Procédez comme suit pour activer le mode de visualisation Complexité du shader.
-
Pour activer le mode Complexité du shader, cliquez sur l'option Mode d'affichage en haut du hublot de l'éditeur. Par défaut, le mode d'affichage est définie sur Éclairé.
-
Sélectionnez l'option Complexité du shader dans le menu contextuel.
-
Après avoir activé le mode d'affichage Complexité du shader, le hublot du niveau doit être similaire à celui de la vidéo suivante.
La superposition est démontrée très clairement dans la vidéo lorsque la caméra tourne autour des sphères transparentes du niveau. Lorsque toutes les sphères sont affichées côte à côte, la superposition disparaît et le vert prédomine dans le hublot. Lorsque les six sphères sont toutes dans la même ligne de visée, les zones qui se chevauchent le plus deviennent rouge vif pour indiquer une superposition. Bien qu'il soit impossible, voire déconseillé, d'éliminer à 100 % la superposition, ce mode d'affichage peut s'avérer très utile lorsque vous tentez de déterminer l'origine exacte de vos problèmes de performance.
Priorité de tri de la translucidité
Lorsque plusieurs objets transparents sont proches les uns des autres dans une scène, vous remarquerez que le moteur a parfois du mal à déterminer quel objet doit être rendu devant ou derrière les autres objets transparents. Comme le montre l'exemple suivant, ce problème se produit lors de l'utilisation des matériaux ci-dessus et des effets visuels de vapeur éclairée du contenu de démarrage.
Remarquez que la vapeur est initialement rendue devant les maillages et qu'elle apparaît soudainement derrière chaque sphère. Pour éviter ce problème, vous devez définir l'option Priorité de tri de la translucidité de manière à ce que les effets visuels de la fumée soient toujours rendus par-dessus les autres translucidités de la scène. Pour modifier la priorité de tri de la translucidité sur les effets visuels, procédez comme suit.
-
Sélectionnez tout d'abord le ou les objets que vous souhaitez rendre par-dessus toutes les autres translucidités du niveau. Dans ce cas, sélectionnez le système de particules des effets visuels.
-
Dans le panneau Détails, accédez à la section Rendu, puis développez la sous-catégorie Paramètres avancés.
-
Dans la nouvelle liste d'options, recherchez Priorité de tri des translucidités et saisissez une valeur de 100.
Par défaut, tous les éléments ajoutés à un niveau ont une priorité de tri de translucidité de 0. Si vous souhaitez qu'un objet transparent apparaisse toujours par-dessus tous les éléments transparents, utilisez des valeurs positives. À l'inverse, pour qu'un objet transparent apparaisse toujours derrière tous les éléments transparents, utilisez des valeurs négatives.
-
À présent, extrayez les effets visuels de vapeur dans la scène. Avec une priorité de tri de la translucidité de 100, la vapeur apparaît toujours au-dessus des autres objets translucides.
-
En définissant la priorité de tri de la translucidité sur -100, la vapeur apparaît toujours derrière les autres objets translucides.
Si l'option Priorité de tri de la translucidité permet de résoudre le problème de tri dans le niveau, elle risque d'introduire de nouveaux problèmes de tri lors de l'apparition d'effets ou d'objets pendant le jeu. C'est la raison pour laquelle il est conseillé de définir le numéro de priorité de tri de la translucidité à utiliser et à quel endroit. Par exemple, vous pouvez décider que tous les effets qui apparaissent doivent avoir une priorité de tri de la translucidité de 100. Ainsi, en cas de problèmes de tri dans le niveau, vous pouvez ajuster les objets dans les niveaux Priorité de tri de la translucidité et sélectionner n'importe quelle valeur jusqu'à 99. De cette façon, les effets de jeu qui apparaissent sont toujours rendus par-dessus tout le reste, quelle que soit la valeur de l'option Priorité de tri de la translucidité dans le niveau.
Conclusion
La transparence est un outil très puissant qui peut vous aider à donner vie à vos projets 3D. N'oubliez pas de limiter autant que possible le nombre d'objets transparents qui utilisent des reflets afin d'éviter les problèmes de performances. Enfin, veillez à vérifier régulièrement le mode Complexité du shader, à la fois dans l'éditeur et pendant le jeu, pour minimiser la superposition de la transparence.