Material

Hereda: Resource < RefCounted < Object

Heredado por: BaseMaterial3D, CanvasItemMaterial, FogMaterial, PanoramaSkyMaterial, ParticleProcessMaterial, PhysicalSkyMaterial, PlaceholderMaterial, ProceduralSkyMaterial, ShaderMaterial

Clase base virtual para aplicar propiedades visuales a un objeto, como el color y la rugosidad.

Descripción

Material es un recurso base usado para colorear y sombrear la geometría. Todos los materiales heredan de él y casi todos los nodos derivados de VisualInstance3D llevan un Material. Algunas banderas y parámetros son compartidos por todos los tipos de materiales y se configuran aquí.

Es importante destacar que puedes heredar de Material para crear tu propio tipo de material personalizado en script o en GDExtension.

Tutoriales

Propiedades

Material

next_pass

int

render_priority

Métodos

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 🔗

Valor máximo del parámetro render_priority.

RENDER_PRIORITY_MIN = -128 🔗

Valor mínimo del parámetro render_priority.


Descripciones de Propiedades

Material next_pass 🔗

Establece el Material que se utilizará para el siguiente pase. Esto renderiza el objeto de nuevo utilizando un material diferente.

Nota: Los materiales next_pass no se dibujan necesariamente inmediatamente después del Material de origen. El orden de dibujado está determinado por las propiedades del material, render_priority y la distancia a la cámara.

Nota: Esto solo se aplica a StandardMaterial3D y ShaderMaterial con el tipo "Spatial".


int render_priority 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Sets the render priority for objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects. In other words, all objects with render_priority 1 will render on top of all objects with render_priority 0.

Note: This only applies to StandardMaterial3Ds and ShaderMaterials with type "Spatial".

Note: This will not impact how transparent objects are sorted relative to opaque objects or how dynamic meshes will be sorted relative to other opaque meshes. This is because all transparent objects are drawn after all opaque objects and all dynamic opaque meshes are drawn before other opaque meshes.


Descripciones de Métodos

bool _can_do_next_pass() virtual const 🔗

Expuesto solo con el propósito de ser sobrescrito. No puedes llamar a esta función directamente. Se utiliza internamente para determinar si next_pass debe mostrarse o no en el editor.


bool _can_use_render_priority() virtual const 🔗

Expuesto solo con el propósito de ser sobrescrito. No puedes llamar a esta función directamente. Se utiliza internamente para determinar si render_priority debe mostrarse o no en el editor.


Mode _get_shader_mode() virtual required const 🔗

Expuesto solo con el propósito de ser sobrescrito. No puedes llamar a esta función directamente. Utilizado internamente por varias herramientas del editor.


RID _get_shader_rid() virtual required const 🔗

Expuesto solo con el propósito de ser sobrescrito. No puedes llamar a esta función directamente. Se utiliza internamente por varias herramientas del editor. Se utiliza para acceder al RID del Shader del Material.


Resource create_placeholder() const 🔗

Crea una versión de marcador de posición de este recurso (PlaceholderMaterial).


void inspect_native_shader_code() 🔗

Solo disponible cuando se ejecuta en el editor. Abre un popup que visualiza el código de shader generado, incluyendo todas las variantes y el código de shader interno. Véase también Shader.inspect_native_shader_code().