Parcours : Architecture Track: Manufacturing Track: Film & Television Track: Virtual Production Track: Games Tags:Matériaux Tags: Shaders Course:creating-pbr-materials|Creating PBR Materials|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fcreating-pbr-materials%2FHighresScreenshot00006-1920x1050-2c0180460478cd00327494c6e5717e227be4926d.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fcreating-pbr-materials%2FCreating-PBR-Materials-1000x1000-0d34ec4bfc3eeb466ce5a981a867921f72464e77.png?resize=1&w=300 Course:getting-to-know-materials-for-design-visualization|Getting to Know Materials for Design Visualization|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fgetting-to-know-materials-for-design-visualization%2FIntro_to_Materials_003-1919x1079-f32638266c469a6fa2b9b2f3515e5766e8177b22.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fgetting-to-know-materials-for-design-visualization%2FGetting-to-Know-Materials-for-Design-Visualization-1000x1000-8cd1670f84e0111e39d4a3faa1e7a6ba29a30bfe.png?resize=1&w=300 Course:materials---exploring-essential-concepts|Materials — Exploring Essential Concepts|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---exploring-essential-concepts%2FMaterialEssentialConcepts-1920x1080-1920x1080-2414bb5cf0b0c3bd7ac4b993e725d2acedd45334.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---exploring-essential-concepts%2FMaterials--Exploring-Essential-Concepts-1000x1000-9546cdc254e6659ce73211b5955ab9d886921256.png?resize=1&w=300 Course:materials---understanding-the-production-workflow|Materials — Understanding the Production Workflow|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---understanding-the-production-workflow%2FMaterialWorkflow_ThumbnailFull-1920x1080-1920x1080-638fea6d7e3b7b299a4f433096336ce1caf662d0.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials---understanding-the-production-workflow%2F104-Materials-Production-Workflow%402x-1000x1000-ae1ba588a367d239fbe513da38bb793360c9eecf.png?resize=1&w=300 Course:materials-master-learning|Materials — Master Learning|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials-master-learning%2FMaterialMaster_1920x1080-1920x1080-212f85045980310d6985557f84d0217e6423b709.png?resize=1&w=1400|https://cdn2.unrealengine.com/Unreal+Engine%2Fonlinelearning-courses%2Fmaterials-master-learning%2FMaterials-Master-Learning-1000x1000-56fd0b66f6e798313f79737126d9215cbd4a3ff9.png?resize=1&w=300
La catégorie WorldPositionOffset contient des fonctions spéciales permettant d'appliquer la manipulation des vertex d'un maillage à l’aide de l’entrée de décalage de position dans le monde. Ces fonctions peuvent être enchaînées entre elles pour obtenir des effets additifs.
SimpleGrassWind
La fonction SimpleGrassWind applique un opérateur de vent de base à la végétation, ce qui permet de spécifier une texture de pondération et une force de vent. Il s'agit d'un vent non directionnel qui donne simplement un mouvement très général à la végétation. Cela devrait être le dernier nœud WPO que vous ajoutez.
| Entrées | Description |
|---|---|
| WindIntensity (Scalaire) | Contrôler dans quelle mesure le vent affecte le maillage. |
| WindWeight (Scalaire) | Il s'agit d'une texture de niveaux de gris qui contrôle dans quelle mesure les vertex du maillage réagissent au vent. |
| WindSpeed (Scalaire) | Ce paramètre contrôle la vitesse du vent. |
| AdditionalWPO (Vector3) | Prendre en compte tout réseau de décalage de position dans le monde ou toute fonction supplémentaire. |
Voici à quoi ressemble l'effet en mouvement.
SplineThicken
La fonction SplineThicken permet de donner un aspect plus épais aux polygones très fins au moment du rendu. Elle est idéale pour les câbles, le poil, l'herbe et d’autres objets de ce type.
Les objets utilisant cette fonction doivent être extrêmement fins et avoir une disposition d’UV normalisée. Les objets doivent être importés avec l’option "Supprimer les triangles dégénérés" désactivée.
| Entrées | Description |
|---|---|
| WidthBase (Scalaire) | Cette option définit la largeur d'un seul objet polygonal à sa base. |
| WidthTip (Scalaire) | Cette option définit la largeur d'un objet polygonal à son extrémité. |
| WorldPosition (Vector3) | La position dans le monde prend en compte toute fonction existante de décalage de position dans le monde et y ajoute cette fonction. |
| UV pour la projection (Vector2) | Il s'agit des coordonnées de texture à utiliser dans l’extension de la spline. |
| UV pour l'épaisseur (Vector2) | Il s'agit des coordonnées de texture à utiliser pour le mappeur d'épaisseur si la projection se fait à partir de U ; il s’agira du composant Y de l'index d'UV spécifié pour la fusion de l'épaisseur. |
| UV pour la texture (Vector2) | Il s'agit du canal UV pour l'apposition de texture. Il doit s'agir du même canal UV sur lequel vous souhaitez appliquer la correction de parallaxe 3D. |
| Développer le canal UV U ou V (StaticBool) | Définir s'il faut développer le maillage dans U ou V. La valeur par défaut est true, ce qui correspond à U. |
| DriveNormalZ (variable booléenne) | Elle utilise DeriveNormalZ pour créer une texture de normales parfaitement ronde. |
| AngleCorrectedNormal (variable booléenne) | Utiliser DerivedNormalZ pour créer une texture de normales parfaitement ronde. Nécessite un vertex de tesselation central sinon la valeur de Z sera de 0 pour l'ensemble de la face, ce qui entraîne un éclairage intense. |
| AdditionalNormal (Vector3) | Cette option ajoute une texture de normale à la transformation de la normalmap. |
| FlattenPixelNormal (variable booléenne) | |
| UV pour NormalShading (Vector2) | |
| Sorties | |
| Normale | La normale sortante de la géométrie ajustée. |
| WorldPositionOffset | Il s'agit du résultat que vous pouvez ajouter à d'autres calculs de décalage de position dans le monde. |
| UV avec parallaxe |
Décalage de la caméra
La fonction CameraOffset est idéale pour faciliter le tri en profondeur, car elle permet de déplacer un objet dans l'espace de la caméra, soit vers la caméra, soit loin de celle-ci.
| Entrées | Description |
|---|---|
| OffsetAmount (scalaire) | Saisir un nombre négatif ou positif pour décaler le modèle dans la direction de la caméra. Notez qu'une valeur positive rapproche le modèle de la caméra et entraîne des erreurs de rendu si le maillage dépasse largement la boîte englobante des modèles. |
| Marge intérieure de fixation (scalaire) | La marge intérieure nécessaire pour empêcher le détourage de la version fixée de la valeur de décalage dans la caméra. |
| WorldPosition (Vector3) | Saisir la position dans le monde du vertex du modèle. Valeur par défaut = position dans le monde. |
| Sorties | |
| Décalage de caméra fixé | Le décalage de la caméra est fixé pour éviter les intersections de caméra précoces. Ajustez la marge intérieure pour modifier la quantité d'espace réservée pour éviter l'intersection de la caméra. |
| Décalage de la caméra | Ajouter cette valeur à un autre code de décalage de position dans le monde ou la saisir directement dans le matériau maître de décalage de position dans le monde pour décaler le maillage. |
Lorsque le paramètre Offset (Décalage) de ce graphique est remplacé dans l’éditeur d’instance de matériau, la sphère est déplacée vers la caméra ou loin de celle-ci.
ObjectPivotPoint
La fonction ObjectPivotPoint renvoie le point de pivot de l'objet dans l'espace du monde. Cela n'est pas compatible avec le shader de pixels.
| Sorties | Description |
|---|---|
| Emplacement du pivot de l’objet | Renvoyer le point de pivot de l'objet dans l'espace du monde. Cela ne fonctionne qu'avec le shader de vertex et est incompatible avec le shader de pixels. |
Ce graphique utilise la fonction Object Pivot Point avec une logique minimale pour mettre à l’échelle un objet à partir de son point de pivot en utilisant un paramètre scalaire dans l’éditeur d’instance de matériau. Le résultat peut être observé dans la démonstration ci-dessous :
ObjectScale
La fonction ObjectScale renvoie la plage XYZ de l'objet ensemble et séparément. Cela n'est pas compatible avec le shader de pixels.
| Sorties | Description |
|---|---|
| Échelle XYZ | Renvoyer une valeur float3 égale à l’échelle XYZ de l'objet. Cela n'est pas compatible avec le shader de pixels. |
| Échelle X | Renvoyer une valeur scalaire égale à l’échelle X de l'objet. Cela n'est pas compatible avec le shader de pixels. |
| Échelle Y | Renvoyer une valeur scalaire égale à l’échelle Y de l'objet. Cela n'est pas compatible avec le shader de pixels. |
| Échelle Z | Renvoyer une valeur scalaire égale à l’échelle Z de l'objet. Cela n'est pas compatible avec le shader de pixels. |
Dans la vidéo ci-dessous, la sortie ScaleXYZ est utilisée comme multiplicateur de l'entrée émissive. Lorsque la taille de la sphère augmente, la valeur émissive augmente également et la sphère brille plus fort.
Axe de pivot
La fonction PivotAxis crée un emplacement de pivot commun sur des axes arbitraires. Cela est utile pour créer un mouvement d'indicateur. Au lieu d'utiliser un seul point de pivot près du haut de l'indicateur, utilisez un point Z partagé et des données de localisation X et Y uniques pour créer une connexion plus réaliste le long de la largeur de l'objet.
Ce nœud de shader ne prend en charge que la mise à l'échelle uniforme. De plus, l'axe de l'axe de rotation et l'axe/la position du pivot ne doivent pas coïncider.
| Entrées | Description |
|---|---|
| Axe/position du pivot (Vector3) | Saisir un nombre à utiliser à la fois comme axe de ligne d'axe local et comme position. Si vous souhaitez verrouiller votre modèle, entrez sur son axe Z local près de l’entrée de son pivot (0,0,1). Si vous souhaitez verrouiller le haut du modèle, entrez la hauteur de votre modèle sous la forme (0,0,hauteur du modèle). |
| Sorties | |
| Pivot | Ce paramètre peut être utilisé comme point de pivot dans le nœud Rotate about axis. |
RotateAboutWorldAxis_cheap
La fonction RotateAboutWorldAxis_cheap permet de faire pivoter à moindre coût les objets autour des axes du monde. Saisissez l'angle que vous souhaitez utiliser et joignez la sortie au décalage de position dans le monde.
| Entrées | Description |
|---|---|
| Taux de rotation (scalaire) | Une valeur de 1 correspond à une rotation complète. |
| PivotPoint (Vector3) | Emplacement dans l’espace du monde du point de pivot autour duquel la rotation est effectuée. La valeur par défaut est le point de pivot du modèle. |
| WorldPosition (Vector3) | Emplacement dans l'espace du monde de vertex individuels. Le nœud WorldPosition est généralement utilisé. |
| Sorties | |
| Axe X | Faire tourner à moindre coût l'objet autour de l'axe X du monde. |
| Axe Y | Faire tourner à moindre coût l'objet autour de l'axe Y du monde. |
| Axe Z | Faire tourner à moindre coût l'objet autour de l'axe Z du monde. |
La vidéo ci-dessous montre un exemple de matériau qui fait tourner un cube autour de son propre point de pivot. Observez le changement de l’axe de rotation lorsque chacune des trois broches de sortie est utilisée.
StaticMeshMorphTargets
La fonction StaticMeshMorphTargets décompresse les données de cible de morphose qui ont été ajoutées via le Morph Packer MAXScript de 3 ds Max.
| Sorties | Description |
|---|---|
| Normales de la cible de morphose 1 | Les normales de surface associées à la cible de morphose 1. |
| WPO de la cible de morphose 1 | Le décalage de position dans le monde de la cible de morphose 1. |
| **WPO de la cible de morphose 2 | Le décalage de position dans le monde de la cible de morphose 2. |
Vent
La fonction Wind fournit des sorties séparées pour la force du vent, la vitesse multipliée par le temps et un vecteur de vent normalisé.
| Entrées | Description |
|---|---|
| WindActor (Vector4) | Cette option prend un acteur Wind (en développement). À ce stade, vous pouvez utiliser un Vector4 pour désigner la direction et la force du vent. |
| Sorties | |
| Vecteur de vent normalisé | Le vecteur de vent, normalisé dans l'espace 0-1. |
| WindStrength | Renvoyer la force du vent. La magnitude du vecteur de vent obtenue en calculant la distance du vecteur de vent à 0. |
| WindSpeed | La vitesse du vent multipliée par le temps. |
| WindActor | Noeud WindActor standard. |
