Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Standard Material 3D and ORM Material 3D

Introduction

StandardMaterial3D et ORMMaterial3D sont des matériaux 3D par défaut qui visent à fournir la plupart des caractéristiques que les artistes recherchent dans un matériau, sans qu'il soit nécessaire d'écrire du code de shader. Cependant, il peut être converti en code shader si des fonctionnalités supplémentaires sont nécessaires.

Ce tutoriel explique les paramètres présents dans les deux matériaux.

Il existe quatre façons d'ajouter ces matériaux à un objet. Un matériau peut être ajouté dans la propriété Material du maillage. Il peut être ajouté dans la propriété Material du nœud qui utilise le maillage (tel qu'un nœud MeshInstance3D ), dans la propriété Material Override du nœud qui utilise le maillage et dans la propriété Material Overlay.

../../_images/add_material.webp

Si vous ajoutez un matériau au maillage lui-même, à chaque fois que ce maillage est utilisé, il aura ce matériau. Si vous ajoutez un matériau au nœud qui utilise le maillage, le matériau ne sera utilisé que par ce nœud, et remplacera également la propriété de matériau du maillage. Si un matériau est ajouté dans la propriété Material Override du nœud, il ne sera utilisé que par ce nœud. Il remplacera également la propriété de matériau ordinaire du nœud et la propriété de matériau du maillage.

La propriété Material Overlay va rendre un matériau par-dessus le matériau actuellement utilisé par le maillage. Par exemple, cela peut être utilisé pour appliquer un effet de bouclier transparent sur le maillage.

Paramètres 3D du BaseMaterial

StandardMaterial3D a de nombreux réglages qui déterminent l'aspect d'un matériau. Tous sont sous la catégorie BaseMaterial3D

../../_images/spatial_material1.webp

ORM materials are almost exactly the same with one difference. Instead of separate settings and textures for occlusion, roughness, and metallic, there is a single ORM texture. The different color channels of that texture are used for each parameter. Programs such as Substance Painter and Armor Paint will give you the option to export in this format, for these two programs it's with the export preset for unreal engine, which also uses ORM textures.

Transparence

By default, materials in Godot are opaque. This is fast to render, but it means the material can't be seen through even if you use a transparent texture in the Albedo > Texture property (or set Albedo > Color to a transparent color).

To be able to see through a material, the material needs to be made transparent. Godot offers several transparency modes:

  • Disabled: Material is opaque. This is the fastest to render, with all rendering features supported.

  • Alpha: Material is transparent. Semi-transparent areas are drawn with blending. This is slow to render, but it allows for partial transparency (also known as translucency). Materials using alpha blending also can't cast shadows, and are not visible in screen-space reflections.

    • Alpha is a good fit for particle effects and VFX.

  • Alpha Scissor: Material is transparent. Semi-transparent areas whose opacity is below Alpha Scissor Threshold are not drawn (above this opacity, these are drawn as opaque). This is faster to render than Alpha and doesn't exhibit transparency sorting issues. The downside is that this results in "all or nothing" transparency, with no intermediate values possible. Materials using alpha scissor can cast shadows.

    • Alpha Scissor is ideal for foliage and fences, since these have hard edges and require correct sorting to look good.

  • Alpha Hash: Material is transparent. Semi-transparent areas are drawn using dithering. This is also "all or nothing" transparency, but dithering helps represent partially opaque areas with limited precision depending on viewport resolution. Materials using alpha hash can cast shadows.

    • Alpha Hash is suited for realistic-looking hair, although stylized hair may work better with alpha scissor.

  • Depth Pre-Pass: This renders the object's fully opaque pixels via the opaque pipeline first, then renders the rest with alpha blending. This allows transparency sorting to be mostly correct (albeit not fully so, as partially transparent regions may still exhibit incorrect sorting). Materials using depth prepass can cast shadows.

Note

Godot will automatically force the material to be transparent with alpha blending if any of these conditions is met:

  • Setting the transparency mode to Alpha (as described here).

  • Setting a blend mode other than the default Mix

  • Enabling Refraction, Proximity Fade, or Distance Fade.

Comparison between alpha blending (left) and alpha scissor (right) transparency:

../../_images/spatial_material12.png

Avertissement

Alpha-blended transparency has several limitations:

  • Alpha-blended materials are significantly slower to render, especially if they overlap.

  • Alpha-blended materials may exhibit sorting issues when transparent surfaces overlap each other. This means that surfaces may render in the incorrect order, with surfaces in the back appearing to be in front of those which are actually closer to the camera.

  • Alpha-blended materials don't cast shadows, although they can receive shadows.

  • Alpha-blended materials don't appear in any reflections (other than reflection probes).

  • Screen-space reflections and sharp SDFGI reflections don't appear on alpha-blended materials. When SDFGI is enabled, rough reflections are used as a fallback regardless of material roughness.

Before using the Alpha transparency mode, always consider whether another transparency mode is more suited for your needs.

Antialiasing Alpha

Note

This property is only visible when the transparency mode is Alpha Scissor or Alpha Hash.

While alpha scissor and alpha hash materials are faster to render than alpha-blended materials, they exhibit hard edges between opaque and transparent regions. While it's possible to use post-processing-based antialiasing techniques such as FXAA and TAA, this is not always desired as these techniques tend to make the final result look blurrier or exhibit ghosting artifacts.

There are 3 alpha antialiasing modes available:

  • Disabled: No alpha antialiasing. Edges of transparent materials will appear aliased unless a post-processing-based antialiasing solution is used.

  • Alpha Edge Blend: Results in a smooth transition between opaque and transparent areas. Also known as "alpha to coverage".

  • Alpha Edge Clip: Results in a sharp, but still antialiased transition between opaque and transparent areas. Also known as "alpha to coverage + alpha to one".

When the alpha antialiasing mode is set to Alpha Edge Blend or Alpha Edge Clip, a new Alpha Antialiasing Edge property becomes visible below in the inspector. This property controls the threshold below which pixels should be made transparent. While you've already defined an alpha scissor threshold (when using Alpha Scissor only), this additional threshold is used to smoothly transition between opaque and transparent pixels. Alpha Antialiasing Edge must always be set to a value that is strictly below the alpha scissor threshold. The default of 0.3 is a sensible value with an alpha scissor of threshold of 0.5, but remember to adjust this alpha antialiasing edge when modifying the alpha scissor threshold.

If you find the antialiasing effect not effective enough, try increasing Alpha Antialiasing Edge while making sure it's below Alpha Scissor Threshold (if the material uses alpha scissor). On the other hand, if you notice the texture's appearance visibly changing as the camera moves closer to the material, try decreasing Alpha Antialiasing Edge.

Important

For best results, MSAA 3D should be set to at least 2× in the Project Settings when using alpha antialiasing. This is because this feature relies on alpha to coverage, which is a feature provided by MSAA.

Without MSAA, a fixed dithering pattern is applied on the material's edges, which isn't very effective at smoothing out edges (although it can still help a little).

Mode mélange

Contrôle le mode de mélange du matériau. Gardez à l'esprit que tout mode autre que Mix force l'objet à passer par le pipeline transparent.

  • Mix : Mode de mélange par défaut, alpha contrôle la visibilité de l'objet.

  • Add : La couleur finale de l'objet est ajoutée à la couleur de l'écran, agréable pour les fusées éclairantes ou pour certains effets de type feu.

  • Subtract: The final color of the object is subtracted from the color of the screen.

  • Multiply: The final color of the object is multiplied with the color of the screen.

  • Premultiplied Alpha: The color of the object is expected to have already been multiplied by the alpha. This behaves like Add when the alpha is 0.0 (fully transparent) and like Mix when the alpha is 1.0 (opaque).

../../_images/spatial_material8.png

Mode de cull

Détermine quel côté de l'objet n'est pas dessiné lorsque les faces arrière sont rendues :

  • Retour : L’arrière de l'objet est éliminé lorsqu'il n'est pas visible (par défaut).

  • Face avant : La face avant de l'objet est éliminée lorsqu'elle n'est pas visible.

  • Désactivé : Utilisé pour les objets qui sont recto-verso (aucune élimination n'est effectuée).

Note

Par défaut, Blender a désactivé l'élimination de la face arrière des matériaux et exporte les matériaux en fonction de leur rendu dans Blender. Cela signifie que les matériaux dans Godot auront leur mode d'élimination défini sur Disabled. Cela peut diminuer les performances puisque les faces arrière seront rendues, même si elles sont réduites par d'autres faces. Pour résoudre ce problème, activez Backface Culling (Suppression des faces arrières) dans l'onglet Materials (propriétés de matériaux) de Blender, puis exportez à nouveau la scène vers glTF.

Mode de dessin en profondeur

Indique quand le rendu de profondeur doit avoir lieu.

  • Opaque Only(par défaut) : La profondeur n'est dessinée que pour les objets opaques.

  • Always : Le dessin en profondeur est dessiné pour les objets opaques et transparents.

  • Never : Aucun dessin de profondeur n'a lieu (ne pas confondre avec l'option Aucun test de profondeur ci-dessous).

  • Pré-passe de profondeur : Pour les objets transparents, une première passe est effectuée sur les parties opaques, puis la transparence est tracée par-dessus. Utilisez cette option avec de l'herbe ou du feuillage transparent.

../../_images/material_depth_draw.png

Pas de test de profondeur

Pour que des objets proches apparaissent au-dessus d'objets éloignés, des tests de profondeur sont effectués. Sa désactivation a pour conséquence l'apparition d'objets au-dessus (ou au-dessous) de tout le reste.

Désactiver cette option est utile pour dessiner des indicateurs dans l'espace du monde et fonctionne très bien avec la propriété Render Priority du matériel (voir le bas de cette page).

../../_images/spatial_material3.png

Depth Test

This can be used to invert the standard depth test. When set to Inverted, the object will only appear when occluded, and will be hidden otherwise.

This has no effect if No Depth Test is enabled.

../../_images/material_depth_test.webp

Ombrage

Mode d'ombrage

Materials support three shading modes: Per-Pixel, Per-Vertex, and Unshaded.

Three spheres showing the Per-Pixel, Per-Vertex, and Unshaded modes.

The Per-Pixel shading mode calculates lighting for each pixel, and is a good fit for most use cases. However, in some cases you may want to increase performance by using another shading mode.

The Per-Vertex shading mode, often called "vertex shading" or "vertex lighting", instead calculates lighting once for each vertex, and interpolates the result between each pixel.

On low-end or mobile devices, using per-vertex lighting can considerably increase rendering performance. When rendering several layers of transparency, such as when using particle systems, using per-vertex shading can improve performance, especially when the camera is close to particles.

You can also use per-vertex lighting to achieve a retro look.

Two cubes with a brick texture, one shaded and one unshaded.

Texture from AmbientCG

The Unshaded shading mode does not calculate lighting at all. Instead, the Albedo color is output directly. Lights will not affect the material at all, and unshaded materials will tend to appear considerably brighter than shaded materials.

Rendering unshaded is useful for some specific visual effects. If maximum performance is needed, it can also be used for particles, or low-end or mobile devices.

Mode diffus

Spécifie l'algorithme utilisé pour la diffusion de la lumière lorsqu'elle frappe l'objet. La valeur par défaut est Burley. D'autres modes sont également disponibles :

  • Burley : Mode par défaut, l'algorithme de diffusion original Disney Principled PBS.

  • Lambert : n’est pas affecté par la dureté.

  • Lambert Wrap : Étend de Lambert pour couvrir plus de 90 degrés lorsque la rugosité augmente. Idéal pour les cheveux et pour simuler la diffusion sous-surface à bas prix. Cette implémentation conserve l'énergie.

  • Toon : Fournit une coupe dure pour l'éclairage, avec un lissage affecté par la rugosité. Il est recommandé de désactiver la contribution du ciel en fonction des réglages de la lumière ambiante de votre environnement ou de désactiver la lumière ambiante dans le StandardMaterial3D pour obtenir un meilleur effet.

../../_images/spatial_material6.webp

Mode spéculaire

Spécifie comment la tâche spéculaire sera rendue. La tâche spéculaire représente la forme d'une source lumineuse réfléchie dans l'objet.

  • SchlickGGX : Le blob le plus communément utilisé par les moteurs 3D PBR de nos jours.

  • Toon : Crée une tâche toon, qui change de taille en fonction de la rugosité.

  • Disabled : Parfois, la tâche est en travers du chemin. Va-t'en !

../../_images/spatial_material7.webp

Désactiver la lumière ambiante

L'objet ne reçoit aucun éclairage ambiant qui autrement l'éclairerait.

Désactiver le brouillard

Makes the object unaffected by depth-based or volumetric fog. This is useful for particles or other additively blended materials that would otherwise show the shape of the mesh (even in places where it would be invisible without the fog).

Désactiver l'occlusion spéculaire

Makes the object not have its reflections reduced where they would usually be occluded.

Couleur de sommet

This setting allows choosing what is done by default to vertex colors that come from your 3D modeling application. By default, they are ignored.

../../_images/spatial_material4.webp

Utiliser comme albedo

Choisir cette option signifie que la couleur du sommet est utilisée comme couleur albédo.

Est sRGB

La plupart des logiciels de modélisation 3D exporteront probablement les couleurs de sommet en sRGB, donc activer cette option les aidera à paraître corrects.

Albédo

Albedo est la couleur de base du matériau, sur laquelle tous les autres réglages fonctionnent. Lorsqu'il est réglé sur Unshaded, c'est la seule couleur qui est visible. Dans les versions précédentes de Godot, ce canal s'appelait Diffuse. Le changement de nom s'est produit principalement parce que, dans le PBR (Physically Based Rendering), cette couleur affecte beaucoup plus de calculs que seulement le chemin d'éclairage diffus.

La couleur d'albédo et la texture peuvent être utilisés ensemble, étant multipliés.

Le canal Alpha de la couleur d'albédo et des textures est également utilisé pour la transparence de l'objet. Si vous utilisez une couleur ou une texture avec un canal alpha, assurez-vous d'activer la transparence ou l'alpha scissoring pour que cela fonctionne.

Métallique

Godot utilise un modèle métallique par rapport aux modèles concurrents en raison de sa simplicité. Ce paramètre définit le degré de réflexion du matériau. Plus il est réfléchissant, moins la lumière diffuse/ambiante affecte le matériau et plus la lumière est réfléchie. Ce modèle est appelé "économie d'énergie".

Le paramètre Specular est une valeur générale pour la réflectivité (contrairement à Metallic, ce paramètre n'est pas économe en énergie, donc laissez-le à 0.5 et n'y touchez que si vous en avez besoin).

La réflectivité interne minimale est de 0,04, il est donc impossible de rendre un matériau complètement non-réfléchissant, comme dans la vraie vie.

../../_images/spatial_material13.png

Dureté

La rugosité affecte la façon dont la réflexion se produit. Une valeur de 0 en fait un miroir parfait tandis qu'une valeur de 1 brouille complètement la réflexion (simulant la surface naturelle au niveau microscopique). La plupart des types de matériaux courants peuvent être obtenus avec la bonne combinaison de Métallique et Rugosité.

../../_images/spatial_material14.png

Émission

Émission spécifie la quantité de lumière émise par le matériau (gardez à l'esprit que ceci n'inclut pas la géométrie de la lumière environnante sauf si VoxelGI ou SDFGI sont utilisés). Cette valeur est ajoutée à l'image finale résultante et n'est pas affectée par les autres éclairages de la scène.

../../_images/spatial_material15.png

Normal map (carte de normales)

Une normal map (carte de normales) vous permet de définir une texture qui représente un détail de forme plus fin. Cela ne modifie pas la géométrie, mais seulement l'angle d'incidence de la lumière. Dans Godot, seuls les canaux rouge et vert des normal maps sont utilisés pour une meilleure compression et une plus grande compatibilité.

../../_images/spatial_material16.png

Note

Godot exige que la normal map(carte de normale) utilise les coordonnées X+, Y+ et Z+, c'est ce qu'on appelle le style OpenGL. Si vous avez importé un matériau conçu pour être utilisé avec un autre moteur, il peut être de style DirectX, auquel cas la normal map doit être convertie afin que son axe Y soit inversé.

Vous trouverez plus d'informations sur les nomal map (incluant un tableau des coordonnées pour les moteurs les plus populaires) ici.

Bent normal map

Une bend normal map (litt. "carte des normales courbées") décrit la direction moyenne de l'éclairage ambiant. Contrairement à une normal map régulière, elle sert à améliorer la façon dont un matériau réagit à l'éclairage plutôt qu'à ajouter du détail de surface.

This is achieved in two ways:

  • Indirect diffuse lighting is made to match global illumination more closely.

  • If specular occlusion is enabled, it is calculated using the bent normals and ambient occlusion instead of just from ambient light. This includes screen-space ambient occlusion (SSAO) and other sources of ambient occlusion.

../../_images/spatial_material_bentnormals.webp

Godot only uses the red and green channels of a bent normal map for better compression and wider compatibility.

When creating a bent normal map, there are three things required for it to work correctly in Godot:

  • A cosine distribution of rays has to be used when baking.

  • The texture must be created in tangent space.

  • La bent normal map doit utiliser les coordonnées X+, Y+ et Z+, ceci est connu sous le nom de style OpenGL. Si vous avez importé un matériau fabriqué pour être utilisé avec un autre moteur, il peut être de style DirectX, auquel cas la bent normal map doit être convertie de sorte que son axe Y soit retourné. Cela peut être réalisé en définissant le canal vert sous la section Ré-association de canal à Vert inversé dans le dock Import.

Note

A bent normal map is different from a regular normal map. The two are not interchangeable.

Bordure

Certains tissus ont de petites micro fourrures qui diffusent la lumière autour d'eux. Godot l'émule avec le paramètre Rim. Contrairement à d'autres systèmes d'éclairage Rim, qui n'utilisent que le canal d'émission, celui-ci prend en compte la lumière (pas de lumière signifie pas de Rim). Cela rend l'effet beaucoup plus crédible.

../../_images/spatial_material17.png

La taille de Rim dépend de la rugosité, et il existe un paramètre spécial pour spécifier comment elle doit être colorée. Si Tint est 0, la couleur de la lumière est utilisée pour le bord. Si Tint est 1, alors l'albédo du matériau est utilisé. L'utilisation de valeurs intermédiaires fonctionne généralement mieux.

Coucheclaire

Le paramètre Clearcoat permet d'ajouter une seconde passe de couche transparente au matériau. C'est courant dans la peinture de voitures et de jouets. En pratique, il s'agit d'une petite tache spéculaire ajoutée sur le matériau existant.

../../_images/clearcoat_comparison.png

Anisotropie

Cela change la forme de la tache spéculaire et l'aligne sur l'espace tangent. L'anisotropie est couramment utilisée avec les cheveux, ou pour rendre des matériaux comme l'aluminium brossé plus réalistes. Il fonctionne particulièrement bien lorsqu'il est combiné avec des cartes de flux.

../../_images/spatial_material18.png

Occlusion ambiante

Il est possible de spécifier une carte d'occlusion ambiante pré-calculée. Cette carte affecte la quantité de lumière ambiante qui atteint chaque surface de l'objet (elle n'affecte pas la lumière directe par défaut). Bien qu'il soit possible d'utiliser le Screen-Space Ambiant Occlusion (SSAO) pour générer l'occlusion ambiante, rien ne vaut la qualité d'une bonne carte d'OA pré-calculée. Il est recommandé de générer l'occlusion ambiante chaque fois que cela est possible.

../../_images/spatial_material19.png

Hauteur

Utiliser une carte de profondeur sur un matériau produit un balayage utilisant l'émission de rayons pour simuler le déplacement des reliefs dans la direction du point de vue.Cela ne crée qu'une illusion de profondeur, et n'ajoute pas de géométrie réelle — pour une forme de carte de hauteur utilisée pour la collision physique (comme le terrain), voir HeightMapShape3D. Il peut ne pas fonctionner pour des objets complexes, mais il produit un effet de profondeur réaliste pour les textures. Pour de meilleurs résultats, Height devrait être utilisé avec une cartographie normale.

../../_images/spatial_material20.png

Transluminescence

This is only available in the Forward+ renderer, not the Mobile or Compatibility renderers.

Cet effet émule la lumière qui pénètre la surface d'un objet, est diffusée, puis sort. Il est utile pour créer une peau réaliste, du marbre, des liquides colorés, etc.

../../_images/spatial_material21.png

Back Lighting

Contrôle la quantité de lumière du côté éclairé (visible à la lumière) qui est transférée vers le côté obscur (opposé à la lumière). Cela fonctionne bien pour les objets minces tels que les feuilles de plantes, l'herbe, les oreilles humaines, etc.

../../_images/spatial_material22.png

Réfraction

When refraction is enabled, Godot attempts to fetch information from behind the object being rendered. This allows distorting the transparency in a way similar to refraction in real life.

N'oubliez pas d'utiliser une texture albédo transparente (ou de réduire le canal alpha de la couleur albédo) pour rendre la réfraction visible, car la réfraction repose sur la transparence pour avoir un effet visible.

Refraction also takes the material roughness into account. Higher roughness values will make the objects behind the refraction look blurrier, which simulates real life behavior. If you can't see behind the object when refraction is enabled and albedo transparency is reduced, decrease the material's Roughness value.

Une normal map peut éventuellement être spécifiée dans la propriété Texture de réfraction pour permettre de déformer la direction de la réfraction par pixel.

../../_images/spatial_material23.png

Note

La réfraction est implémentée comme un effet d'espace-écran et force le matériau à être transparent. Cela rend l'effet relativement rapide, mais cela entraîne certaines limitations :

  • Transparency sorting issues may occur.

  • Le matériau réfractif ne peut pas se réfracter sur lui-même, ni sur d'autres matériaux transparents. Un matériau réfractif derrière un autre matériau transparent sera invisible.

  • Les objets hors écran ne peuvent pas apparaître dans la réfraction. Ceci est le plus remarquable avec des valeurs de réfraction élevées.

  • Les matériaux opaques devant le matériau réfractif semblent avoir des bords "réfractés", même s'ils ne devraient pas.

Détail

Godot permet d'utiliser l'albédo secondaire et les normal maps (cartes de normales) pour générer une texture détaillée, qui peut être mélangée de plusieurs façons. En combinant cela avec des modes UV secondaires ou triplanaires, de nombreuses textures intéressantes peuvent être obtenues.

../../_images/spatial_material24.png

Il existe plusieurs paramètres qui contrôlent la façon dont le détail est utilisé.

Mask : Le masque de détail est une image en noir et blanc utilisée pour contrôler l'endroit où le mélange se fait sur une texture. Le blanc est pour les textures de détail, le noir est pour les textures matérielles régulières, les différentes nuances de gris sont pour le mélange partiel des textures matérielles et des textures de détail.

Blend Mode : Ces quatre modes contrôlent la façon dont les textures sont mélangées.

  • Mix : Combine les valeurs des pixels des deux textures. En noir, ne montre que la texture du matériau, en blanc, ne montre que la texture du détail. Les valeurs de gris créent un mélange lisse entre les deux.

  • Ajouter : Ajoute les valeurs des pixels d'une texture à l'autre. Contrairement au mode de mélange (mix mode), les deux textures sont complètement mélangées pour les parties blanches d'un masque et non dans les parties grises. La texture originale est pratiquement inchangée pour les parties noires

  • Sub : Soustrait les valeurs des pixels d'une texture à l'autre. La deuxième texture est entièrement soustraite dans les parties blanches d'un masque, avec seulement une petite soustraction dans les parties noires, les parties grises étant différents niveaux de soustraction basés sur la texture exacte.

  • Mul : Multiplie les nombres des canaux RVB pour chaque pixel de la texture supérieure par les valeurs du pixel correspondant de la texture inférieure.

Albedo : C'est ici que vous mettez une texture d'albédo que vous voulez mélanger. Si rien ne se trouve dans ce créneau, elle sera interprétée comme blanche par défaut.

Normal : C'est ici que vous mettez une texture de normales que vous voulez mélanger. Si rien ne se trouve dans ce créneau, elle sera interprétée comme une normal map (carte de normales) plate. Cette option peut être utilisée même si la normal map n'est pas activée pour le matériau.

UV1 et UV2

Godot supporte deux canaux UV par matériau. Les UV secondaires sont souvent utiles pour l'occlusion ou l'émission ambiante (lumière préparée). Les UV peuvent être mis à l'échelle et décalés, ce qui est utile lors de l'utilisation de textures répétitives.

Cartographie triplanaire

La cartographie triplanaire est disponible pour UV1 et UV2. C'est une méthode alternative permettant d'obtenir des coordonnées de textures, parfois appelée "texturage automatique". Les textures sont échantillonnées indépendamment suivant les axes X, Y et Z puis fusionnées selon la normale. La cartographie triplanaire peut être calculée dans le système de coordonnées global ou dans celui propre à l'objet.

Dans l'image ci-dessous, vous pouvez voir que toutes les primitives utilisent le même matériau avec l'option de triplan global, la texture de brique s'étend de façon ininterrompue d'un objet à l'autre.

../../_images/spatial_material25.png

Monde Triplanaire

Lors de l'utilisation de la cartographie triplanaire, il est calculé dans l'espace local de l'objet. Cette option permet d'utiliser le repère du monde à la place.

Échantillonnage

Filtre

La méthode de filtrage pour les textures utilisées par le matériau. Voir cette page pour une liste complète des options et leur description.

Répéter

si les textures utilisées par le matériau se répètent, et comment elles se répètent. Voir cette page pour une liste complète des options et leur description.

Ombres

Disable Receive Shadows

L'objet ne reçoit pas l'ombre qui aurait autrement été projetée sur lui.

Shadow to Opacity

L'éclairage modifie la transparence alpha de sorte que les zones ombrées soient opaques et les zones non ombrées soient transparentes. Cela peut servir à surimposer des ombres sur des images fournie par une caméra en réalité augmentée.

Billboard

Mode Billboard

Active le mode Billboard pour dessiner des matériaux. Ceci contrôle la façon dont l'objet fait face à la caméra :

  • Désactivé : Le mode Billboard est désactivé.

  • Enabled: Billboard mode is enabled. The object's -Z axis will always face the camera's viewing plane.

  • Y-Billboard: The object's X axis will always be aligned with the camera's viewing plane.

  • Particle Billboard: Most suited for particle systems, because it allows specifying flipbook animation.

../../_images/spatial_material9.webp

The Particles Anim section is only visible when the billboard mode is Particle Billboard.

Garder l'échelle du mode Billboard

Autorise la mise à l'échelle d'un maillage en mode "panneau d'affichage".

Croître

Pousse les sommets de l’objet dans le sens indiqué par leurs normales :

../../_images/spatial_material10.png

Ceci est couramment utilisé pour créer des contours bon marché. Ajoutez une deuxième passe de matériel, faites-le noir et sans ombres, faites une coupe inversée (Cull Front), et ajoutez un peu de grow :

../../_images/spatial_material11.png

Note

For Grow to work as expected, the mesh must have connected faces with shared vertices, or "smooth shading". If the mesh has disconnected faces with unique vertices, or "flat shading", the mesh will appear to have gaps when using Grow.

Note that in Godot 4.5 onwards, stencil buffer-based outlines are available using the Outline stencil mode. This can be used as an alternative to Grow for outlines.

Transformation

Taille fixe

L'objet est ainsi rendu à la même taille quelle que soit la distance. Ceci est surtout utile pour les indicateurs (pas de test de profondeur et priorité de rendu élevée) et certains types de panneaux d’affichage.

Utiliser la taille de point

Cette option n'est efficace que lorsque la géométrie rendue est constituée de points (en général, elle est constituée de triangles lorsqu'elle est importée d'un logiciel de modélisation 3D). Si c'est le cas, ces points peuvent être redimensionnés (voir ci-dessous).

Taille de point

Lorsque vous dessinez des points, spécifie la taille des points en pixels.

Utiliser des traînées de particule

This is only available in the Forward+ and Mobile renderers, not the Compatibility renderer.

If true, enables parts of the shader required for GPUParticles3D trails to function. This also requires using a mesh with appropriate skinning, such as RibbonTrailMesh or TubeTrailMesh. Enabling this feature outside of materials used in GPUParticles3D meshes will break material rendering.

Use Z Clip Scale

Scales the object being rendered towards the camera to avoid clipping into things like walls. This is intended to be used for objects that are fixed with respect to the camera like player arms, tools, etc. Lighting and shadows will continue to work correctly when this setting is adjusted, but screen-space effects like SSAO and SSR may break with lower scales. Therefore, try to keep this setting as close to 1.0 as possible.

Use FOV Override

Overrides the Camera3D's field of view angle (in degrees).

Note

This behaves as if the field of view is set on a Camera3D with Camera3D.keep_aspect set to Camera3D.KEEP_HEIGHT. Additionally, it may not look correct on a non-perspective camera where the field of view setting is ignored.

Fondu de proximité et de distance

Godot permet aux matériaux de s'estomper par proximité les uns des autres ainsi que selon la distance par rapport au spectateur. Le fondu de proximité est utile pour des effets tels que des particules molles ou une masse d'eau avec un mélange lisse jusqu'aux rivages.

../../_images/spatial_material_proxfade.gif

Le fondu de distance est utile pour les puits de lumière ou les indicateurs qui ne sont présents qu'après une distance donnée.

Keep in mind enabling proximity fade or distance fade with Pixel Alpha mode enables alpha blending. Alpha blending is more GPU-intensive and can cause transparency sorting issues. Alpha blending also disables many material features such as the ability to cast shadows.

Note

To hide a character when they get too close to the camera, consider using Pixel Dither or better, Object Dither (which is even faster than Pixel Dither).

Pixel Alpha mode: The actual transparency of a pixel of the object changes with distance to the camera. This is the most effect, but forces the material into the transparency pipeline (which leads, for example, to no shadows).

../../_images/standart_material_distance_fade_pixel_alpha_mode.webp

Pixel Dither mode: What this does is sort of approximate the transparency by only having a fraction of the pixels rendered.

../../_images/standart_material_distance_fade_pixel_dither_mode.webp

Object Dither mode: Like the previous mode, but the calculated transparency is the same across the entire object's surface.

../../_images/standart_material_distance_fade_object_dither_mode.webp

Stencil

Since Godot 4.5, Godot allows materials to make use of the stencil buffer. This feature is commonly used to create outlines and X-ray effects, which can be useful to highlight objects, especially behind walls.

The Outline and X-Ray modes assign a preconfigured stencil material in the material's Next Pass property. The Custom mode can be used for advanced effects.

../../_images/material_stencil.webp

Materials that write to the stencil buffer are always drawn in the transparent pass, so they are subject to the usual transparency limitations.

Note

Like with the Grow property, for the stencil outline to work as expected, the mesh must have connected faces with shared vertices, or "smooth shading". If the mesh has disconnected faces with unique vertices, or "flat shading", the mesh will appear to have gaps when using a stencil outline.

Stencil outlines render similarly to the Grow property, but won't look identical in every scenario, especially when intersections with opaque surfaces are involved.

Paramètres de matériau

Priorité de rendu

L'ordre de rendu des objets peut être modifié, bien que cela soit surtout utile pour les objets transparents (ou les objets opaques qui dessinent en profondeur mais pas en couleur, comme les fissures sur le sol).

Objects are sorted by an opaque/transparent queue, then render_priority, with higher priority being drawn later. Transparent objects are also sorted by depth.

Depth testing overrules priority. Priority alone cannot force opaque objects to be drawn over each other.

Next Pass

Setting next_pass on a material will cause an object to be rendered again with that next material.

Materials are sorted by an opaque/transparent queue, then render_priority, with higher priority being drawn later.

../../_images/next_pass.webp

Depth will test equal between both materials unless the grow setting or other vertex transformations are used. Multiple transparent passes should use render_priority to ensure correct ordering.