Cet exemple montre comment créer un réseau d'ombrage à l'aide d'un matériau Interactive et de noeuds ShaderFX, afin de mélanger deux textures en peignant les sommets.
Remarque : Dans 3ds Max 2018.4 Update, l'ombrage physique Stingray a été renommé Interactive.
Cet exemple est similaire à l'exemple "Mélanger les textures à l'aide d'un noeud Couleur sommet" dans la rubrique Exemple de flux de travail d'introduction ShaderFX ; toutefois, il utilise le noeud de base standard Interactive et les noeuds ShaderFX associés.
Pour préparer le graphique
- Créez un plan dans la scène. Dans la fenêtre Perspective, appuyez sur la touche G pour désactiver l'affichage de la grille.
- Ouvrez l'Editeur de matériaux, sélectionnez un matériau d'ombrage DirectX et appliquez-le au plan.
- Dans le panneau déroulant Ombrage DirectX, choisissez Interactive dans la liste déroulante et cliquez sur Ouvrir ShaderFX.
- Dans la fenêtre ShaderFX, cliquez pour mettre en surbrillance le noeud de base standard. Dans le panneau déroulant Propriétés, cliquez sur Rendre unique pour transformer l'ombrage en ombrage personnalisé.
- Dans le panneau déroulant Propriétés, choisissez Matériau prédéf.
Personnalisé et supprimez les autres noeuds de la valeur prédéfinie Interactive.
Le réseau d'ombrage contient désormais uniquement le noeud de base standard.
Ajoutez les noeuds au graphique :
- Ajouter un noeud Math
Interpolation linéaire.
- Ajoutez deux noeuds Echantillon
Echantillon de texture.
- Ajouter un noeud d'entrées de sommet
Texcoord0.
- Reliez la sortie RV du noeud Textcoord0 à l'entrée UV des deux noeuds Echantillon de texture et reliez la sortie RVBA de chaque noeud Echantillon de texture à une entrée Valeur du noeud Interpolation linéaire.
- Ajoutez un noeud d'entrée
Variable de matériau.
- Mettez en surbrillance le noeud Variable de matériau et, dans le groupe de fonctions Propriétés, sélectionnez Type
Scalaire.
- Reliez la sortie Résultat du noeud Variable de matériau à l'entrée Mélange du noeud Interpolation linéaire, puis reliez la sortie Résultat du noeud Interpolation linéaire à l'entrée Couleur de base du noeud de base standard.
Le graphique est à présent terminé. Dans la procédure suivante, vous allez ajuster l'interface utilisateur et affectez les maps de texture réelles.
Configurez les textures et le paramètre BlendMaps :
- Cliquez sur le noeud supérieur Map texture pour le mettre en surbrillance, puis remplacez son nom par Texture1 dans le groupe de fonctions Propriétés.
- Remplacez le nom de l'autre noeud Map texture par Texture2.
- Remplacez le nom du noeud Variable de matériau par BlendMaps.
- Réduisez l'éditeur ShaderFX.
- Dans Editeur de matériaux
panneau déroulant Paramètres, cliquez sur le bouton Texture1 et affectez une map (Complete-Right-Side copy.jpg, par exemple).
- Cliquez sur le bouton Texture2 et affectez une autre map (fac3.jpg, par exemple).
Les textures utilisées dans cet exemple se trouvent dans le dossier \tutorials\sceneassets\images, disponible si vous téléchargez les fichiers du didacticiel. Consultez http://www.autodesk.com/3dsmax-tutorials-scene-files-2016. (Si vous utilisez la map fac3.jpg, assurez-vous que l'option Séquence est désactivée dans la boîte de dialogue Fichier.)
Utilisez l'option BlendMaps pour ajuster le mélange des maps de texture :
Lorsque le paramètre BlendMaps est configuré sur sa valeur par défaut (0.0), seule la première texture s'affiche, comme vous pouvez le constater si vous déplacez l'éditeur de matériaux de manière à afficher la fenêtre Perspective.
- Modifiez la valeur de BlendMaps de manière à afficher le résultat du mélange des deux maps. Si la valeur est 1.0, seule la deuxième map est visible. Les valeurs intermédiaires offrent des combinaisons des deux maps.

BlendMaps=1.0

BlendMaps=0.75
Enregistrez votre travail :
- Ouvrir de nouveau l'éditeur ShaderFX.
- Dans la barre de menus de l'éditeur ShaderFX, choisissez Fichier
Exporter le graphique.
- Dans la boîte de dialogue Fichier, enregistrez le nouvel ombrage sous blend_example.sfx.
- Fermez l'éditeur ShaderFX.
- Enregistrez la scène sous blend_example.max.