Au cours du développement du projet, vous aurez peut-être besoin d'un matériau auto-éclairé ou lumineux. Dans l'Unreal Engine, les matériaux auto-éclairés sont appelés matériaux émissifs. Dans le tutoriel suivant, vous apprendrez à créer des matériaux utilisant l'entrée Couleur émissive et à créer des matériaux émissifs qui projettent de la lumière dans le monde que vous créez.
Éclairage émissif
Dans l'Unreal Engine, les matériaux émissifs offrent aux artistes un moyen très économique et efficace de créer l'impression qu'une surface brille ou projette de la lumière sans utiliser aucun des types de lumière standard d'Unreal. En fonction de vos paramètres, les matériaux émissifs peuvent agir comme une véritable source de lumière qui éclaire l'environnement qui les entoure, ou ils peuvent s'éclairer eux-mêmes sans émettre de lumière dans la scène.
Les matériaux émissifs sont créés en saisissant des valeurs supérieures à 1,0 dans l'entrée Couleur émissive du nœud de matériau principal. Cela pousse le matériau dans la plage HDR, produisant un effet de flou lumineux.
Matériaux émissifs éclairés et non éclairés
Les matériaux émissifs sont auto-éclairants, ce qui signifie que vous pouvez les utiliser avec les modèles d'ombrage éclairé et non éclairé. Lorsque vous créez un matériau entièrement émissif, vous pouvez utiliser le Modèle d'ombrage non éclairé, car le résultat sera un shader plus économe en rendu. Vous pouvez utiliser le modèle d'ombrage éclairé par défaut dans les cas où vous avez besoin qu'un aspect du matériau reçoive un éclairage de la scène.
Quand utiliser le modèle d'ombrage non éclairé : vous devez utiliser le modèle d'ombrage non éclairé si votre Matériau émissif n'a pas besoin d'interagir avec l'éclairage du niveau. Par exemple, si vous utilisez le matériau émissif strictement pour simuler une source de lumière, comme une carte lumineuse ou la surface d'une ampoule.
Quand utiliser le modèle d'ombrage par défaut : vous devez utiliser le modèle d'ombrage éclairé si vous souhaitez que votre Matériau émissif utilise l'une des autres entrées de shader du nœud de matériau principal. Par exemple, si vous utilisez des masques de texture pour que seule une partie du matériau soit émissive. Si vous créez un matériau pour un pistolet équipé de lumières, vous utiliserez le modèle d'ombrage éclairé par défaut pour que la texture de normales, la couleur de base et les autres entrées du shader fonctionnent toujours. Vous devez utiliser le modèle d'ombrage éclairé par défaut si vous souhaitez que votre matériau émissif éclaire les objets qui l'entourent.
Création d'un matériau entièrement émissif
Cette section montre comment créer un matériau entièrement émissif, utilisé uniquement pour simuler une source de lumière. Le matériau aura deux paramètres pour contrôler la couleur et la luminosité de la lumière.
Faites un clic droit dans le navigateur de contenu et sélectionnez Matériau dans la section Créer une ressource de base du menu contextuel. Renommez le nouveau Matériau EmissiveLightSource.
Ajoutez les nœuds suivants à votre graphique de matériau.
Paramètre vectoriel
Paramètre scalaire
Multiplier
Renommez le paramètre vectoriel Couleur émissive et renommez le paramètre scalaire Intensité émissive. Une fois terminé, votre graphique devrait ressembler à l'image ci-dessous.
Connectez les nœuds comme indiqué dans l'image ci-dessous et connectez la sortie Multiplier à l'entrée Couleur émissive. Sélectionnez chaque paramètre et définissez une valeur par défaut dans le panneau Détails. Dans l'exemple ci-dessous, la Couleur émissive est réglée sur rouge et l'Intensité émissive est réglée sur 6.
Cliquez sur Enregistrer dans la barre d'outils pour compiler le matériau et enregistrer la ressource. Fermez l'Éditeur de matériau.
Faites un clic droit sur le matériau EmissiveLightSource dans le navigateur de contenu et sélectionnez Créer une instance de matériau.
Double-cliquez sur la ressource EmissiveLightSource_Inst pour l'ouvrir dans l'Éditeur d'instance de matériau. Activez les deux paramètres en cochant la case à côté du nom du paramètre. Une fois l'option activée, vous pouvez modifier les valeurs de Couleur émissive et d'Intensité émissive en temps réel.
Création d'un matériau émissif masqué
Cet exemple montre comment créer un matériau qui utilise un masque de texture pour définir les parties du matériau qui sont émissives. Comme ce matériau n'est que partiellement émissif, il est nécessaire d'utiliser le modèle d'ombrage éclairé par défaut.
Dans ce didacticiel, nous utilisons les ressources du contenu de démarrage de l'Unreal Engine. Les techniques présentées ici fonctionnent avec toutes les textures, mais si vous voulez recréer l'exemple, assurez-vous d'inclure le Contenu de démarrage dans votre projet. Si vous n'avez pas inclus le contenu de démarrage lors de la création de votre projet, lisez la page Migration des ressources pour savoir comment migrer le contenu dans votre projet actuel.
Créez un nouveau matériau et ouvrez-le dans l'Éditeur de matériaux. Ce Matériau doit utiliser le Modèle d'ombrage Éclairé par défaut.
Ajoutez les expressions de matériau suivantes à votre graphique.
Paramètre vectoriel x 2
Paramètre scalaire x 2
Échantillon de texture - T_Tech_Panel_M
Échantillon de texture - T_Tech_Panel_N
Multiplier x 4
Ajouter x 1
Les paramètres seront utilisés pour contrôler l'intensité et la couleur émissives, comme dans l'exemple précédent. Renommez les Paramètres vectoriels Couleur émissive 1 et Couleur émissive 2. Renommez les Paramètres scalaires Puissance émissive 1 et Puissance émissive 2 Changez les valeurs par défaut en couleurs et puissances de votre choix.
La texture T_Tech_Panel_M contient quatre masques d'image différents dans chacun de ses canaux. Ce matériau utilisera les canaux Rouge et Bleu pour créer deux sections émissives différentes sur le matériau.
Connectez les nœuds comme indiqué dans l'image ci-dessous. Cette logique fonctionne parce que les masques de texture contiennent des valeurs noires et blanches pures. Lorsque les paramètres de couleur sont multipliés par les valeurs du masque de texture, tout pixel noir du masque produira une valeur émissive de 0. Seules les parties blanches du masque sont émissives, comme l'illustre l'aperçu ci-dessous. Vous pouvez modifier indépendamment la couleur et l'intensité de chacune des deux régions émissives d'une Instance de matériau.
Cliquez sur l'image pour l'agrandir.
Cliquez sur Enregistrer dans la barre d'outils pour compiler le matériau et enregistrer la ressource. Fermez l'Éditeur de matériau.
Faites un clic droit sur la ressource EmissiveMaterialMasked dans le navigateur de contenu et sélectionnez Créer une instance de matériau.
Double-cliquez sur la ressource EmissiveMaterialMasked_Inst pour l'ouvrir dans l'Éditeur d'instance de matériau. Cochez la case en regard des quatre paramètres pour les remplacer dans l'Instance de matériau. Une fois activée, vous pouvez contrôler individuellement l'apparence des deux régions émissives, y compris les activer ou les désactiver en réglant les paramètres Emissive Power sur 0.
Création d'une carte de test
Dans le reste des exemples, la carte de test simple présentée ci-dessous est utilisée pour démontrer comment la lumière émissive se propage dans un environnement de l'Unreal.
Suivez les étapes suivantes pour créer une carte de test similaire. Toutes les ressources de cette scène proviennent du contenu de démarrage de l'Unreal.
Créez un nouveau niveau en allant sur Fichier > Nouveau niveau et sélectionnez l'option Heure du jour dans la boîte de dialogue Nouveau niveau.
Vous pouvez également créer un nouveau niveau en appuyant sur CRTL + N sur le clavier.
La scène de démonstration a été créée avec les ressources répertoriées ci-dessous.
Wall_500x500 - Cinq instances disposées sous la forme d'une pièce, comme indiqué ci-dessous.
M_Brick_Clay_New - Matériau appliqué aux cinq instances de mur.
Shape_sphere - Placée au centre de la salle de test.
Lorsque la pièce est terminée, enregistrez votre carte en appuyant sur CTRL + S sur le clavier.
Matériaux émissifs avec lumen
Lorsque l'illumination globale Lumen est activée, la lumière des Matériaux émissifs se propage automatiquement dans la scène, sans coût supplémentaire en matière de performance. Il s'agit d'une approche puissante et très dynamique de l'éclairage, mais vous devez être prudent lorsque vous utilisez des sources lumineuses émissives très petites ou très lumineuses, car elles peuvent toutes deux provoquer des artefacts bruyants.
L'illumination globale Lumen est activée par défaut dans les projets de l'Unreal Engine 5 nouvellement créés. Si vous convertissez un ancien projet UE4 en UE5, vous devrez activer manuellement Lumen. Vous en saurez plus sur l'activation de Lumen ici.
La vidéo ci-dessous montre comment les matériaux émissifs projettent l'éclairage dans une scène où Lumen est activé. Il convient de noter que la taille d'une source lumineuse émissive modifie la luminosité apparente et la distance de déclinaison de l'éclairage.
Matériaux émissifs avec éclairage statique
Les matériaux émissifs peuvent projeter de la lumière dans le niveau lorsque vous utilisez l'éclairage statique, mais cette fonctionnalité n'est pas activée par défaut. Si une version Lightmass CPU est créée sans autre éclairage dans la scène, les parties auto-éclairées du Matériau émissif sont visibles, mais le matériau n'éclaire aucun des objets qui l'entourent.
Pour que ce matériau projette de la lumière dans la scène, vous devez activer un paramètre dans le panneau Détails. Sélectionnez le maillage statique sur lequel le matériau émissif est appliqué. Dans ce cas, le cube.
Dans le panneau Détails, recherchez "emissive", et sous Paramètres de Lightmass, cochez la case pour activer Utiliser l'émissivité pour l'éclairage statique.
Il existe également un paramètre Améliorer l'émissivité. Si vous créez une version Lightmass et que la lumière émissive est trop faible, vous pouvez entrer une valeur supérieure à 1 pour améliorer le résultat. Une autre façon d'augmenter la luminosité est d'augmenter le paramètre Puissance émissive dans l'instance de matériau.
Le curseur ci-dessous montre comment l'éclairage statique change lorsque l'option Utiliser l'émissivité pour l'éclairage statique est activée, puis augmentée à 2.
(1) Utilisation d'émissivité pour l'éclairage statique désactivée, (2) Émissivité pour l'éclairage statique activée, (3) Émissivité améliorée réglée sur 2.
Émissivité et Lightmass du processeur graphique
Le paramètre Utiliser l'émissivité pour l'éclairage statique n'est pas nécessaire lors de la prégénération de l'éclairage avec Lightmass du processeur graphique. La lumière des matériaux émissifs se propage automatiquement dans le résultat Lightmass du processeur graphique. Si vous devez augmenter ou diminuer la luminosité de l'éclairage émissif dans une prégénération Lightmass du processeur graphique, vous pouvez modifier les valeurs de luminosité dans le Matériau ou l'Instance de matériau.
Flou lumineux et influence de l'émissivité
Lorsque vous augmentez la luminosité d'un matériau émissif, l'effet de flou lumineux généré en post-traitement à partir des sections émissives du matériau devient de plus en plus lumineux. Il peut arriver que vous souhaitiez augmenter les valeurs émissives dans le matériau, mais que vous ne vouliez pas que l'effet de flou lumineux envahisse l'image.
Vous pouvez contrôler l'effet de flou lumineux indépendamment de la puissance émissive dans le Volume de post-traitement. Cela vous permet de maintenir l'effet de flou lumineux à un niveau raisonnable pendant que vous augmentez ou diminuez la luminosité émissive.
Le réglage de cette valeur permet de compenser lorsque vous poussez les valeurs d'émissivité très haut pour obtenir une lumière plus statique à partir d'un matériau émissif qui diffuse dans le monde.
Dans la vidéo ci-dessous, l'une des valeurs de la puissance émissive est augmentée à 100, et l'effet de flou lumineux prend le dessus. Pour compenser, vous pouvez sélectionner le volume du post-traitement, rechercher "flou lumineux" et réduire la valeur pour obtenir un résultat plus attrayant visuellement. Vous pouvez également modifier le paramètre de flou lumineux en Convolution pour imiter l'effet de rayonnement de la caméra.
Rebonds multiples de l'éclairage indirect
Lorsque l'option Utiliser l'émissivité pour l'éclairage statique est activée, vous pouvez utiliser plusieurs rebonds de lumière indirecte pour adoucir et améliorer l'éclairage. Dans le panneau Paramètres du monde, développez Paramètres de Lightmass et augmentez la valeur Reflets de lumière naturelle numérisée.