SpatialMaterial
继承
简要描述
默认的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
结尾的成员时,将调用此函数。