Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

CanvasItemMaterial

继承: Material < Resource < RefCounted < Object

CanvasItem的材质。

描述

CanvasItemMaterial提供了一种修改与CanvasItem相关联的纹理的方法。他们专注于描述纹理的混合和照明行为。使用ShaderMaterial可以更全面地自定义材质与CanvasItem的交互。

属性

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


枚举

enum BlendMode:

BlendMode BLEND_MODE_MIX = 0

混合混合模式。假设颜色与 Alpha 值(不透明度)无关。

BlendMode BLEND_MODE_ADD = 1

添加混合模式。

BlendMode BLEND_MODE_SUB = 2

减去混合模式。

BlendMode BLEND_MODE_MUL = 3

正片叠底混合模式。

BlendMode BLEND_MODE_PREMULT_ALPHA = 4

混合混合模式。假定颜色已预先乘以 Alpha 值(不透明度)。


enum LightMode:

LightMode LIGHT_MODE_NORMAL = 0

使用光敏和非光敏材料属性渲染材质。

LightMode LIGHT_MODE_UNSHADED = 1

将材质渲染成没有光的样子。

LightMode LIGHT_MODE_LIGHT_ONLY = 2

将材质渲染成只有光的样子。


属性说明

BlendMode blend_mode = 0

将材质的渲染应用于基础纹理的方式。


LightMode light_mode = 0

材质对照明的反应方式。


int particles_anim_h_frames

  • void set_particles_anim_h_frames ( int value )

  • int get_particles_anim_h_frames ( )

GPUParticles2DCPUParticles2D 指定给 Texture2D 的精灵表中拥有的列数。

注意:该属性只有在 particles_animationtrue 时,才会在编辑器中被使用和可见。


bool particles_anim_loop

  • void set_particles_anim_loop ( bool value )

  • bool get_particles_anim_loop ( )

如果为 true,粒子动画将循环播放。

注意:该属性只有在 particles_animationtrue 时,才会在编辑器中被使用和可见。


int particles_anim_v_frames

  • void set_particles_anim_v_frames ( int value )

  • int get_particles_anim_v_frames ( )

GPUParticles2DCPUParticles2D 指定给 Texture2D 的精灵表中拥有的行数。

注意:该属性只有在 particles_animationtrue 时,才会在编辑器中被使用和可见。


bool particles_animation = false

  • void set_particles_animation ( bool value )

  • bool get_particles_animation ( )

如果 true ,在分配给 GPUParticles2DCPUParticles2D 节点时,启用基于精灵表的动画功能。ParticleProcessMaterial.anim_speed_maxCPUParticles2D.anim_speed_max 也应该设置为正值,才能播放动画。

这个属性(以及其他依赖它的 particles_anim_* 属性)对其他类型的节点没有影响。