跳到主要内容

SpatialMaterial

继承

Material

简要描述

默认的3D渲染材质。

描述

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

成员

类型属性名默认值
Coloralbedo_colorColor( 1, 1, 1, 1 )
Texturealbedo_texture
floatanisotropy
boolanisotropy_enabledfalse
Textureanisotropy_flowmap
boolao_enabledfalse
floatao_light_affect
boolao_on_uv2
Textureao_texture
intao_texture_channel
floatclearcoat
boolclearcoat_enabledfalse
floatclearcoat_gloss
Textureclearcoat_texture
booldepth_deep_parallax
booldepth_enabledfalse
booldepth_flip_binormal
booldepth_flip_tangent
intdepth_max_layers
intdepth_min_layers
floatdepth_scale
Texturedepth_texture
Texturedetail_albedo
intdetail_blend_mode
booldetail_enabledfalse
Texturedetail_mask
Texturedetail_normal
intdetail_uv_layer
floatdistance_fade_max_distance
floatdistance_fade_min_distance
intdistance_fade_mode0
Coloremission
boolemission_enabledfalse
floatemission_energy
boolemission_on_uv2
intemission_operator
Textureemission_texture
boolflags_albedo_tex_force_srgbfalse
boolflags_disable_ambient_lightfalse
boolflags_do_not_receive_shadowsfalse
boolflags_ensure_correct_normalsfalse
boolflags_fixed_sizefalse
boolflags_no_depth_testfalse
boolflags_transparentfalse
boolflags_unshadedfalse
boolflags_use_point_sizefalse
boolflags_use_shadow_to_opacityfalse
boolflags_vertex_lightingfalse
boolflags_world_triplanarfalse
floatmetallic0.0
floatmetallic_specular0.5
Texturemetallic_texture
intmetallic_texture_channel0
boolnormal_enabledfalse
floatnormal_scale
Texturenormal_texture
floatparams_alpha_scissor_threshold
boolparams_billboard_keep_scalefalse
intparams_billboard_mode0
intparams_blend_mode0
intparams_cull_mode0
intparams_depth_draw_mode0
intparams_diffuse_mode0
boolparams_growfalse
floatparams_grow_amount
floatparams_line_width1.0
floatparams_point_size1.0
intparams_specular_mode0
boolparams_use_alpha_scissorfalse
intparticles_anim_h_frames
boolparticles_anim_loop
intparticles_anim_v_frames
floatproximity_fade_distance
boolproximity_fade_enablefalse
boolrefraction_enabledfalse
floatrefraction_scale
Texturerefraction_texture
intrefraction_texture_channel
floatrim
boolrim_enabledfalse
Texturerim_texture
floatrim_tint
floatroughness1.0
Textureroughness_texture
introughness_texture_channel0
boolsubsurf_scatter_enabledfalse
floatsubsurf_scatter_strength
Texturesubsurf_scatter_texture
Colortransmission
booltransmission_enabledfalse
Texturetransmission_texture
Vector3uv1_offsetVector3( 0, 0, 0 )
Vector3uv1_scaleVector3( 1, 1, 1 )
booluv1_triplanarfalse
floatuv1_triplanar_sharpness1.0
Vector3uv2_offsetVector3( 0, 0, 0 )
Vector3uv2_scaleVector3( 1, 1, 1 )
booluv2_triplanarfalse
floatuv2_triplanar_sharpness1.0
boolvertex_color_is_srgbfalse
boolvertex_color_use_as_albedofalse

方法

返回值类型方法名称
boolget_feature(feature: int) const
boolget_flag(flag: int) const
Textureget_texture(param: int) const
voidset_feature(feature: int, enable: bool)
voidset_flag(flag: int, enable: bool)
voidset_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
DefaultColor( 1, 1, 1, 1 )
setterset_albedo(value)
getterget_albedo
  • Texture albedo_texture
setterset_texture(value)
getterget_texture
  • float anisotropy
setterset_anisotropy(value)
getterget_anisotropy
  • bool anisotropy_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • Texture anisotropy_flowmap
setterset_texture(value)
getterget_texture
  • bool ao_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float ao_light_affect
setterset_ao_light_affect(value)
getterget_ao_light_affect
  • bool ao_on_uv2
setterset_flag(value)
getterget_flag
  • Texture ao_texture
setterset_texture(value)
getterget_texture
  • int ao_texture_channel
setterset_ao_texture_channel(value)
getterget_ao_texture_channel
  • float clearcoat
setterset_clearcoat(value)
getterget_clearcoat
  • bool clearcoat_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float clearcoat_gloss
setterset_clearcoat_gloss(value)
getterget_clearcoat_gloss
  • Texture clearcoat_texture
setterset_texture(value)
getterget_texture
  • bool depth_deep_parallax
setterset_depth_deep_parallax(value)
getteris_depth_deep_parallax_enabled
  • bool depth_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • bool depth_flip_binormal
setterset_depth_deep_parallax_flip_binormal(value)
getterget_depth_deep_parallax_flip_binormal
  • bool depth_flip_tangent
setterset_depth_deep_parallax_flip_tangent(value)
getterget_depth_deep_parallax_flip_tangent
  • int depth_max_layers
setterset_depth_deep_parallax_max_layers(value)
getterget_depth_deep_parallax_max_layers
  • int depth_min_layers
setterset_depth_deep_parallax_min_layers(value)
getterget_depth_deep_parallax_min_layers
  • float depth_scale
setterset_depth_scale(value)
getterget_depth_scale
  • Texture depth_texture
setterset_texture(value)
getterget_texture
  • Texture detail_albedo
setterset_texture(value)
getterget_texture
  • int detail_blend_mode
setterset_detail_blend_mode(value)
getterget_detail_blend_mode
  • bool detail_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • Texture detail_mask
setterset_texture(value)
getterget_texture
  • Texture detail_normal
setterset_texture(value)
getterget_texture
  • int detail_uv_layer
setterset_detail_uv(value)
getterget_detail_uv
  • float distance_fade_max_distance
setterset_distance_fade_max_distance(value)
getterget_distance_fade_max_distance
  • float distance_fade_min_distance
setterset_distance_fade_min_distance(value)
getterget_distance_fade_min_distance
  • int distance_fade_mode
Default0
setterset_distance_fade(value)
getterget_distance_fade
  • Color emission
setterset_emission(value)
getterget_emission
  • bool emission_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float emission_energy
setterset_emission_energy(value)
getterget_emission_energy
  • bool emission_on_uv2
setterset_flag(value)
getterget_flag
  • int emission_operator
setterset_emission_operator(value)
getterget_emission_operator
  • Texture emission_texture
setterset_texture(value)
getterget_texture
  • bool flags_albedo_tex_force_srgb
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_disable_ambient_light
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_do_not_receive_shadows
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_ensure_correct_normals
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_fixed_size
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_no_depth_test
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_transparent
Defaultfalse
setterset_feature(value)
getterget_feature
  • bool flags_unshaded
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_use_point_size
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_use_shadow_to_opacity
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_vertex_lighting
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool flags_world_triplanar
Defaultfalse
setterset_flag(value)
getterget_flag
  • float metallic
Default0.0
setterset_metallic(value)
getterget_metallic
  • float metallic_specular
Default0.5
setterset_specular(value)
getterget_specular
  • Texture metallic_texture
setterset_texture(value)
getterget_texture
  • int metallic_texture_channel
Default0
setterset_metallic_texture_channel(value)
getterget_metallic_texture_channel
  • bool normal_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float normal_scale
setterset_normal_scale(value)
getterget_normal_scale
  • Texture normal_texture
setterset_texture(value)
getterget_texture
  • float params_alpha_scissor_threshold
setterset_alpha_scissor_threshold(value)
getterget_alpha_scissor_threshold
  • bool params_billboard_keep_scale
Defaultfalse
setterset_flag(value)
getterget_flag
  • int params_billboard_mode
Default0
setterset_billboard_mode(value)
getterget_billboard_mode
  • int params_blend_mode
Default0
setterset_blend_mode(value)
getterget_blend_mode
  • int params_cull_mode
Default0
setterset_cull_mode(value)
getterget_cull_mode
  • int params_depth_draw_mode
Default0
setterset_depth_draw_mode(value)
getterget_depth_draw_mode
  • int params_diffuse_mode
Default0
setterset_diffuse_mode(value)
getterget_diffuse_mode
  • bool params_grow
Defaultfalse
setterset_grow_enabled(value)
getteris_grow_enabled
  • float params_grow_amount
setterset_grow(value)
getterget_grow
  • float params_line_width
Default1.0
setterset_line_width(value)
getterget_line_width
  • float params_point_size
Default1.0
setterset_point_size(value)
getterget_point_size
  • int params_specular_mode
Default0
setterset_specular_mode(value)
getterget_specular_mode
  • bool params_use_alpha_scissor
Defaultfalse
setterset_flag(value)
getterget_flag
  • int particles_anim_h_frames
setterset_particles_anim_h_frames(value)
getterget_particles_anim_h_frames
  • bool particles_anim_loop
setterset_particles_anim_loop(value)
getterget_particles_anim_loop
  • int particles_anim_v_frames
setterset_particles_anim_v_frames(value)
getterget_particles_anim_v_frames
  • float proximity_fade_distance
setterset_proximity_fade_distance(value)
getterget_proximity_fade_distance
  • bool proximity_fade_enable
Defaultfalse
setterset_proximity_fade(value)
getteris_proximity_fade_enabled
  • bool refraction_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float refraction_scale
setterset_refraction(value)
getterget_refraction
  • Texture refraction_texture
setterset_texture(value)
getterget_texture
  • int refraction_texture_channel
setterset_refraction_texture_channel(value)
getterget_refraction_texture_channel
  • float rim
setterset_rim(value)
getterget_rim
  • bool rim_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • Texture rim_texture
setterset_texture(value)
getterget_texture
  • float rim_tint
setterset_rim_tint(value)
getterget_rim_tint
  • float roughness
Default1.0
setterset_roughness(value)
getterget_roughness
  • Texture roughness_texture
setterset_texture(value)
getterget_texture
  • int roughness_texture_channel
Default0
setterset_roughness_texture_channel(value)
getterget_roughness_texture_channel
  • bool subsurf_scatter_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • float subsurf_scatter_strength
setterset_subsurface_scattering_strength(value)
getterget_subsurface_scattering_strength
  • Texture subsurf_scatter_texture
setterset_texture(value)
getterget_texture
  • Color transmission
setterset_transmission(value)
getterget_transmission
  • bool transmission_enabled
Defaultfalse
setterset_feature(value)
getterget_feature
  • Texture transmission_texture
setterset_texture(value)
getterget_texture
  • Vector3 uv1_offset
DefaultVector3( 0, 0, 0 )
setterset_uv1_offset(value)
getterget_uv1_offset
  • Vector3 uv1_scale
DefaultVector3( 1, 1, 1 )
setterset_uv1_scale(value)
getterget_uv1_scale
  • bool uv1_triplanar
Defaultfalse
setterset_flag(value)
getterget_flag
  • float uv1_triplanar_sharpness
Default1.0
setterset_uv1_triplanar_blend_sharpness(value)
getterget_uv1_triplanar_blend_sharpness
  • Vector3 uv2_offset
DefaultVector3( 0, 0, 0 )
setterset_uv2_offset(value)
getterget_uv2_offset
  • Vector3 uv2_scale
DefaultVector3( 1, 1, 1 )
setterset_uv2_scale(value)
getterget_uv2_scale
  • bool uv2_triplanar
Defaultfalse
setterset_flag(value)
getterget_flag
  • float uv2_triplanar_sharpness
Default1.0
setterset_uv2_triplanar_blend_sharpness(value)
getterget_uv2_triplanar_blend_sharpness
  • bool vertex_color_is_srgb
Defaultfalse
setterset_flag(value)
getterget_flag
  • bool vertex_color_use_as_albedo
Defaultfalse
setterset_flag(value)
getterget_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结尾的成员时,将调用此函数。