跳转至

SpatialMaterial

继承

Material

简要描述

默认的3D渲染材质。

描述

提供了具有多种渲染功能和属性的默认材质,而无需编写着色器代码。

成员

类型 属性名 默认值
Color albedo_color Color( 1, 1, 1, 1 )
Texture albedo_texture
float anisotropy
bool anisotropy_enabled false
Texture anisotropy_flowmap
bool ao_enabled false
float ao_light_affect
bool ao_on_uv2
Texture ao_texture
int ao_texture_channel
float clearcoat
bool clearcoat_enabled false
float clearcoat_gloss
Texture clearcoat_texture
bool depth_deep_parallax
bool depth_enabled false
bool depth_flip_binormal
bool depth_flip_tangent
int depth_max_layers
int depth_min_layers
float depth_scale
Texture depth_texture
Texture detail_albedo
int detail_blend_mode
bool detail_enabled false
Texture detail_mask
Texture detail_normal
int detail_uv_layer
float distance_fade_max_distance
float distance_fade_min_distance
int distance_fade_mode 0
Color emission
bool emission_enabled false
float emission_energy
bool emission_on_uv2
int emission_operator
Texture emission_texture
bool flags_albedo_tex_force_srgb false
bool flags_disable_ambient_light false
bool flags_do_not_receive_shadows false
bool flags_ensure_correct_normals false
bool flags_fixed_size false
bool flags_no_depth_test false
bool flags_transparent false
bool flags_unshaded false
bool flags_use_point_size false
bool flags_use_shadow_to_opacity false
bool flags_vertex_lighting false
bool flags_world_triplanar false
float metallic 0.0
float metallic_specular 0.5
Texture metallic_texture
int metallic_texture_channel 0
bool normal_enabled false
float normal_scale
Texture normal_texture
float params_alpha_scissor_threshold
bool params_billboard_keep_scale false
int params_billboard_mode 0
int params_blend_mode 0
int params_cull_mode 0
int params_depth_draw_mode 0
int params_diffuse_mode 0
bool params_grow false
float params_grow_amount
float params_line_width 1.0
float params_point_size 1.0
int params_specular_mode 0
bool params_use_alpha_scissor false
int particles_anim_h_frames
bool particles_anim_loop
int particles_anim_v_frames
float proximity_fade_distance
bool proximity_fade_enable false
bool refraction_enabled false
float refraction_scale
Texture refraction_texture
int refraction_texture_channel
float rim
bool rim_enabled false
Texture rim_texture
float rim_tint
float roughness 1.0
Texture roughness_texture
int roughness_texture_channel 0
bool subsurf_scatter_enabled false
float subsurf_scatter_strength
Texture subsurf_scatter_texture
Color transmission
bool transmission_enabled false
Texture transmission_texture
Vector3 uv1_offset Vector3( 0, 0, 0 )
Vector3 uv1_scale Vector3( 1, 1, 1 )
bool uv1_triplanar false
float uv1_triplanar_sharpness 1.0
Vector3 uv2_offset Vector3( 0, 0, 0 )
Vector3 uv2_scale Vector3( 1, 1, 1 )
bool uv2_triplanar false
float uv2_triplanar_sharpness 1.0
bool vertex_color_is_srgb false
bool vertex_color_use_as_albedo false

方法

返回值类型 方法名称
bool get_feature(feature: int) const
bool get_flag(flag: int) const
Texture get_texture(param: int) const
void set_feature(feature: int, enable: bool)
void set_flag(flag: int, enable: bool)
void set_texture(param: int, texture: Texture)
##枚举
enum TextureParam:
- TEXTURE_ALBEDO = 0

指定每像素颜色的纹理。

  • TEXTURE_METALLIC = 1

指定每像素金属值的纹理。

  • TEXTURE_ROUGHNESS = 2

指定每像素粗糙度值的纹理。

  • TEXTURE_EMISSION = 3

指定每个像素自发光颜色的纹理。

  • TEXTURE_NORMAL = 4

指定每像素法线向量的纹理。

  • TEXTURE_RIM = 5

指定每个像素边缘值的纹理。

  • TEXTURE_CLEARCOAT = 6

指定每像素透明涂层值的纹理。

  • TEXTURE_FLOWMAP = 7

指定用于anisotropy的每像素流程图方向的纹理。

  • TEXTURE_AMBIENT_OCCLUSION = 8

指定每个像素的环境光遮挡值的纹理。

  • TEXTURE_DEPTH = 9

指定每像素深度的纹理。

  • TEXTURE_SUBSURFACE_SCATTERING = 10

指定每个像素次表面散射的纹理。

  • TEXTURE_TRANSMISSION = 11

指定每像素透射颜色的纹理。

  • TEXTURE_REFRACTION = 12

指定每个像素的折射强度的纹理。

  • TEXTURE_DETAIL_MASK = 13

指定每像素细节遮罩混合值的纹理。

  • TEXTURE_DETAIL_ALBEDO = 14

指定每像素细节颜色的纹理。

  • TEXTURE_DETAIL_NORMAL = 15

指定每像素细节法线的纹理。

  • TEXTURE_MAX = 16

表示TextureParam枚举的大小。


enum DetailUV: - DETAIL_UV_1 = 0

UV与细节纹理一起使用。

  • DETAIL_UV_2 = 1

UV2与细节纹理一起使用。


enum Feature: - FEATURE_TRANSPARENT = 0

设置flags_transparent的常量。

  • FEATURE_EMISSION = 1

设置mission_enabled的常数。

  • FEATURE_NORMAL_MAPPING = 2

设置normal_enabled的常量。

  • FEATURE_RIM = 3

设置rim_enabled的常量。

  • FEATURE_CLEARCOAT = 4

设置clearcoat_enabled的常量。

  • FEATURE_ANISOTROPY = 5

设置anisotropy_enabled启用的常量。

  • FEATURE_AMBIENT_OCCLUSION = 6

设置ao_enabled的常量。

  • FEATURE_DEPTH_MAPPING = 7

设置depth_enabled的常量。

  • FEATURE_SUBSURACE_SCATTERING = 8

设置subsurf_scatter_enabled的常量。

  • FEATURE_TRANSMISSION = 9

设置transmission_enabled的常量。

  • FEATURE_REFRACTION = 10

设置refraction_enabled的常量。

  • FEATURE_DETAIL = 11

设置detail_enabled的常量。

  • FEATURE_MAX = 12

表示Feature枚举的大小。


enum BlendMode: - BLEND_MODE_MIX = 0

默认混合模式。

  • BLEND_MODE_ADD = 1

对象的颜色将添加到背景中。

  • BLEND_MODE_SUB = 2

从背景中减去对象的颜色。

  • BLEND_MODE_MUL = 3

对象的颜色乘以背景。


enum DepthDrawMode: - DEPTH_DRAW_OPAQUE_ONLY = 0

默认深度绘制模式。

  • DEPTH_DRAW_ALWAYS = 1

为不透明和透明对象都计算深度绘制。

  • DEPTH_DRAW_DISABLED = 2

没有深度绘制。

  • DEPTH_DRAW_ALPHA_OPAQUE_PREPASS = 3

对于透明对象,首先对不透明的部分进行不透明的遍历,然后绘制透明。


enum CullMode: - CULL_BACK = 0

默认剔除模式。

  • CULL_FRONT = 1

前部不可见时,则将其剔除。

  • CULL_DISABLED = 2

不执行剔除。


enum Flags: - FLAG_UNSHADED = 0

物体上没有照明。

  • FLAG_USE_VERTEX_LIGHTING = 1

照明是按顶点而不是按像素计算的。

  • FLAG_DISABLE_DEPTH_TEST = 2

禁用深度测试,因此该对象被绘制在所有其他对象之上。

  • FLAG_ALBEDO_FROM_VERTEX_COLOR = 3

ALBEDO设置为网格中指定的每个顶点颜色。

  • FLAG_SRGB_VERTEX_COLOR = 4

顶点颜色在sRGB空间中,需要转换为线性。

  • FLAG_USE_POINT_SIZE = 5

使用点大小来更改基本点的大小。

  • FLAG_FIXED_SIZE = 6

对象按深度缩放,以使其始终在屏幕上显示相同的大小。

  • FLAG_BILLBOARD_KEEP_SCALE = 7

着色器将为网格设置缩放比例。

  • FLAG_UV1_USE_TRIPLANAR = 8

对通常将使用UV的所有纹理查找使用三平面纹理查找。

  • FLAG_UV2_USE_TRIPLANAR = 9

对通常将使用UV2的所有纹理查找使用三平面纹理查找。

  • FLAG_AO_ON_UV2 = 11

使用UV2坐标从ao_texture查找。

  • FLAG_EMISSION_ON_UV2 = 12

使用UV2坐标从mission_texture成员中查找。

  • FLAG_USE_ALPHA_SCISSOR = 13

使用Alpha裁剪。

  • FLAG_TRIPLANAR_USE_WORLD = 10

在三平面纹理查找中使用世界坐标,而不是局部坐标。

  • FLAG_ALBEDO_TEXTURE_FORCE_SRGB = 14

强制着色器将反照率从sRGB空间转换为线性空间。

  • FLAG_DONT_RECEIVE_SHADOWS = 15

禁用从其他对象接收阴影。

  • FLAG_DISABLE_AMBIENT_LIGHT = 17

禁用接收环境光。

  • FLAG_ENSURE_CORRECT_NORMALS = 16

确保法线看起来正确,即使缩放比例不均匀也是如此。

  • FLAG_USE_SHADOW_TO_OPACITY = 18

启用阴影到不透明度功能。

  • FLAG_MAX = 19

表示Flags枚举的大小。


enum DiffuseMode: - DIFFUSE_BURLEY = 0

默认的漫散射算法。

  • DIFFUSE_LAMBERT = 1

漫散射忽略了粗糙度。

  • DIFFUSE_LAMBERT_WRAP = 2

当粗糙度增加时,将Lambert延伸到90度以上。

  • DIFFUSE_OREN_NAYAR = 3

尝试使用粗糙度模拟微表面处理。

  • DIFFUSE_TOON = 4

使用硬切口照明,平滑度受粗糙度影响。


enum SpecularMode: - SPECULAR_SCHLICK_GGX = 0

默认镜面斑点。

  • SPECULAR_BLINN = 1

包含较旧的镜面反射算法,以实现兼容性。

  • SPECULAR_PHONG = 2

包含较旧的镜面反射算法,以实现兼容性。

  • SPECULAR_TOON = 3

会根据粗糙度改变大小的显示斑点。

  • SPECULAR_DISABLED = 4

无镜面斑点。


enum BillboardMode: - BILLBOARD_DISABLED = 0

广告牌模式已禁用。

  • BILLBOARD_ENABLED = 1

对象的Z轴将始终面向相机。

  • BILLBOARD_FIXED_Y = 2

对象的X轴将始终面向相机。

  • BILLBOARD_PARTICLES = 3

当分配给ParticlesCPUParticles节点时,用于粒子系统。

为了播放动画,也应将ParticlesMaterial.anim_speedCPUParticles.anim_speed设置为正值。


enum TextureChannel: - TEXTURE_CHANNEL_RED = 0

用于从纹理的红色通道读取。

  • TEXTURE_CHANNEL_GREEN = 1

用于从纹理的绿色通道读取。

  • TEXTURE_CHANNEL_BLUE = 2

用于从纹理的蓝色通道读取。

  • TEXTURE_CHANNEL_ALPHA = 3

用于从纹理的透明通道读取。

  • TEXTURE_CHANNEL_GRAYSCALE = 4

目前未使用。


enum EmissionOperator: - EMISSION_OP_ADD = 0

将自发光颜色添加到自发光纹理的颜色中。

  • EMISSION_OP_MULTIPLY = 1

将自发光颜色乘以自发光纹理的颜色。


enum DistanceFadeMode: - DISTANCE_FADE_DISABLED = 0

不使用距离衰减。

  • DISTANCE_FADE_PIXEL_ALPHA = 1

使用透明通道,根据每个像素与相机的距离,平滑地淡出对象。

  • DISTANCE_FADE_PIXEL_DITHER = 2

使用抖动方法,根据每个像素到相机的距离,平滑地淡出对象。

  • DISTANCE_FADE_OBJECT_DITHER = 3

使用抖动方法,根据对象与相机之间的距离平滑地淡出对象。


常量

成员说明

  • Color albedo_color
Default Color( 1, 1, 1, 1 )
setter set_albedo(value)
getter get_albedo
  • Texture albedo_texture
setter set_texture(value)
getter get_texture
  • float anisotropy
setter set_anisotropy(value)
getter get_anisotropy
  • bool anisotropy_enabled
Default false
setter set_feature(value)
getter get_feature
  • Texture anisotropy_flowmap
setter set_texture(value)
getter get_texture
  • bool ao_enabled
Default false
setter set_feature(value)
getter get_feature
  • float ao_light_affect
setter set_ao_light_affect(value)
getter get_ao_light_affect
  • bool ao_on_uv2
setter set_flag(value)
getter get_flag
  • Texture ao_texture
setter set_texture(value)
getter get_texture
  • int ao_texture_channel
setter set_ao_texture_channel(value)
getter get_ao_texture_channel
  • float clearcoat
setter set_clearcoat(value)
getter get_clearcoat
  • bool clearcoat_enabled
Default false
setter set_feature(value)
getter get_feature
  • float clearcoat_gloss
setter set_clearcoat_gloss(value)
getter get_clearcoat_gloss
  • Texture clearcoat_texture
setter set_texture(value)
getter get_texture
  • bool depth_deep_parallax
setter set_depth_deep_parallax(value)
getter is_depth_deep_parallax_enabled
  • bool depth_enabled
Default false
setter set_feature(value)
getter get_feature
  • bool depth_flip_binormal
setter set_depth_deep_parallax_flip_binormal(value)
getter get_depth_deep_parallax_flip_binormal
  • bool depth_flip_tangent
setter set_depth_deep_parallax_flip_tangent(value)
getter get_depth_deep_parallax_flip_tangent
  • int depth_max_layers
setter set_depth_deep_parallax_max_layers(value)
getter get_depth_deep_parallax_max_layers
  • int depth_min_layers
setter set_depth_deep_parallax_min_layers(value)
getter get_depth_deep_parallax_min_layers
  • float depth_scale
setter set_depth_scale(value)
getter get_depth_scale
  • Texture depth_texture
setter set_texture(value)
getter get_texture
  • Texture detail_albedo
setter set_texture(value)
getter get_texture
  • int detail_blend_mode
setter set_detail_blend_mode(value)
getter get_detail_blend_mode
  • bool detail_enabled
Default false
setter set_feature(value)
getter get_feature
  • Texture detail_mask
setter set_texture(value)
getter get_texture
  • Texture detail_normal
setter set_texture(value)
getter get_texture
  • int detail_uv_layer
setter set_detail_uv(value)
getter get_detail_uv
  • float distance_fade_max_distance
setter set_distance_fade_max_distance(value)
getter get_distance_fade_max_distance
  • float distance_fade_min_distance
setter set_distance_fade_min_distance(value)
getter get_distance_fade_min_distance
  • int distance_fade_mode
Default 0
setter set_distance_fade(value)
getter get_distance_fade
  • Color emission
setter set_emission(value)
getter get_emission
  • bool emission_enabled
Default false
setter set_feature(value)
getter get_feature
  • float emission_energy
setter set_emission_energy(value)
getter get_emission_energy
  • bool emission_on_uv2
setter set_flag(value)
getter get_flag
  • int emission_operator
setter set_emission_operator(value)
getter get_emission_operator
  • Texture emission_texture
setter set_texture(value)
getter get_texture
  • bool flags_albedo_tex_force_srgb
Default false
setter set_flag(value)
getter get_flag
  • bool flags_disable_ambient_light
Default false
setter set_flag(value)
getter get_flag
  • bool flags_do_not_receive_shadows
Default false
setter set_flag(value)
getter get_flag
  • bool flags_ensure_correct_normals
Default false
setter set_flag(value)
getter get_flag
  • bool flags_fixed_size
Default false
setter set_flag(value)
getter get_flag
  • bool flags_no_depth_test
Default false
setter set_flag(value)
getter get_flag
  • bool flags_transparent
Default false
setter set_feature(value)
getter get_feature
  • bool flags_unshaded
Default false
setter set_flag(value)
getter get_flag
  • bool flags_use_point_size
Default false
setter set_flag(value)
getter get_flag
  • bool flags_use_shadow_to_opacity
Default false
setter set_flag(value)
getter get_flag
  • bool flags_vertex_lighting
Default false
setter set_flag(value)
getter get_flag
  • bool flags_world_triplanar
Default false
setter set_flag(value)
getter get_flag
  • float metallic
Default 0.0
setter set_metallic(value)
getter get_metallic
  • float metallic_specular
Default 0.5
setter set_specular(value)
getter get_specular
  • Texture metallic_texture
setter set_texture(value)
getter get_texture
  • int metallic_texture_channel
Default 0
setter set_metallic_texture_channel(value)
getter get_metallic_texture_channel
  • bool normal_enabled
Default false
setter set_feature(value)
getter get_feature
  • float normal_scale
setter set_normal_scale(value)
getter get_normal_scale
  • Texture normal_texture
setter set_texture(value)
getter get_texture
  • float params_alpha_scissor_threshold
setter set_alpha_scissor_threshold(value)
getter get_alpha_scissor_threshold
  • bool params_billboard_keep_scale
Default false
setter set_flag(value)
getter get_flag
  • int params_billboard_mode
Default 0
setter set_billboard_mode(value)
getter get_billboard_mode
  • int params_blend_mode
Default 0
setter set_blend_mode(value)
getter get_blend_mode
  • int params_cull_mode
Default 0
setter set_cull_mode(value)
getter get_cull_mode
  • int params_depth_draw_mode
Default 0
setter set_depth_draw_mode(value)
getter get_depth_draw_mode
  • int params_diffuse_mode
Default 0
setter set_diffuse_mode(value)
getter get_diffuse_mode
  • bool params_grow
Default false
setter set_grow_enabled(value)
getter is_grow_enabled
  • float params_grow_amount
setter set_grow(value)
getter get_grow
  • float params_line_width
Default 1.0
setter set_line_width(value)
getter get_line_width
  • float params_point_size
Default 1.0
setter set_point_size(value)
getter get_point_size
  • int params_specular_mode
Default 0
setter set_specular_mode(value)
getter get_specular_mode
  • bool params_use_alpha_scissor
Default false
setter set_flag(value)
getter get_flag
  • int particles_anim_h_frames
setter set_particles_anim_h_frames(value)
getter get_particles_anim_h_frames
  • bool particles_anim_loop
setter set_particles_anim_loop(value)
getter get_particles_anim_loop
  • int particles_anim_v_frames
setter set_particles_anim_v_frames(value)
getter get_particles_anim_v_frames
  • float proximity_fade_distance
setter set_proximity_fade_distance(value)
getter get_proximity_fade_distance
  • bool proximity_fade_enable
Default false
setter set_proximity_fade(value)
getter is_proximity_fade_enabled
  • bool refraction_enabled
Default false
setter set_feature(value)
getter get_feature
  • float refraction_scale
setter set_refraction(value)
getter get_refraction
  • Texture refraction_texture
setter set_texture(value)
getter get_texture
  • int refraction_texture_channel
setter set_refraction_texture_channel(value)
getter get_refraction_texture_channel
  • float rim
setter set_rim(value)
getter get_rim
  • bool rim_enabled
Default false
setter set_feature(value)
getter get_feature
  • Texture rim_texture
setter set_texture(value)
getter get_texture
  • float rim_tint
setter set_rim_tint(value)
getter get_rim_tint
  • float roughness
Default 1.0
setter set_roughness(value)
getter get_roughness
  • Texture roughness_texture
setter set_texture(value)
getter get_texture
  • int roughness_texture_channel
Default 0
setter set_roughness_texture_channel(value)
getter get_roughness_texture_channel
  • bool subsurf_scatter_enabled
Default false
setter set_feature(value)
getter get_feature
  • float subsurf_scatter_strength
setter set_subsurface_scattering_strength(value)
getter get_subsurface_scattering_strength
  • Texture subsurf_scatter_texture
setter set_texture(value)
getter get_texture
  • Color transmission
setter set_transmission(value)
getter get_transmission
  • bool transmission_enabled
Default false
setter set_feature(value)
getter get_feature
  • Texture transmission_texture
setter set_texture(value)
getter get_texture
  • Vector3 uv1_offset
Default Vector3( 0, 0, 0 )
setter set_uv1_offset(value)
getter get_uv1_offset
  • Vector3 uv1_scale
Default Vector3( 1, 1, 1 )
setter set_uv1_scale(value)
getter get_uv1_scale
  • bool uv1_triplanar
Default false
setter set_flag(value)
getter get_flag
  • float uv1_triplanar_sharpness
Default 1.0
setter set_uv1_triplanar_blend_sharpness(value)
getter get_uv1_triplanar_blend_sharpness
  • Vector3 uv2_offset
Default Vector3( 0, 0, 0 )
setter set_uv2_offset(value)
getter get_uv2_offset
  • Vector3 uv2_scale
Default Vector3( 1, 1, 1 )
setter set_uv2_scale(value)
getter get_uv2_scale
  • bool uv2_triplanar
Default false
setter set_flag(value)
getter get_flag
  • float uv2_triplanar_sharpness
Default 1.0
setter set_uv2_triplanar_blend_sharpness(value)
getter get_uv2_triplanar_blend_sharpness
  • bool vertex_color_is_srgb
Default false
setter set_flag(value)
getter get_flag
  • bool vertex_color_use_as_albedo
Default false
setter set_flag(value)
getter get_flag

方法说明

  • get_feature get_feature(feature: int) const

如果启用了指定的Feature,则返回true


  • get_flag get_flag(flag: int) const

如果启用了指定的flag,则返回true


  • get_texture get_texture(param: int) const

返回与指定的TextureParam关联的Texture


  • set_feature set_feature(feature: int, enable: bool)

如果enable的值为true,则启用指定的FeatureSpatialMaterial里的许多特性需要在使用前启用。这种方式使得特性只有被使用时才会有开销。特性也可以通过将对应的成员设置为true来启用。


  • set_flag set_flag(flag: int, enable: bool)

如果enable的值为true,则启用指定的flag。标志是可以打开和关闭的可选行为。使用此功能一次只能启用一个标志,不能将这些标志枚举器位屏蔽在一起以一次启用或禁用多个标志。 也可以通过将相应的成员设置为true来启用标志。 有关选项,请参见Flags枚举器。


  • set_texture set_texture(param: int, texture: Texture)

设置指定的TextureParam要使用的Texture。设置以*_texture结尾的成员时,将调用此函数。