SpatialMaterial

    Category: Core

    Default 3D rendering material.

    Properties

    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
    • 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 — Represents the size of the enum.

    enum DetailUV:

    • DETAIL_UV_1 = 0
    • DETAIL_UV_2 = 1

    enum Feature:

    • FEATURE_TRANSPARENT = 0
    • FEATURE_EMISSION = 1
    • FEATURE_NORMAL_MAPPING = 2
    • FEATURE_RIM = 3
    • FEATURE_CLEARCOAT = 4
    • FEATURE_ANISOTROPY = 5
    • FEATURE_AMBIENT_OCCLUSION = 6
    • FEATURE_DEPTH_MAPPING = 7
    • FEATURE_SUBSURACE_SCATTERING = 8
    • FEATURE_TRANSMISSION = 9
    • FEATURE_REFRACTION = 10
    • FEATURE_DETAIL = 11
    • FEATURE_MAX = 12 — Represents the size of the Feature enum.

    enum BlendMode:

    • BLEND_MODE_MIX = 0 — Default blend mode.
    • BLEND_MODE_ADD = 1
    • BLEND_MODE_SUB = 2
    • BLEND_MODE_MUL = 3

    enum DepthDrawMode:

    • DEPTH_DRAW_OPAQUE_ONLY = 0 — Default depth draw mode. Depth is drawn only for opaque objects.
    • DEPTH_DRAW_ALWAYS = 1 — Depth draw is calculated for both opaque and transparent objects.
    • DEPTH_DRAW_DISABLED = 2 — No depth draw.
    • DEPTH_DRAW_ALPHA_OPAQUE_PREPASS = 3 — For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn.

    enum CullMode:

    • CULL_BACK = 0 — Default cull mode. The back of the object is culled when not visible.
    • CULL_FRONT = 1 — The front of the object is culled when not visible.
    • CULL_DISABLED = 2 — No culling is performed.

    enum Flags:

    • FLAG_UNSHADED = 0
    • FLAG_USE_VERTEX_LIGHTING = 1
    • FLAG_DISABLE_DEPTH_TEST = 2
    • FLAG_ALBEDO_FROM_VERTEX_COLOR = 3
    • FLAG_SRGB_VERTEX_COLOR = 4
    • FLAG_USE_POINT_SIZE = 5
    • FLAG_FIXED_SIZE = 6
    • FLAG_BILLBOARD_KEEP_SCALE = 7
    • FLAG_UV1_USE_TRIPLANAR = 8
    • FLAG_UV2_USE_TRIPLANAR = 9
    • FLAG_AO_ON_UV2 = 11
    • FLAG_EMISSION_ON_UV2 = 12
    • FLAG_USE_ALPHA_SCISSOR = 13
    • FLAG_TRIPLANAR_USE_WORLD = 10
    • FLAG_ALBEDO_TEXTURE_FORCE_SRGB = 14
    • FLAG_DISABLE_AMBIENT_LIGHT = 17
    • FLAG_ENSURE_CORRECT_NORMALS = 16
    • FLAG_MAX = 18 — Represents the size of the enum.

    enum DiffuseMode:

    • DIFFUSE_BURLEY = 0 — Default diffuse scattering algorithm.
    • DIFFUSE_LAMBERT = 1 — Diffuse scattering ignores roughness.
    • DIFFUSE_LAMBERT_WRAP = 2 — Extends Lambert to cover more than 90 degrees when roughness increases.
    • DIFFUSE_OREN_NAYAR = 3 — Attempts to use roughness to emulate microsurfacing.
    • DIFFUSE_TOON = 4 — Uses a hard cut for lighting, with smoothing affected by roughness.

    enum SpecularMode:

    • SPECULAR_SCHLICK_GGX = 0 — Default specular blob.
    • SPECULAR_BLINN = 1 — Older specular algorithm, included for compatibility.
    • SPECULAR_PHONG = 2 — Older specular algorithm, included for compatibility.
    • SPECULAR_TOON = 3 — Toon blob which changes size based on roughness.
    • SPECULAR_DISABLED = 4 — No specular blob.

    enum BillboardMode:

    • BILLBOARD_DISABLED = 0 — Default value.
    • BILLBOARD_ENABLED = 1 — The object’s z-axis will always face the camera.
    • BILLBOARD_FIXED_Y = 2 — The object’s x-axis will always face the camera.
    • BILLBOARD_PARTICLES = 3 — Used for particle systems. Enables particle animation options.

    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

    Description

    This provides a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details.

    Property Descriptions

    • albedo_color
    Setterset_albedo(value)
    Getterget_albedo()

    The material’s base color.


    Setterset_texture(value)
    Getterget_texture()

    • anisotropy
    Setterset_anisotropy(value)
    Getterget_anisotropy()

    The strength of the anisotropy effect.


    • bool anisotropy_enabled
    Setterset_feature(value)
    Getterget_feature()

    If , anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Default value: false.


    • anisotropy_flowmap
    Setterset_texture(value)
    Getterget_texture()

    Setterset_feature(value)
    Getterget_feature()

    If true, ambient occlusion is enabled.


    • ao_light_affect
    Setterset_ao_light_affect(value)
    Getterget_ao_light_affect()

    Setterset_flag(value)
    Getterget_flag()

    • ao_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_ao_texture_channel(value)
    Getterget_ao_texture_channel()

    • clearcoat
    Setterset_clearcoat(value)
    Getterget_clearcoat()

    • bool clearcoat_enabled
    Setterset_feature(value)
    Getterget_feature()

    • clearcoat_gloss
    Setterset_clearcoat_gloss(value)
    Getterget_clearcoat_gloss()

    Setterset_texture(value)
    Getterget_texture()

    • depth_deep_parallax
    Setterset_depth_deep_parallax(value)
    Getteris_depth_deep_parallax_enabled()

    Setterset_feature(value)
    Getterget_feature()

    If true, Depth mapping is enabled. See also .


    • bool depth_flip_binormal
    Setterset_depth_deep_parallax_flip_binormal(value)
    Getterget_depth_deep_parallax_flip_binormal()

    • 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()

    • depth_min_layers
    Setterset_depth_deep_parallax_min_layers(value)
    Getterget_depth_deep_parallax_min_layers()

    Setterset_depth_scale(value)
    Getterget_depth_scale()

    • depth_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_texture(value)
    Getterget_texture()

    • detail_blend_mode
    Setterset_detail_blend_mode(value)
    Getterget_detail_blend_mode()

    • bool detail_enabled
    Setterset_feature(value)
    Getterget_feature()

    • detail_mask
    Setterset_texture(value)
    Getterget_texture()

    Setterset_texture(value)
    Getterget_texture()

    • 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()

    • distance_fade_min_distance
    Setterset_distance_fade_min_distance(value)
    Getterget_distance_fade_min_distance()

    Setterset_distance_fade(value)
    Getterget_distance_fade()

    • emission
    Setterset_emission(value)
    Getterget_emission()

    The emitted light’s color. See emission_enabled.


    • emission_enabled

    If true, the body emits light.


    Setterset_emission_energy(value)
    Getterget_emission_energy()

    The emitted light’s strength. See .


    • bool emission_on_uv2
    Setterset_flag(value)
    Getterget_flag()

    Setterset_emission_operator(value)
    Getterget_emission_operator()

    • emission_texture
    Setterset_texture(value)
    Getterget_texture()

    • bool flags_albedo_tex_force_srgb
    Setterset_flag(value)
    Getterget_flag()

    • flags_disable_ambient_light
    Setterset_flag(value)
    Getterget_flag()

    If true, the object receives no ambient light. Default value: false.


    • bool flags_do_not_receive_shadows
    Setterset_flag(value)
    Getterget_flag()

    If true, the object receives no shadow that would otherwise be cast onto it. Default value: false.


    • flags_ensure_correct_normals
    Setterset_flag(value)
    Getterget_flag()

    • bool flags_fixed_size
    Setterset_flag(value)
    Getterget_flag()

    If true, the object is rendered at the same size regardless of distance. Default value: false.


    • flags_no_depth_test
    Setterset_flag(value)
    Getterget_flag()

    If true, depth testing is disabled and the object will be drawn in render order.


    • bool flags_transparent
    Setterset_feature(value)
    Getterget_feature()

    If true, transparency is enabled on the body. Default value: false. See also .


    • bool flags_unshaded
    Setterset_flag(value)
    Getterget_flag()

    If , the object is unaffected by lighting. Default value: false.


    • flags_use_point_size
    Setterset_flag(value)
    Getterget_flag()

    If true, render point size can be changed. Note: this is only effective for objects whose geometry is point-based rather than triangle-based. See also params_point_size.


    • flags_vertex_lighting
    Setterset_flag(value)
    Getterget_flag()

    If true, lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices. Default value: false.


    • bool flags_world_triplanar
    Setterset_flag(value)
    Getterget_flag()

    If true, triplanar mapping is calculated in world space rather than object local space. See also . Default value: false.


    Setterset_metallic(value)
    Getterget_metallic()

    The reflectivity of the object’s surface. The higher the value the more light is reflected.


    • metallic_specular
    Setterset_specular(value)
    Getterget_specular()

    General reflectivity amount. Note: unlike metallic, this is not energy-conserving, so it should be left at 0.5 in most cases. See also .


    Setterset_texture(value)
    Getterget_texture()

    • metallic_texture_channel
    Setterset_metallic_texture_channel(value)
    Getterget_metallic_texture_channel()

    • bool normal_enabled
    Setterset_feature(value)
    Getterget_feature()

    If true, normal mapping is enabled.


    • normal_scale
    Setterset_normal_scale(value)
    Getterget_normal_scale()

    The strength of the normal map’s effect.


    Setterset_texture(value)
    Getterget_texture()

    • params_alpha_scissor_threshold
    Setterset_alpha_scissor_threshold(value)
    Getterget_alpha_scissor_threshold()

    • bool params_billboard_keep_scale
    Setterset_flag(value)
    Getterget_flag()

    • params_billboard_mode
    Setterset_billboard_mode(value)
    Getterget_billboard_mode()

    Controls how the object faces the camera. See BillboardMode.


    • params_blend_mode
    Setterset_blend_mode(value)
    Getterget_blend_mode()

    The material’s blend mode. Note that values other than Mix force the object into the transparent pipeline. See BlendMode.


    • params_cull_mode
    Setterset_cull_mode(value)
    Getterget_cull_mode()

    Which side of the object is not drawn when backfaces are rendered. See CullMode.


    • params_depth_draw_mode
    Setterset_depth_draw_mode(value)
    Getterget_depth_draw_mode()

    Setterset_diffuse_mode(value)
    Getterget_diffuse_mode()

    The algorithm used for diffuse light scattering. See .


    Setterset_grow_enabled(value)
    Getteris_grow_enabled()

    If true, enables the vertex grow setting. See .


    • float params_grow_amount
    Setterset_grow(value)
    Getterget_grow()

    Grows object vertices in the direction of their normals.


    • params_line_width
    Setterset_line_width(value)
    Getterget_line_width()

    The point size in pixels. See .


    Setterset_specular_mode(value)
    Getterget_specular_mode()

    The method for rendering the specular blob. See .


    • bool params_use_alpha_scissor
    Setterset_flag(value)
    Getterget_flag()

    • particles_anim_h_frames
    Setterset_particles_anim_h_frames(value)
    Getterget_particles_anim_h_frames()

    The number of horizontal frames in the particle spritesheet. Only enabled when using BillboardMode.BILLBOARD_PARTICLES. See params_billboard_mode.


    • particles_anim_loop
    Setterset_particles_anim_loop(value)
    Getterget_particles_anim_loop()

    If true, particle animations are looped. Only enabled when using BillboardMode.BILLBOARD_PARTICLES. See params_billboard_mode.


    • particles_anim_v_frames
    Setterset_particles_anim_v_frames(value)
    Getterget_particles_anim_v_frames()

    The number of vertical frames in the particle spritesheet. Only enabled when using BillboardMode.BILLBOARD_PARTICLES. See params_billboard_mode.


    • proximity_fade_distance
    Setterset_proximity_fade_distance(value)
    Getterget_proximity_fade_distance()

    • bool proximity_fade_enable
    Setterset_proximity_fade(value)
    Getteris_proximity_fade_enabled()

    If true, the proximity and distance fade effect is enabled. Default value: .


    • refraction_enabled
    Setterset_feature(value)
    Getterget_feature()

    If true, the refraction effect is enabled. Distorts transparency based on light from behind the object. Default value: false.


    Setterset_refraction(value)
    Getterget_refraction()

    The strength of the refraction effect.


    • refraction_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_refraction_texture_channel(value)
    Getterget_refraction_texture_channel()

    • rim
    Setterset_rim(value)
    Getterget_rim()

    Setterset_feature(value)
    Getterget_feature()

    If true, rim effect is enabled. Default value: false.


    • rim_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_rim_tint(value)
    Getterget_rim_tint()

    The amount of to blend light and albedo color when rendering rim effect. If 0 the light color is used, while 1 means albedo color is used. An intermediate value generally works best.


    • roughness
    Setterset_roughness(value)
    Getterget_roughness()

    Surface reflection. A value of 0 represents a perfect mirror while a value of 1 completely blurs the reflection. See also metallic.


    • roughness_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_roughness_texture_channel(value)
    Getterget_roughness_texture_channel()

    • subsurf_scatter_enabled
    Setterset_feature(value)
    Getterget_feature()

    If true, subsurface scattering is enabled. Emulates light that penetrates an object’s surface, is scattered, and then emerges.


    • float subsurf_scatter_strength
    Setterset_subsurface_scattering_strength(value)
    Getterget_subsurface_scattering_strength()

    The strength of the subsurface scattering effect.


    • subsurf_scatter_texture
    Setterset_texture(value)
    Getterget_texture()

    Setterset_transmission(value)
    Getterget_transmission()

    The color used by the transmission effect. Represents the light passing through an object.


    • transmission_enabled
    Setterset_feature(value)
    Getterget_feature()

    If true, the transmission effect is enabled. Default value: false.


    Setterset_texture(value)
    Getterget_texture()

    • uv1_offset
    Setterset_uv1_offset(value)
    Getterget_uv1_offset()

    Setterset_uv1_scale(value)
    Getterget_uv1_scale()

    • uv1_triplanar
    Setterset_flag(value)
    Getterget_flag()

    • float uv1_triplanar_sharpness
    Setterset_uv1_triplanar_blend_sharpness(value)
    Getterget_uv1_triplanar_blend_sharpness()

    • uv2_offset
    Setterset_uv2_offset(value)
    Getterget_uv2_offset()

    Setterset_uv2_scale(value)
    Getterget_uv2_scale()

    • uv2_triplanar
    Setterset_flag(value)
    Getterget_flag()

    • float uv2_triplanar_sharpness
    Setterset_uv2_triplanar_blend_sharpness(value)
    Getterget_uv2_triplanar_blend_sharpness()

    • vertex_color_is_srgb

    If true, the model’s vertex colors are processed as sRGB mode. Default value: false.


    • bool vertex_color_use_as_albedo
    Setterset_flag(value)
    Getterget_flag()

    If true, the vertex color is used as albedo color. Default value: false.