Files
godot-docs/classes/class_spatialmaterial.rst
2020-01-21 09:28:25 +01:00

1956 lines
80 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the SpatialMaterial.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_SpatialMaterial:
SpatialMaterial
===============
**Inherits:** :ref:`Material<class_Material>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
**Category:** Core
Brief Description
-----------------
Default 3D rendering material.
Properties
----------
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`albedo_color<class_SpatialMaterial_property_albedo_color>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`albedo_texture<class_SpatialMaterial_property_albedo_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`anisotropy<class_SpatialMaterial_property_anisotropy>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`anisotropy_enabled<class_SpatialMaterial_property_anisotropy_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`anisotropy_flowmap<class_SpatialMaterial_property_anisotropy_flowmap>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`ao_enabled<class_SpatialMaterial_property_ao_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`ao_light_affect<class_SpatialMaterial_property_ao_light_affect>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`ao_on_uv2<class_SpatialMaterial_property_ao_on_uv2>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`ao_texture<class_SpatialMaterial_property_ao_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`ao_texture_channel<class_SpatialMaterial_property_ao_texture_channel>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`clearcoat<class_SpatialMaterial_property_clearcoat>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`clearcoat_enabled<class_SpatialMaterial_property_clearcoat_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`clearcoat_gloss<class_SpatialMaterial_property_clearcoat_gloss>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`clearcoat_texture<class_SpatialMaterial_property_clearcoat_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`depth_deep_parallax<class_SpatialMaterial_property_depth_deep_parallax>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`depth_enabled<class_SpatialMaterial_property_depth_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`depth_flip_binormal<class_SpatialMaterial_property_depth_flip_binormal>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`depth_flip_tangent<class_SpatialMaterial_property_depth_flip_tangent>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`depth_max_layers<class_SpatialMaterial_property_depth_max_layers>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`depth_min_layers<class_SpatialMaterial_property_depth_min_layers>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`depth_scale<class_SpatialMaterial_property_depth_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`depth_texture<class_SpatialMaterial_property_depth_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`detail_albedo<class_SpatialMaterial_property_detail_albedo>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` | :ref:`detail_blend_mode<class_SpatialMaterial_property_detail_blend_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`detail_enabled<class_SpatialMaterial_property_detail_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`detail_mask<class_SpatialMaterial_property_detail_mask>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`detail_normal<class_SpatialMaterial_property_detail_normal>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`DetailUV<enum_SpatialMaterial_DetailUV>` | :ref:`detail_uv_layer<class_SpatialMaterial_property_detail_uv_layer>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`distance_fade_max_distance<class_SpatialMaterial_property_distance_fade_max_distance>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`distance_fade_min_distance<class_SpatialMaterial_property_distance_fade_min_distance>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`DistanceFadeMode<enum_SpatialMaterial_DistanceFadeMode>` | :ref:`distance_fade_mode<class_SpatialMaterial_property_distance_fade_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`emission<class_SpatialMaterial_property_emission>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`emission_energy<class_SpatialMaterial_property_emission_energy>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`emission_on_uv2<class_SpatialMaterial_property_emission_on_uv2>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`EmissionOperator<enum_SpatialMaterial_EmissionOperator>` | :ref:`emission_operator<class_SpatialMaterial_property_emission_operator>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`emission_texture<class_SpatialMaterial_property_emission_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_albedo_tex_force_srgb<class_SpatialMaterial_property_flags_albedo_tex_force_srgb>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_disable_ambient_light<class_SpatialMaterial_property_flags_disable_ambient_light>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_do_not_receive_shadows<class_SpatialMaterial_property_flags_do_not_receive_shadows>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_ensure_correct_normals<class_SpatialMaterial_property_flags_ensure_correct_normals>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_fixed_size<class_SpatialMaterial_property_flags_fixed_size>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_no_depth_test<class_SpatialMaterial_property_flags_no_depth_test>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_transparent<class_SpatialMaterial_property_flags_transparent>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_unshaded<class_SpatialMaterial_property_flags_unshaded>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_use_point_size<class_SpatialMaterial_property_flags_use_point_size>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_vertex_lighting<class_SpatialMaterial_property_flags_vertex_lighting>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`flags_world_triplanar<class_SpatialMaterial_property_flags_world_triplanar>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`metallic<class_SpatialMaterial_property_metallic>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`metallic_specular<class_SpatialMaterial_property_metallic_specular>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`metallic_texture<class_SpatialMaterial_property_metallic_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`metallic_texture_channel<class_SpatialMaterial_property_metallic_texture_channel>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`normal_enabled<class_SpatialMaterial_property_normal_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`normal_scale<class_SpatialMaterial_property_normal_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`normal_texture<class_SpatialMaterial_property_normal_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`params_alpha_scissor_threshold<class_SpatialMaterial_property_params_alpha_scissor_threshold>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`params_billboard_keep_scale<class_SpatialMaterial_property_params_billboard_keep_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>` | :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` | :ref:`params_blend_mode<class_SpatialMaterial_property_params_blend_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`CullMode<enum_SpatialMaterial_CullMode>` | :ref:`params_cull_mode<class_SpatialMaterial_property_params_cull_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>` | :ref:`params_depth_draw_mode<class_SpatialMaterial_property_params_depth_draw_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>` | :ref:`params_diffuse_mode<class_SpatialMaterial_property_params_diffuse_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`params_grow<class_SpatialMaterial_property_params_grow>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`params_grow_amount<class_SpatialMaterial_property_params_grow_amount>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`params_line_width<class_SpatialMaterial_property_params_line_width>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`params_point_size<class_SpatialMaterial_property_params_point_size>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>` | :ref:`params_specular_mode<class_SpatialMaterial_property_params_specular_mode>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`params_use_alpha_scissor<class_SpatialMaterial_property_params_use_alpha_scissor>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`particles_anim_h_frames<class_SpatialMaterial_property_particles_anim_h_frames>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`particles_anim_loop<class_SpatialMaterial_property_particles_anim_loop>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`particles_anim_v_frames<class_SpatialMaterial_property_particles_anim_v_frames>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`proximity_fade_distance<class_SpatialMaterial_property_proximity_fade_distance>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`proximity_fade_enable<class_SpatialMaterial_property_proximity_fade_enable>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`refraction_enabled<class_SpatialMaterial_property_refraction_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`refraction_scale<class_SpatialMaterial_property_refraction_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`refraction_texture<class_SpatialMaterial_property_refraction_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`refraction_texture_channel<class_SpatialMaterial_property_refraction_texture_channel>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`rim<class_SpatialMaterial_property_rim>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`rim_enabled<class_SpatialMaterial_property_rim_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`rim_texture<class_SpatialMaterial_property_rim_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`rim_tint<class_SpatialMaterial_property_rim_tint>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`roughness<class_SpatialMaterial_property_roughness>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`roughness_texture<class_SpatialMaterial_property_roughness_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`roughness_texture_channel<class_SpatialMaterial_property_roughness_texture_channel>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`subsurf_scatter_enabled<class_SpatialMaterial_property_subsurf_scatter_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`subsurf_scatter_strength<class_SpatialMaterial_property_subsurf_scatter_strength>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`subsurf_scatter_texture<class_SpatialMaterial_property_subsurf_scatter_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`transmission<class_SpatialMaterial_property_transmission>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`transmission_enabled<class_SpatialMaterial_property_transmission_enabled>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`transmission_texture<class_SpatialMaterial_property_transmission_texture>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`uv1_offset<class_SpatialMaterial_property_uv1_offset>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`uv1_scale<class_SpatialMaterial_property_uv1_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`uv1_triplanar<class_SpatialMaterial_property_uv1_triplanar>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`uv1_triplanar_sharpness<class_SpatialMaterial_property_uv1_triplanar_sharpness>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`uv2_offset<class_SpatialMaterial_property_uv2_offset>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`uv2_scale<class_SpatialMaterial_property_uv2_scale>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`uv2_triplanar<class_SpatialMaterial_property_uv2_triplanar>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`uv2_triplanar_sharpness<class_SpatialMaterial_property_uv2_triplanar_sharpness>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`vertex_color_is_srgb<class_SpatialMaterial_property_vertex_color_is_srgb>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`vertex_color_use_as_albedo<class_SpatialMaterial_property_vertex_color_use_as_albedo>` |
+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
Enumerations
------------
.. _enum_SpatialMaterial_TextureParam:
.. _class_SpatialMaterial_constant_TEXTURE_ALBEDO:
.. _class_SpatialMaterial_constant_TEXTURE_METALLIC:
.. _class_SpatialMaterial_constant_TEXTURE_ROUGHNESS:
.. _class_SpatialMaterial_constant_TEXTURE_EMISSION:
.. _class_SpatialMaterial_constant_TEXTURE_NORMAL:
.. _class_SpatialMaterial_constant_TEXTURE_RIM:
.. _class_SpatialMaterial_constant_TEXTURE_CLEARCOAT:
.. _class_SpatialMaterial_constant_TEXTURE_FLOWMAP:
.. _class_SpatialMaterial_constant_TEXTURE_AMBIENT_OCCLUSION:
.. _class_SpatialMaterial_constant_TEXTURE_DEPTH:
.. _class_SpatialMaterial_constant_TEXTURE_SUBSURFACE_SCATTERING:
.. _class_SpatialMaterial_constant_TEXTURE_TRANSMISSION:
.. _class_SpatialMaterial_constant_TEXTURE_REFRACTION:
.. _class_SpatialMaterial_constant_TEXTURE_DETAIL_MASK:
.. _class_SpatialMaterial_constant_TEXTURE_DETAIL_ALBEDO:
.. _class_SpatialMaterial_constant_TEXTURE_DETAIL_NORMAL:
.. _class_SpatialMaterial_constant_TEXTURE_MAX:
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 :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` enum.
----
.. _enum_SpatialMaterial_DetailUV:
.. _class_SpatialMaterial_constant_DETAIL_UV_1:
.. _class_SpatialMaterial_constant_DETAIL_UV_2:
enum **DetailUV**:
- **DETAIL_UV_1** = **0**
- **DETAIL_UV_2** = **1**
----
.. _enum_SpatialMaterial_Feature:
.. _class_SpatialMaterial_constant_FEATURE_TRANSPARENT:
.. _class_SpatialMaterial_constant_FEATURE_EMISSION:
.. _class_SpatialMaterial_constant_FEATURE_NORMAL_MAPPING:
.. _class_SpatialMaterial_constant_FEATURE_RIM:
.. _class_SpatialMaterial_constant_FEATURE_CLEARCOAT:
.. _class_SpatialMaterial_constant_FEATURE_ANISOTROPY:
.. _class_SpatialMaterial_constant_FEATURE_AMBIENT_OCCLUSION:
.. _class_SpatialMaterial_constant_FEATURE_DEPTH_MAPPING:
.. _class_SpatialMaterial_constant_FEATURE_SUBSURACE_SCATTERING:
.. _class_SpatialMaterial_constant_FEATURE_TRANSMISSION:
.. _class_SpatialMaterial_constant_FEATURE_REFRACTION:
.. _class_SpatialMaterial_constant_FEATURE_DETAIL:
.. _class_SpatialMaterial_constant_FEATURE_MAX:
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 :ref:`Feature<enum_SpatialMaterial_Feature>` enum.
----
.. _enum_SpatialMaterial_BlendMode:
.. _class_SpatialMaterial_constant_BLEND_MODE_MIX:
.. _class_SpatialMaterial_constant_BLEND_MODE_ADD:
.. _class_SpatialMaterial_constant_BLEND_MODE_SUB:
.. _class_SpatialMaterial_constant_BLEND_MODE_MUL:
enum **BlendMode**:
- **BLEND_MODE_MIX** = **0** --- Default blend mode.
- **BLEND_MODE_ADD** = **1**
- **BLEND_MODE_SUB** = **2**
- **BLEND_MODE_MUL** = **3**
----
.. _enum_SpatialMaterial_DepthDrawMode:
.. _class_SpatialMaterial_constant_DEPTH_DRAW_OPAQUE_ONLY:
.. _class_SpatialMaterial_constant_DEPTH_DRAW_ALWAYS:
.. _class_SpatialMaterial_constant_DEPTH_DRAW_DISABLED:
.. _class_SpatialMaterial_constant_DEPTH_DRAW_ALPHA_OPAQUE_PREPASS:
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_SpatialMaterial_CullMode:
.. _class_SpatialMaterial_constant_CULL_BACK:
.. _class_SpatialMaterial_constant_CULL_FRONT:
.. _class_SpatialMaterial_constant_CULL_DISABLED:
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_SpatialMaterial_Flags:
.. _class_SpatialMaterial_constant_FLAG_UNSHADED:
.. _class_SpatialMaterial_constant_FLAG_USE_VERTEX_LIGHTING:
.. _class_SpatialMaterial_constant_FLAG_DISABLE_DEPTH_TEST:
.. _class_SpatialMaterial_constant_FLAG_ALBEDO_FROM_VERTEX_COLOR:
.. _class_SpatialMaterial_constant_FLAG_SRGB_VERTEX_COLOR:
.. _class_SpatialMaterial_constant_FLAG_USE_POINT_SIZE:
.. _class_SpatialMaterial_constant_FLAG_FIXED_SIZE:
.. _class_SpatialMaterial_constant_FLAG_BILLBOARD_KEEP_SCALE:
.. _class_SpatialMaterial_constant_FLAG_UV1_USE_TRIPLANAR:
.. _class_SpatialMaterial_constant_FLAG_UV2_USE_TRIPLANAR:
.. _class_SpatialMaterial_constant_FLAG_AO_ON_UV2:
.. _class_SpatialMaterial_constant_FLAG_EMISSION_ON_UV2:
.. _class_SpatialMaterial_constant_FLAG_USE_ALPHA_SCISSOR:
.. _class_SpatialMaterial_constant_FLAG_TRIPLANAR_USE_WORLD:
.. _class_SpatialMaterial_constant_FLAG_ALBEDO_TEXTURE_FORCE_SRGB:
.. _class_SpatialMaterial_constant_FLAG_DONT_RECEIVE_SHADOWS:
.. _class_SpatialMaterial_constant_FLAG_DISABLE_AMBIENT_LIGHT:
.. _class_SpatialMaterial_constant_FLAG_ENSURE_CORRECT_NORMALS:
.. _class_SpatialMaterial_constant_FLAG_MAX:
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_DONT_RECEIVE_SHADOWS** = **15**
- **FLAG_DISABLE_AMBIENT_LIGHT** = **17**
- **FLAG_ENSURE_CORRECT_NORMALS** = **16**
- **FLAG_MAX** = **18** --- Represents the size of the :ref:`Flags<enum_SpatialMaterial_Flags>` enum.
----
.. _enum_SpatialMaterial_DiffuseMode:
.. _class_SpatialMaterial_constant_DIFFUSE_BURLEY:
.. _class_SpatialMaterial_constant_DIFFUSE_LAMBERT:
.. _class_SpatialMaterial_constant_DIFFUSE_LAMBERT_WRAP:
.. _class_SpatialMaterial_constant_DIFFUSE_OREN_NAYAR:
.. _class_SpatialMaterial_constant_DIFFUSE_TOON:
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_SpatialMaterial_SpecularMode:
.. _class_SpatialMaterial_constant_SPECULAR_SCHLICK_GGX:
.. _class_SpatialMaterial_constant_SPECULAR_BLINN:
.. _class_SpatialMaterial_constant_SPECULAR_PHONG:
.. _class_SpatialMaterial_constant_SPECULAR_TOON:
.. _class_SpatialMaterial_constant_SPECULAR_DISABLED:
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_SpatialMaterial_BillboardMode:
.. _class_SpatialMaterial_constant_BILLBOARD_DISABLED:
.. _class_SpatialMaterial_constant_BILLBOARD_ENABLED:
.. _class_SpatialMaterial_constant_BILLBOARD_FIXED_Y:
.. _class_SpatialMaterial_constant_BILLBOARD_PARTICLES:
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_SpatialMaterial_TextureChannel:
.. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_RED:
.. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_GREEN:
.. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_BLUE:
.. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_ALPHA:
.. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_GRAYSCALE:
enum **TextureChannel**:
- **TEXTURE_CHANNEL_RED** = **0**
- **TEXTURE_CHANNEL_GREEN** = **1**
- **TEXTURE_CHANNEL_BLUE** = **2**
- **TEXTURE_CHANNEL_ALPHA** = **3**
- **TEXTURE_CHANNEL_GRAYSCALE** = **4**
----
.. _enum_SpatialMaterial_EmissionOperator:
.. _class_SpatialMaterial_constant_EMISSION_OP_ADD:
.. _class_SpatialMaterial_constant_EMISSION_OP_MULTIPLY:
enum **EmissionOperator**:
- **EMISSION_OP_ADD** = **0**
- **EMISSION_OP_MULTIPLY** = **1**
----
.. _enum_SpatialMaterial_DistanceFadeMode:
.. _class_SpatialMaterial_constant_DISTANCE_FADE_DISABLED:
.. _class_SpatialMaterial_constant_DISTANCE_FADE_PIXEL_ALPHA:
.. _class_SpatialMaterial_constant_DISTANCE_FADE_PIXEL_DITHER:
.. _class_SpatialMaterial_constant_DISTANCE_FADE_OBJECT_DITHER:
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.
Tutorials
---------
- :doc:`../tutorials/3d/spatial_material`
Property Descriptions
---------------------
.. _class_SpatialMaterial_property_albedo_color:
- :ref:`Color<class_Color>` **albedo_color**
+----------+-------------------+
| *Setter* | set_albedo(value) |
+----------+-------------------+
| *Getter* | get_albedo() |
+----------+-------------------+
The material's base color.
----
.. _class_SpatialMaterial_property_albedo_texture:
- :ref:`Texture<class_Texture>` **albedo_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_anisotropy:
- :ref:`float<class_float>` **anisotropy**
+----------+-----------------------+
| *Setter* | set_anisotropy(value) |
+----------+-----------------------+
| *Getter* | get_anisotropy() |
+----------+-----------------------+
The strength of the anisotropy effect.
----
.. _class_SpatialMaterial_property_anisotropy_enabled:
- :ref:`bool<class_bool>` **anisotropy_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Default value: ``false``.
----
.. _class_SpatialMaterial_property_anisotropy_flowmap:
- :ref:`Texture<class_Texture>` **anisotropy_flowmap**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_ao_enabled:
- :ref:`bool<class_bool>` **ao_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, ambient occlusion is enabled.
----
.. _class_SpatialMaterial_property_ao_light_affect:
- :ref:`float<class_float>` **ao_light_affect**
+----------+----------------------------+
| *Setter* | set_ao_light_affect(value) |
+----------+----------------------------+
| *Getter* | get_ao_light_affect() |
+----------+----------------------------+
----
.. _class_SpatialMaterial_property_ao_on_uv2:
- :ref:`bool<class_bool>` **ao_on_uv2**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_ao_texture:
- :ref:`Texture<class_Texture>` **ao_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_ao_texture_channel:
- :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **ao_texture_channel**
+----------+-------------------------------+
| *Setter* | set_ao_texture_channel(value) |
+----------+-------------------------------+
| *Getter* | get_ao_texture_channel() |
+----------+-------------------------------+
----
.. _class_SpatialMaterial_property_clearcoat:
- :ref:`float<class_float>` **clearcoat**
+----------+----------------------+
| *Setter* | set_clearcoat(value) |
+----------+----------------------+
| *Getter* | get_clearcoat() |
+----------+----------------------+
----
.. _class_SpatialMaterial_property_clearcoat_enabled:
- :ref:`bool<class_bool>` **clearcoat_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass to the material. Default value: ``false``.
----
.. _class_SpatialMaterial_property_clearcoat_gloss:
- :ref:`float<class_float>` **clearcoat_gloss**
+----------+----------------------------+
| *Setter* | set_clearcoat_gloss(value) |
+----------+----------------------------+
| *Getter* | get_clearcoat_gloss() |
+----------+----------------------------+
----
.. _class_SpatialMaterial_property_clearcoat_texture:
- :ref:`Texture<class_Texture>` **clearcoat_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_depth_deep_parallax:
- :ref:`bool<class_bool>` **depth_deep_parallax**
+----------+----------------------------------+
| *Setter* | set_depth_deep_parallax(value) |
+----------+----------------------------------+
| *Getter* | is_depth_deep_parallax_enabled() |
+----------+----------------------------------+
----
.. _class_SpatialMaterial_property_depth_enabled:
- :ref:`bool<class_bool>` **depth_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, Depth mapping is enabled. See also :ref:`normal_enabled<class_SpatialMaterial_property_normal_enabled>`.
----
.. _class_SpatialMaterial_property_depth_flip_binormal:
- :ref:`bool<class_bool>` **depth_flip_binormal**
+----------+----------------------------------------------+
| *Setter* | set_depth_deep_parallax_flip_binormal(value) |
+----------+----------------------------------------------+
| *Getter* | get_depth_deep_parallax_flip_binormal() |
+----------+----------------------------------------------+
----
.. _class_SpatialMaterial_property_depth_flip_tangent:
- :ref:`bool<class_bool>` **depth_flip_tangent**
+----------+---------------------------------------------+
| *Setter* | set_depth_deep_parallax_flip_tangent(value) |
+----------+---------------------------------------------+
| *Getter* | get_depth_deep_parallax_flip_tangent() |
+----------+---------------------------------------------+
----
.. _class_SpatialMaterial_property_depth_max_layers:
- :ref:`int<class_int>` **depth_max_layers**
+----------+-------------------------------------------+
| *Setter* | set_depth_deep_parallax_max_layers(value) |
+----------+-------------------------------------------+
| *Getter* | get_depth_deep_parallax_max_layers() |
+----------+-------------------------------------------+
----
.. _class_SpatialMaterial_property_depth_min_layers:
- :ref:`int<class_int>` **depth_min_layers**
+----------+-------------------------------------------+
| *Setter* | set_depth_deep_parallax_min_layers(value) |
+----------+-------------------------------------------+
| *Getter* | get_depth_deep_parallax_min_layers() |
+----------+-------------------------------------------+
----
.. _class_SpatialMaterial_property_depth_scale:
- :ref:`float<class_float>` **depth_scale**
+----------+------------------------+
| *Setter* | set_depth_scale(value) |
+----------+------------------------+
| *Getter* | get_depth_scale() |
+----------+------------------------+
----
.. _class_SpatialMaterial_property_depth_texture:
- :ref:`Texture<class_Texture>` **depth_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_detail_albedo:
- :ref:`Texture<class_Texture>` **detail_albedo**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_detail_blend_mode:
- :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` **detail_blend_mode**
+----------+------------------------------+
| *Setter* | set_detail_blend_mode(value) |
+----------+------------------------------+
| *Getter* | get_detail_blend_mode() |
+----------+------------------------------+
----
.. _class_SpatialMaterial_property_detail_enabled:
- :ref:`bool<class_bool>` **detail_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_detail_mask:
- :ref:`Texture<class_Texture>` **detail_mask**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_detail_normal:
- :ref:`Texture<class_Texture>` **detail_normal**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_detail_uv_layer:
- :ref:`DetailUV<enum_SpatialMaterial_DetailUV>` **detail_uv_layer**
+----------+----------------------+
| *Setter* | set_detail_uv(value) |
+----------+----------------------+
| *Getter* | get_detail_uv() |
+----------+----------------------+
----
.. _class_SpatialMaterial_property_distance_fade_max_distance:
- :ref:`float<class_float>` **distance_fade_max_distance**
+----------+---------------------------------------+
| *Setter* | set_distance_fade_max_distance(value) |
+----------+---------------------------------------+
| *Getter* | get_distance_fade_max_distance() |
+----------+---------------------------------------+
----
.. _class_SpatialMaterial_property_distance_fade_min_distance:
- :ref:`float<class_float>` **distance_fade_min_distance**
+----------+---------------------------------------+
| *Setter* | set_distance_fade_min_distance(value) |
+----------+---------------------------------------+
| *Getter* | get_distance_fade_min_distance() |
+----------+---------------------------------------+
----
.. _class_SpatialMaterial_property_distance_fade_mode:
- :ref:`DistanceFadeMode<enum_SpatialMaterial_DistanceFadeMode>` **distance_fade_mode**
+----------+--------------------------+
| *Setter* | set_distance_fade(value) |
+----------+--------------------------+
| *Getter* | get_distance_fade() |
+----------+--------------------------+
----
.. _class_SpatialMaterial_property_emission:
- :ref:`Color<class_Color>` **emission**
+----------+---------------------+
| *Setter* | set_emission(value) |
+----------+---------------------+
| *Getter* | get_emission() |
+----------+---------------------+
The emitted light's color. See :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>`.
----
.. _class_SpatialMaterial_property_emission_enabled:
- :ref:`bool<class_bool>` **emission_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, the body emits light.
----
.. _class_SpatialMaterial_property_emission_energy:
- :ref:`float<class_float>` **emission_energy**
+----------+----------------------------+
| *Setter* | set_emission_energy(value) |
+----------+----------------------------+
| *Getter* | get_emission_energy() |
+----------+----------------------------+
The emitted light's strength. See :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>`.
----
.. _class_SpatialMaterial_property_emission_on_uv2:
- :ref:`bool<class_bool>` **emission_on_uv2**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_emission_operator:
- :ref:`EmissionOperator<enum_SpatialMaterial_EmissionOperator>` **emission_operator**
+----------+------------------------------+
| *Setter* | set_emission_operator(value) |
+----------+------------------------------+
| *Getter* | get_emission_operator() |
+----------+------------------------------+
----
.. _class_SpatialMaterial_property_emission_texture:
- :ref:`Texture<class_Texture>` **emission_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_flags_albedo_tex_force_srgb:
- :ref:`bool<class_bool>` **flags_albedo_tex_force_srgb**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_flags_disable_ambient_light:
- :ref:`bool<class_bool>` **flags_disable_ambient_light**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the object receives no ambient light. Default value: ``false``.
----
.. _class_SpatialMaterial_property_flags_do_not_receive_shadows:
- :ref:`bool<class_bool>` **flags_do_not_receive_shadows**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the object receives no shadow that would otherwise be cast onto it. Default value: ``false``.
----
.. _class_SpatialMaterial_property_flags_ensure_correct_normals:
- :ref:`bool<class_bool>` **flags_ensure_correct_normals**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_flags_fixed_size:
- :ref:`bool<class_bool>` **flags_fixed_size**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the object is rendered at the same size regardless of distance. Default value: ``false``.
----
.. _class_SpatialMaterial_property_flags_no_depth_test:
- :ref:`bool<class_bool>` **flags_no_depth_test**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, depth testing is disabled and the object will be drawn in render order.
----
.. _class_SpatialMaterial_property_flags_transparent:
- :ref:`bool<class_bool>` **flags_transparent**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, transparency is enabled on the body. Default value: ``false``. See also :ref:`params_blend_mode<class_SpatialMaterial_property_params_blend_mode>`.
----
.. _class_SpatialMaterial_property_flags_unshaded:
- :ref:`bool<class_bool>` **flags_unshaded**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the object is unaffected by lighting. Default value: ``false``.
----
.. _class_SpatialMaterial_property_flags_use_point_size:
- :ref:`bool<class_bool>` **flags_use_point_size**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_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 :ref:`params_point_size<class_SpatialMaterial_property_params_point_size>`.
----
.. _class_SpatialMaterial_property_flags_vertex_lighting:
- :ref:`bool<class_bool>` **flags_vertex_lighting**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices. Default value: ``false``.
----
.. _class_SpatialMaterial_property_flags_world_triplanar:
- :ref:`bool<class_bool>` **flags_world_triplanar**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, triplanar mapping is calculated in world space rather than object local space. See also :ref:`uv1_triplanar<class_SpatialMaterial_property_uv1_triplanar>`. Default value: ``false``.
----
.. _class_SpatialMaterial_property_metallic:
- :ref:`float<class_float>` **metallic**
+----------+---------------------+
| *Setter* | set_metallic(value) |
+----------+---------------------+
| *Getter* | get_metallic() |
+----------+---------------------+
The reflectivity of the object's surface. The higher the value the more light is reflected.
----
.. _class_SpatialMaterial_property_metallic_specular:
- :ref:`float<class_float>` **metallic_specular**
+----------+---------------------+
| *Setter* | set_specular(value) |
+----------+---------------------+
| *Getter* | get_specular() |
+----------+---------------------+
General reflectivity amount. Note: unlike :ref:`metallic<class_SpatialMaterial_property_metallic>`, this is not energy-conserving, so it should be left at ``0.5`` in most cases. See also :ref:`roughness<class_SpatialMaterial_property_roughness>`.
----
.. _class_SpatialMaterial_property_metallic_texture:
- :ref:`Texture<class_Texture>` **metallic_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_metallic_texture_channel:
- :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **metallic_texture_channel**
+----------+-------------------------------------+
| *Setter* | set_metallic_texture_channel(value) |
+----------+-------------------------------------+
| *Getter* | get_metallic_texture_channel() |
+----------+-------------------------------------+
----
.. _class_SpatialMaterial_property_normal_enabled:
- :ref:`bool<class_bool>` **normal_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, normal mapping is enabled.
----
.. _class_SpatialMaterial_property_normal_scale:
- :ref:`float<class_float>` **normal_scale**
+----------+-------------------------+
| *Setter* | set_normal_scale(value) |
+----------+-------------------------+
| *Getter* | get_normal_scale() |
+----------+-------------------------+
The strength of the normal map's effect.
----
.. _class_SpatialMaterial_property_normal_texture:
- :ref:`Texture<class_Texture>` **normal_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_params_alpha_scissor_threshold:
- :ref:`float<class_float>` **params_alpha_scissor_threshold**
+----------+------------------------------------+
| *Setter* | set_alpha_scissor_threshold(value) |
+----------+------------------------------------+
| *Getter* | get_alpha_scissor_threshold() |
+----------+------------------------------------+
----
.. _class_SpatialMaterial_property_params_billboard_keep_scale:
- :ref:`bool<class_bool>` **params_billboard_keep_scale**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_params_billboard_mode:
- :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>` **params_billboard_mode**
+----------+---------------------------+
| *Setter* | set_billboard_mode(value) |
+----------+---------------------------+
| *Getter* | get_billboard_mode() |
+----------+---------------------------+
Controls how the object faces the camera. See :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>`.
----
.. _class_SpatialMaterial_property_params_blend_mode:
- :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` **params_blend_mode**
+----------+-----------------------+
| *Setter* | set_blend_mode(value) |
+----------+-----------------------+
| *Getter* | get_blend_mode() |
+----------+-----------------------+
The material's blend mode. Note that values other than ``Mix`` force the object into the transparent pipeline. See :ref:`BlendMode<enum_SpatialMaterial_BlendMode>`.
----
.. _class_SpatialMaterial_property_params_cull_mode:
- :ref:`CullMode<enum_SpatialMaterial_CullMode>` **params_cull_mode**
+----------+----------------------+
| *Setter* | set_cull_mode(value) |
+----------+----------------------+
| *Getter* | get_cull_mode() |
+----------+----------------------+
Which side of the object is not drawn when backfaces are rendered. See :ref:`CullMode<enum_SpatialMaterial_CullMode>`.
----
.. _class_SpatialMaterial_property_params_depth_draw_mode:
- :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>` **params_depth_draw_mode**
+----------+----------------------------+
| *Setter* | set_depth_draw_mode(value) |
+----------+----------------------------+
| *Getter* | get_depth_draw_mode() |
+----------+----------------------------+
Determines when depth rendering takes place. See :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>`. See also :ref:`flags_transparent<class_SpatialMaterial_property_flags_transparent>`.
----
.. _class_SpatialMaterial_property_params_diffuse_mode:
- :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>` **params_diffuse_mode**
+----------+-------------------------+
| *Setter* | set_diffuse_mode(value) |
+----------+-------------------------+
| *Getter* | get_diffuse_mode() |
+----------+-------------------------+
The algorithm used for diffuse light scattering. See :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>`.
----
.. _class_SpatialMaterial_property_params_grow:
- :ref:`bool<class_bool>` **params_grow**
+----------+-------------------------+
| *Setter* | set_grow_enabled(value) |
+----------+-------------------------+
| *Getter* | is_grow_enabled() |
+----------+-------------------------+
If ``true``, enables the vertex grow setting. See :ref:`params_grow_amount<class_SpatialMaterial_property_params_grow_amount>`.
----
.. _class_SpatialMaterial_property_params_grow_amount:
- :ref:`float<class_float>` **params_grow_amount**
+----------+-----------------+
| *Setter* | set_grow(value) |
+----------+-----------------+
| *Getter* | get_grow() |
+----------+-----------------+
Grows object vertices in the direction of their normals.
----
.. _class_SpatialMaterial_property_params_line_width:
- :ref:`float<class_float>` **params_line_width**
+----------+-----------------------+
| *Setter* | set_line_width(value) |
+----------+-----------------------+
| *Getter* | get_line_width() |
+----------+-----------------------+
----
.. _class_SpatialMaterial_property_params_point_size:
- :ref:`float<class_float>` **params_point_size**
+----------+-----------------------+
| *Setter* | set_point_size(value) |
+----------+-----------------------+
| *Getter* | get_point_size() |
+----------+-----------------------+
The point size in pixels. See :ref:`flags_use_point_size<class_SpatialMaterial_property_flags_use_point_size>`.
----
.. _class_SpatialMaterial_property_params_specular_mode:
- :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>` **params_specular_mode**
+----------+--------------------------+
| *Setter* | set_specular_mode(value) |
+----------+--------------------------+
| *Getter* | get_specular_mode() |
+----------+--------------------------+
The method for rendering the specular blob. See :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>`.
----
.. _class_SpatialMaterial_property_params_use_alpha_scissor:
- :ref:`bool<class_bool>` **params_use_alpha_scissor**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_particles_anim_h_frames:
- :ref:`int<class_int>` **particles_anim_h_frames**
+----------+------------------------------------+
| *Setter* | set_particles_anim_h_frames(value) |
+----------+------------------------------------+
| *Getter* | get_particles_anim_h_frames() |
+----------+------------------------------------+
The number of horizontal frames in the particle spritesheet. Only enabled when using ``BillboardMode.BILLBOARD_PARTICLES``. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
----
.. _class_SpatialMaterial_property_particles_anim_loop:
- :ref:`bool<class_bool>` **particles_anim_loop**
+----------+--------------------------------+
| *Setter* | set_particles_anim_loop(value) |
+----------+--------------------------------+
| *Getter* | get_particles_anim_loop() |
+----------+--------------------------------+
If ``true``, particle animations are looped. Only enabled when using ``BillboardMode.BILLBOARD_PARTICLES``. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
----
.. _class_SpatialMaterial_property_particles_anim_v_frames:
- :ref:`int<class_int>` **particles_anim_v_frames**
+----------+------------------------------------+
| *Setter* | set_particles_anim_v_frames(value) |
+----------+------------------------------------+
| *Getter* | get_particles_anim_v_frames() |
+----------+------------------------------------+
The number of vertical frames in the particle spritesheet. Only enabled when using ``BillboardMode.BILLBOARD_PARTICLES``. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
----
.. _class_SpatialMaterial_property_proximity_fade_distance:
- :ref:`float<class_float>` **proximity_fade_distance**
+----------+------------------------------------+
| *Setter* | set_proximity_fade_distance(value) |
+----------+------------------------------------+
| *Getter* | get_proximity_fade_distance() |
+----------+------------------------------------+
----
.. _class_SpatialMaterial_property_proximity_fade_enable:
- :ref:`bool<class_bool>` **proximity_fade_enable**
+----------+-----------------------------+
| *Setter* | set_proximity_fade(value) |
+----------+-----------------------------+
| *Getter* | is_proximity_fade_enabled() |
+----------+-----------------------------+
If ``true``, the proximity and distance fade effect is enabled. Default value: ``false``.
----
.. _class_SpatialMaterial_property_refraction_enabled:
- :ref:`bool<class_bool>` **refraction_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, the refraction effect is enabled. Distorts transparency based on light from behind the object. Default value: ``false``.
----
.. _class_SpatialMaterial_property_refraction_scale:
- :ref:`float<class_float>` **refraction_scale**
+----------+-----------------------+
| *Setter* | set_refraction(value) |
+----------+-----------------------+
| *Getter* | get_refraction() |
+----------+-----------------------+
The strength of the refraction effect.
----
.. _class_SpatialMaterial_property_refraction_texture:
- :ref:`Texture<class_Texture>` **refraction_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_refraction_texture_channel:
- :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **refraction_texture_channel**
+----------+---------------------------------------+
| *Setter* | set_refraction_texture_channel(value) |
+----------+---------------------------------------+
| *Getter* | get_refraction_texture_channel() |
+----------+---------------------------------------+
----
.. _class_SpatialMaterial_property_rim:
- :ref:`float<class_float>` **rim**
+----------+----------------+
| *Setter* | set_rim(value) |
+----------+----------------+
| *Getter* | get_rim() |
+----------+----------------+
----
.. _class_SpatialMaterial_property_rim_enabled:
- :ref:`bool<class_bool>` **rim_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, rim effect is enabled. Default value: ``false``.
----
.. _class_SpatialMaterial_property_rim_texture:
- :ref:`Texture<class_Texture>` **rim_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_rim_tint:
- :ref:`float<class_float>` **rim_tint**
+----------+---------------------+
| *Setter* | set_rim_tint(value) |
+----------+---------------------+
| *Getter* | get_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.
----
.. _class_SpatialMaterial_property_roughness:
- :ref:`float<class_float>` **roughness**
+----------+----------------------+
| *Setter* | set_roughness(value) |
+----------+----------------------+
| *Getter* | get_roughness() |
+----------+----------------------+
Surface reflection. A value of ``0`` represents a perfect mirror while a value of ``1`` completely blurs the reflection. See also :ref:`metallic<class_SpatialMaterial_property_metallic>`.
----
.. _class_SpatialMaterial_property_roughness_texture:
- :ref:`Texture<class_Texture>` **roughness_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_roughness_texture_channel:
- :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **roughness_texture_channel**
+----------+--------------------------------------+
| *Setter* | set_roughness_texture_channel(value) |
+----------+--------------------------------------+
| *Getter* | get_roughness_texture_channel() |
+----------+--------------------------------------+
----
.. _class_SpatialMaterial_property_subsurf_scatter_enabled:
- :ref:`bool<class_bool>` **subsurf_scatter_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges.
----
.. _class_SpatialMaterial_property_subsurf_scatter_strength:
- :ref:`float<class_float>` **subsurf_scatter_strength**
+----------+-------------------------------------------+
| *Setter* | set_subsurface_scattering_strength(value) |
+----------+-------------------------------------------+
| *Getter* | get_subsurface_scattering_strength() |
+----------+-------------------------------------------+
The strength of the subsurface scattering effect.
----
.. _class_SpatialMaterial_property_subsurf_scatter_texture:
- :ref:`Texture<class_Texture>` **subsurf_scatter_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_transmission:
- :ref:`Color<class_Color>` **transmission**
+----------+-------------------------+
| *Setter* | set_transmission(value) |
+----------+-------------------------+
| *Getter* | get_transmission() |
+----------+-------------------------+
The color used by the transmission effect. Represents the light passing through an object.
----
.. _class_SpatialMaterial_property_transmission_enabled:
- :ref:`bool<class_bool>` **transmission_enabled**
+----------+--------------------+
| *Setter* | set_feature(value) |
+----------+--------------------+
| *Getter* | get_feature() |
+----------+--------------------+
If ``true``, the transmission effect is enabled. Default value: ``false``.
----
.. _class_SpatialMaterial_property_transmission_texture:
- :ref:`Texture<class_Texture>` **transmission_texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
----
.. _class_SpatialMaterial_property_uv1_offset:
- :ref:`Vector3<class_Vector3>` **uv1_offset**
+----------+-----------------------+
| *Setter* | set_uv1_offset(value) |
+----------+-----------------------+
| *Getter* | get_uv1_offset() |
+----------+-----------------------+
----
.. _class_SpatialMaterial_property_uv1_scale:
- :ref:`Vector3<class_Vector3>` **uv1_scale**
+----------+----------------------+
| *Setter* | set_uv1_scale(value) |
+----------+----------------------+
| *Getter* | get_uv1_scale() |
+----------+----------------------+
----
.. _class_SpatialMaterial_property_uv1_triplanar:
- :ref:`bool<class_bool>` **uv1_triplanar**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_uv1_triplanar_sharpness:
- :ref:`float<class_float>` **uv1_triplanar_sharpness**
+----------+------------------------------------------+
| *Setter* | set_uv1_triplanar_blend_sharpness(value) |
+----------+------------------------------------------+
| *Getter* | get_uv1_triplanar_blend_sharpness() |
+----------+------------------------------------------+
----
.. _class_SpatialMaterial_property_uv2_offset:
- :ref:`Vector3<class_Vector3>` **uv2_offset**
+----------+-----------------------+
| *Setter* | set_uv2_offset(value) |
+----------+-----------------------+
| *Getter* | get_uv2_offset() |
+----------+-----------------------+
----
.. _class_SpatialMaterial_property_uv2_scale:
- :ref:`Vector3<class_Vector3>` **uv2_scale**
+----------+----------------------+
| *Setter* | set_uv2_scale(value) |
+----------+----------------------+
| *Getter* | get_uv2_scale() |
+----------+----------------------+
----
.. _class_SpatialMaterial_property_uv2_triplanar:
- :ref:`bool<class_bool>` **uv2_triplanar**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
----
.. _class_SpatialMaterial_property_uv2_triplanar_sharpness:
- :ref:`float<class_float>` **uv2_triplanar_sharpness**
+----------+------------------------------------------+
| *Setter* | set_uv2_triplanar_blend_sharpness(value) |
+----------+------------------------------------------+
| *Getter* | get_uv2_triplanar_blend_sharpness() |
+----------+------------------------------------------+
----
.. _class_SpatialMaterial_property_vertex_color_is_srgb:
- :ref:`bool<class_bool>` **vertex_color_is_srgb**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the model's vertex colors are processed as sRGB mode. Default value: ``false``.
----
.. _class_SpatialMaterial_property_vertex_color_use_as_albedo:
- :ref:`bool<class_bool>` **vertex_color_use_as_albedo**
+----------+-----------------+
| *Setter* | set_flag(value) |
+----------+-----------------+
| *Getter* | get_flag() |
+----------+-----------------+
If ``true``, the vertex color is used as albedo color. Default value: ``false``.