Attention: Here be dragons (unstable version)

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

CanvasItemMaterial

Inherits: Material < Resource < RefCounted < Object

A material for CanvasItems.

Description

CanvasItemMaterials provide a means of modifying the textures associated with a CanvasItem. They specialize in describing blend and lighting behaviors for textures. Use a ShaderMaterial to more fully customize a material's interactions with a CanvasItem.

Properties

BlendMode

blend_mode

0

LightMode

light_mode

0

int

particles_anim_h_frames

bool

particles_anim_loop

int

particles_anim_v_frames

bool

particles_animation

false


Enumerations

enum BlendMode: 🔗

BlendMode BLEND_MODE_MIX = 0

Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.

BlendMode BLEND_MODE_ADD = 1

Additive blending mode.

BlendMode BLEND_MODE_SUB = 2

Subtractive blending mode.

BlendMode BLEND_MODE_MUL = 3

Multiplicative blending mode.

BlendMode BLEND_MODE_PREMULT_ALPHA = 4

Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.


enum LightMode: 🔗

LightMode LIGHT_MODE_NORMAL = 0

Render the material using both light and non-light sensitive material properties.

LightMode LIGHT_MODE_UNSHADED = 1

Render the material as if there were no light.

LightMode LIGHT_MODE_LIGHT_ONLY = 2

Render the material as if there were only light.


Property Descriptions

BlendMode blend_mode = 0 🔗

The manner in which a material's rendering is applied to underlying textures.


LightMode light_mode = 0 🔗

The manner in which material reacts to lighting.


int particles_anim_h_frames 🔗

  • void set_particles_anim_h_frames(value: int)

  • int get_particles_anim_h_frames()

The number of columns in the spritesheet assigned as Texture2D for a GPUParticles2D or CPUParticles2D.

Note: This property is only used and visible in the editor if particles_animation is true.


bool particles_anim_loop 🔗

  • void set_particles_anim_loop(value: bool)

  • bool get_particles_anim_loop()

If true, the particles animation will loop.

Note: This property is only used and visible in the editor if particles_animation is true.


int particles_anim_v_frames 🔗

  • void set_particles_anim_v_frames(value: int)

  • int get_particles_anim_v_frames()

The number of rows in the spritesheet assigned as Texture2D for a GPUParticles2D or CPUParticles2D.

Note: This property is only used and visible in the editor if particles_animation is true.


bool particles_animation = false 🔗

  • void set_particles_animation(value: bool)

  • bool get_particles_animation()

If true, enable spritesheet-based animation features when assigned to GPUParticles2D and CPUParticles2D nodes. The ParticleProcessMaterial.anim_speed_max or CPUParticles2D.anim_speed_max should also be set to a positive value for the animation to play.

This property (and other particles_anim_* properties that depend on it) has no effect on other types of nodes.