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.

Material

Hérite de : Resource < RefCounted < Object

Hérité par : BaseMaterial3D, BlitMaterial, CanvasItemMaterial, FogMaterial, PanoramaSkyMaterial, ParticleProcessMaterial, PhysicalSkyMaterial, PlaceholderMaterial, ProceduralSkyMaterial, ShaderMaterial

Classe de base virtuelle pour appliquer des propriétés visuelles à un objet, comme la couleur et la rugosité.

Description

Material est une ressource de base utilisée pour colorer et ombrager la géométrie. Tous les matériaux héritent d'elle et presque tous les nœuds dérivés de VisualInstance3D portent un Material. Quelques drapeaux et paramètres sont partagés entre tous les types de matériaux et sont configurés ici.

Notamment, vous pouvez hériter de Material pour créer votre propre type de matériau personnalisé dans un script ou dans une GDExtension.

Tutoriels

Propriétés

Material

next_pass

int

render_priority

Méthodes

bool

_can_do_next_pass() virtual const

bool

_can_use_render_priority() virtual const

Mode

_get_shader_mode() virtual required const

RID

_get_shader_rid() virtual required const

Resource

create_placeholder() const

void

inspect_native_shader_code()


Constantes

RENDER_PRIORITY_MAX = 127 🔗

La valeur maximale pour le paramètre render_priority.

RENDER_PRIORITY_MIN = -128 🔗

La valeur minimale pour le paramètre render_priority.


Descriptions des propriétés

Material next_pass 🔗

Définit le Material à utiliser pour le prochain passe. Cela rend l'objet à nouveau en utilisant un matériau différent.

Note : Les matériaux next_pass ne sont pas nécessairement dessinés immédiatement après le Material source. L'ordre de dessin est déterminé par les propriétés du matériau, render_priority, et la distance à la caméra.

Note : Ceci ne s'applique qu'aux StandardMaterial3Ds et ShaderMaterials avec le type "Spatial".


int render_priority 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Définit la priorité de rendu des objets dans les scènes 3D. Des objets prioritaires plus élevés seront placés devant des objets prioritaires inférieurs. En d'autres termes, tous les objets avec une render_priority de 1 rendront au-dessus de tous les objets avec une render_priority de 0.

Note : Ceci ne s'applique qu'aux StandardMaterial3Ds et ShaderMaterials avec le type "Spatial".

Note : Cela n'aura pas d'impact sur la façon dont les objets transparents sont triés par rapport aux objets opaques ou sur la façon dont les maillages dynamiques seront triés par rapport aux autres maillages opaques. C'est parce que tous les objets transparents sont dessinés après tous les objets opaques et que tous les maillages opaques dynamiques sont dessinés avant les autres maillages opaques.


Descriptions des méthodes

bool _can_do_next_pass() virtual const 🔗

Seulement exposée dans le but de la redéfinir. Vous ne pouvez pas appeler cette fonction directement. Utilisée en interne pour déterminer si next_pass doit être affiché dans l'éditeur ou non.


bool _can_use_render_priority() virtual const 🔗

Seulement exposée dans le but de la redéfinir. Vous ne pouvez pas appeler cette fonction directement. Utilisée en interne pour déterminer si render_priority doit être affiché dans l'éditeur ou non.


Mode _get_shader_mode() virtual required const 🔗

Seulement exposée dans le but de la redéfinir. Vous ne pouvez pas appeler cette fonction directement. Utilisée en interne par plusieurs outils de l'éditeur.


RID _get_shader_rid() virtual required const 🔗

Seulement exposée dans le but de la redéfinir. Vous ne pouvez pas appeler cette fonction directement. Utilisée en interne par plusieurs outils de l'éditeur. Utilisée pour accéder au RID du Shader de ce Material.


Resource create_placeholder() const 🔗

Crée une version placeholder de cette ressource (PlaceholderMaterial).


void inspect_native_shader_code() 🔗

Seulement disponible dans l'éditeur. Ouvre un popup qui visualise le code de shader généré, y compris toutes les variantes et le code interne du shader. Voir aussi Shader.inspect_native_shader_code().