SpatialMaterial¶
继承¶
Material
简要描述¶
默认的3D渲染材质。
描述¶
提供了具有多种渲染功能和属性的默认材质,而无需编写着色器代码。
成员¶
方法¶
返回值类型 | 方法名称 |
---|---|
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
当分配给Particles和CPUParticles节点时,用于粒子系统。
为了播放动画,也应将ParticlesMaterial.anim_speed或CPUParticles.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
,则启用指定的Feature。SpatialMaterial
里的许多特性需要在使用前启用。这种方式使得特性只有被使用时才会有开销。特性也可以通过将对应的成员设置为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
结尾的成员时,将调用此函数。