class_spatialmaterial.rst 92 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the SpatialMaterial.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_SpatialMaterial:
  6. SpatialMaterial
  7. ===============
  8. **Inherits:** :ref:`Material<class_Material>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. **Category:** Core
  10. Brief Description
  11. -----------------
  12. Default 3D rendering material.
  13. Properties
  14. ----------
  15. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  16. | :ref:`Color<class_Color>` | :ref:`albedo_color<class_SpatialMaterial_property_albedo_color>` | Color( 1, 1, 1, 1 ) |
  17. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  18. | :ref:`Texture<class_Texture>` | :ref:`albedo_texture<class_SpatialMaterial_property_albedo_texture>` | |
  19. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  20. | :ref:`float<class_float>` | :ref:`anisotropy<class_SpatialMaterial_property_anisotropy>` | |
  21. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  22. | :ref:`bool<class_bool>` | :ref:`anisotropy_enabled<class_SpatialMaterial_property_anisotropy_enabled>` | false |
  23. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  24. | :ref:`Texture<class_Texture>` | :ref:`anisotropy_flowmap<class_SpatialMaterial_property_anisotropy_flowmap>` | |
  25. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  26. | :ref:`bool<class_bool>` | :ref:`ao_enabled<class_SpatialMaterial_property_ao_enabled>` | false |
  27. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  28. | :ref:`float<class_float>` | :ref:`ao_light_affect<class_SpatialMaterial_property_ao_light_affect>` | |
  29. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  30. | :ref:`bool<class_bool>` | :ref:`ao_on_uv2<class_SpatialMaterial_property_ao_on_uv2>` | |
  31. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  32. | :ref:`Texture<class_Texture>` | :ref:`ao_texture<class_SpatialMaterial_property_ao_texture>` | |
  33. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  34. | :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`ao_texture_channel<class_SpatialMaterial_property_ao_texture_channel>` | |
  35. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  36. | :ref:`float<class_float>` | :ref:`clearcoat<class_SpatialMaterial_property_clearcoat>` | |
  37. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  38. | :ref:`bool<class_bool>` | :ref:`clearcoat_enabled<class_SpatialMaterial_property_clearcoat_enabled>` | false |
  39. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  40. | :ref:`float<class_float>` | :ref:`clearcoat_gloss<class_SpatialMaterial_property_clearcoat_gloss>` | |
  41. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  42. | :ref:`Texture<class_Texture>` | :ref:`clearcoat_texture<class_SpatialMaterial_property_clearcoat_texture>` | |
  43. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  44. | :ref:`bool<class_bool>` | :ref:`depth_deep_parallax<class_SpatialMaterial_property_depth_deep_parallax>` | |
  45. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  46. | :ref:`bool<class_bool>` | :ref:`depth_enabled<class_SpatialMaterial_property_depth_enabled>` | false |
  47. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  48. | :ref:`bool<class_bool>` | :ref:`depth_flip_binormal<class_SpatialMaterial_property_depth_flip_binormal>` | |
  49. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  50. | :ref:`bool<class_bool>` | :ref:`depth_flip_tangent<class_SpatialMaterial_property_depth_flip_tangent>` | |
  51. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  52. | :ref:`int<class_int>` | :ref:`depth_max_layers<class_SpatialMaterial_property_depth_max_layers>` | |
  53. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  54. | :ref:`int<class_int>` | :ref:`depth_min_layers<class_SpatialMaterial_property_depth_min_layers>` | |
  55. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  56. | :ref:`float<class_float>` | :ref:`depth_scale<class_SpatialMaterial_property_depth_scale>` | |
  57. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  58. | :ref:`Texture<class_Texture>` | :ref:`depth_texture<class_SpatialMaterial_property_depth_texture>` | |
  59. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  60. | :ref:`Texture<class_Texture>` | :ref:`detail_albedo<class_SpatialMaterial_property_detail_albedo>` | |
  61. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  62. | :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` | :ref:`detail_blend_mode<class_SpatialMaterial_property_detail_blend_mode>` | |
  63. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  64. | :ref:`bool<class_bool>` | :ref:`detail_enabled<class_SpatialMaterial_property_detail_enabled>` | false |
  65. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  66. | :ref:`Texture<class_Texture>` | :ref:`detail_mask<class_SpatialMaterial_property_detail_mask>` | |
  67. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  68. | :ref:`Texture<class_Texture>` | :ref:`detail_normal<class_SpatialMaterial_property_detail_normal>` | |
  69. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  70. | :ref:`DetailUV<enum_SpatialMaterial_DetailUV>` | :ref:`detail_uv_layer<class_SpatialMaterial_property_detail_uv_layer>` | |
  71. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  72. | :ref:`float<class_float>` | :ref:`distance_fade_max_distance<class_SpatialMaterial_property_distance_fade_max_distance>` | |
  73. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  74. | :ref:`float<class_float>` | :ref:`distance_fade_min_distance<class_SpatialMaterial_property_distance_fade_min_distance>` | |
  75. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  76. | :ref:`DistanceFadeMode<enum_SpatialMaterial_DistanceFadeMode>` | :ref:`distance_fade_mode<class_SpatialMaterial_property_distance_fade_mode>` | 0 |
  77. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  78. | :ref:`Color<class_Color>` | :ref:`emission<class_SpatialMaterial_property_emission>` | |
  79. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  80. | :ref:`bool<class_bool>` | :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>` | false |
  81. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  82. | :ref:`float<class_float>` | :ref:`emission_energy<class_SpatialMaterial_property_emission_energy>` | |
  83. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  84. | :ref:`bool<class_bool>` | :ref:`emission_on_uv2<class_SpatialMaterial_property_emission_on_uv2>` | |
  85. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  86. | :ref:`EmissionOperator<enum_SpatialMaterial_EmissionOperator>` | :ref:`emission_operator<class_SpatialMaterial_property_emission_operator>` | |
  87. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  88. | :ref:`Texture<class_Texture>` | :ref:`emission_texture<class_SpatialMaterial_property_emission_texture>` | |
  89. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  90. | :ref:`bool<class_bool>` | :ref:`flags_albedo_tex_force_srgb<class_SpatialMaterial_property_flags_albedo_tex_force_srgb>` | false |
  91. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  92. | :ref:`bool<class_bool>` | :ref:`flags_disable_ambient_light<class_SpatialMaterial_property_flags_disable_ambient_light>` | false |
  93. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  94. | :ref:`bool<class_bool>` | :ref:`flags_do_not_receive_shadows<class_SpatialMaterial_property_flags_do_not_receive_shadows>` | false |
  95. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  96. | :ref:`bool<class_bool>` | :ref:`flags_ensure_correct_normals<class_SpatialMaterial_property_flags_ensure_correct_normals>` | false |
  97. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  98. | :ref:`bool<class_bool>` | :ref:`flags_fixed_size<class_SpatialMaterial_property_flags_fixed_size>` | false |
  99. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  100. | :ref:`bool<class_bool>` | :ref:`flags_no_depth_test<class_SpatialMaterial_property_flags_no_depth_test>` | false |
  101. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  102. | :ref:`bool<class_bool>` | :ref:`flags_transparent<class_SpatialMaterial_property_flags_transparent>` | false |
  103. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  104. | :ref:`bool<class_bool>` | :ref:`flags_unshaded<class_SpatialMaterial_property_flags_unshaded>` | false |
  105. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  106. | :ref:`bool<class_bool>` | :ref:`flags_use_point_size<class_SpatialMaterial_property_flags_use_point_size>` | false |
  107. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  108. | :ref:`bool<class_bool>` | :ref:`flags_use_shadow_to_opacity<class_SpatialMaterial_property_flags_use_shadow_to_opacity>` | false |
  109. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  110. | :ref:`bool<class_bool>` | :ref:`flags_vertex_lighting<class_SpatialMaterial_property_flags_vertex_lighting>` | false |
  111. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  112. | :ref:`bool<class_bool>` | :ref:`flags_world_triplanar<class_SpatialMaterial_property_flags_world_triplanar>` | false |
  113. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  114. | :ref:`float<class_float>` | :ref:`metallic<class_SpatialMaterial_property_metallic>` | 0.0 |
  115. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  116. | :ref:`float<class_float>` | :ref:`metallic_specular<class_SpatialMaterial_property_metallic_specular>` | 0.5 |
  117. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  118. | :ref:`Texture<class_Texture>` | :ref:`metallic_texture<class_SpatialMaterial_property_metallic_texture>` | |
  119. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  120. | :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`metallic_texture_channel<class_SpatialMaterial_property_metallic_texture_channel>` | 0 |
  121. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  122. | :ref:`bool<class_bool>` | :ref:`normal_enabled<class_SpatialMaterial_property_normal_enabled>` | false |
  123. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  124. | :ref:`float<class_float>` | :ref:`normal_scale<class_SpatialMaterial_property_normal_scale>` | |
  125. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  126. | :ref:`Texture<class_Texture>` | :ref:`normal_texture<class_SpatialMaterial_property_normal_texture>` | |
  127. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  128. | :ref:`float<class_float>` | :ref:`params_alpha_scissor_threshold<class_SpatialMaterial_property_params_alpha_scissor_threshold>` | |
  129. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  130. | :ref:`bool<class_bool>` | :ref:`params_billboard_keep_scale<class_SpatialMaterial_property_params_billboard_keep_scale>` | false |
  131. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  132. | :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>` | :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>` | 0 |
  133. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  134. | :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` | :ref:`params_blend_mode<class_SpatialMaterial_property_params_blend_mode>` | 0 |
  135. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  136. | :ref:`CullMode<enum_SpatialMaterial_CullMode>` | :ref:`params_cull_mode<class_SpatialMaterial_property_params_cull_mode>` | 0 |
  137. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  138. | :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>` | :ref:`params_depth_draw_mode<class_SpatialMaterial_property_params_depth_draw_mode>` | 0 |
  139. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  140. | :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>` | :ref:`params_diffuse_mode<class_SpatialMaterial_property_params_diffuse_mode>` | 0 |
  141. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  142. | :ref:`bool<class_bool>` | :ref:`params_grow<class_SpatialMaterial_property_params_grow>` | false |
  143. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  144. | :ref:`float<class_float>` | :ref:`params_grow_amount<class_SpatialMaterial_property_params_grow_amount>` | |
  145. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  146. | :ref:`float<class_float>` | :ref:`params_line_width<class_SpatialMaterial_property_params_line_width>` | 1.0 |
  147. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  148. | :ref:`float<class_float>` | :ref:`params_point_size<class_SpatialMaterial_property_params_point_size>` | 1.0 |
  149. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  150. | :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>` | :ref:`params_specular_mode<class_SpatialMaterial_property_params_specular_mode>` | 0 |
  151. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  152. | :ref:`bool<class_bool>` | :ref:`params_use_alpha_scissor<class_SpatialMaterial_property_params_use_alpha_scissor>` | false |
  153. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  154. | :ref:`int<class_int>` | :ref:`particles_anim_h_frames<class_SpatialMaterial_property_particles_anim_h_frames>` | |
  155. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  156. | :ref:`bool<class_bool>` | :ref:`particles_anim_loop<class_SpatialMaterial_property_particles_anim_loop>` | |
  157. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  158. | :ref:`int<class_int>` | :ref:`particles_anim_v_frames<class_SpatialMaterial_property_particles_anim_v_frames>` | |
  159. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  160. | :ref:`float<class_float>` | :ref:`proximity_fade_distance<class_SpatialMaterial_property_proximity_fade_distance>` | |
  161. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  162. | :ref:`bool<class_bool>` | :ref:`proximity_fade_enable<class_SpatialMaterial_property_proximity_fade_enable>` | false |
  163. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  164. | :ref:`bool<class_bool>` | :ref:`refraction_enabled<class_SpatialMaterial_property_refraction_enabled>` | false |
  165. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  166. | :ref:`float<class_float>` | :ref:`refraction_scale<class_SpatialMaterial_property_refraction_scale>` | |
  167. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  168. | :ref:`Texture<class_Texture>` | :ref:`refraction_texture<class_SpatialMaterial_property_refraction_texture>` | |
  169. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  170. | :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`refraction_texture_channel<class_SpatialMaterial_property_refraction_texture_channel>` | |
  171. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  172. | :ref:`float<class_float>` | :ref:`rim<class_SpatialMaterial_property_rim>` | |
  173. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  174. | :ref:`bool<class_bool>` | :ref:`rim_enabled<class_SpatialMaterial_property_rim_enabled>` | false |
  175. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  176. | :ref:`Texture<class_Texture>` | :ref:`rim_texture<class_SpatialMaterial_property_rim_texture>` | |
  177. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  178. | :ref:`float<class_float>` | :ref:`rim_tint<class_SpatialMaterial_property_rim_tint>` | |
  179. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  180. | :ref:`float<class_float>` | :ref:`roughness<class_SpatialMaterial_property_roughness>` | 1.0 |
  181. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  182. | :ref:`Texture<class_Texture>` | :ref:`roughness_texture<class_SpatialMaterial_property_roughness_texture>` | |
  183. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  184. | :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` | :ref:`roughness_texture_channel<class_SpatialMaterial_property_roughness_texture_channel>` | 0 |
  185. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  186. | :ref:`bool<class_bool>` | :ref:`subsurf_scatter_enabled<class_SpatialMaterial_property_subsurf_scatter_enabled>` | false |
  187. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  188. | :ref:`float<class_float>` | :ref:`subsurf_scatter_strength<class_SpatialMaterial_property_subsurf_scatter_strength>` | |
  189. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  190. | :ref:`Texture<class_Texture>` | :ref:`subsurf_scatter_texture<class_SpatialMaterial_property_subsurf_scatter_texture>` | |
  191. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  192. | :ref:`Color<class_Color>` | :ref:`transmission<class_SpatialMaterial_property_transmission>` | |
  193. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  194. | :ref:`bool<class_bool>` | :ref:`transmission_enabled<class_SpatialMaterial_property_transmission_enabled>` | false |
  195. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  196. | :ref:`Texture<class_Texture>` | :ref:`transmission_texture<class_SpatialMaterial_property_transmission_texture>` | |
  197. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  198. | :ref:`Vector3<class_Vector3>` | :ref:`uv1_offset<class_SpatialMaterial_property_uv1_offset>` | Vector3( 0, 0, 0 ) |
  199. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  200. | :ref:`Vector3<class_Vector3>` | :ref:`uv1_scale<class_SpatialMaterial_property_uv1_scale>` | Vector3( 1, 1, 1 ) |
  201. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  202. | :ref:`bool<class_bool>` | :ref:`uv1_triplanar<class_SpatialMaterial_property_uv1_triplanar>` | false |
  203. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  204. | :ref:`float<class_float>` | :ref:`uv1_triplanar_sharpness<class_SpatialMaterial_property_uv1_triplanar_sharpness>` | 1.0 |
  205. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  206. | :ref:`Vector3<class_Vector3>` | :ref:`uv2_offset<class_SpatialMaterial_property_uv2_offset>` | Vector3( 0, 0, 0 ) |
  207. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  208. | :ref:`Vector3<class_Vector3>` | :ref:`uv2_scale<class_SpatialMaterial_property_uv2_scale>` | Vector3( 1, 1, 1 ) |
  209. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  210. | :ref:`bool<class_bool>` | :ref:`uv2_triplanar<class_SpatialMaterial_property_uv2_triplanar>` | false |
  211. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  212. | :ref:`float<class_float>` | :ref:`uv2_triplanar_sharpness<class_SpatialMaterial_property_uv2_triplanar_sharpness>` | 1.0 |
  213. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  214. | :ref:`bool<class_bool>` | :ref:`vertex_color_is_srgb<class_SpatialMaterial_property_vertex_color_is_srgb>` | false |
  215. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  216. | :ref:`bool<class_bool>` | :ref:`vertex_color_use_as_albedo<class_SpatialMaterial_property_vertex_color_use_as_albedo>` | false |
  217. +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+---------------------+
  218. Methods
  219. -------
  220. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  221. | :ref:`bool<class_bool>` | :ref:`get_feature<class_SpatialMaterial_method_get_feature>` **(** :ref:`Feature<enum_SpatialMaterial_Feature>` feature **)** const |
  222. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  223. | :ref:`bool<class_bool>` | :ref:`get_flag<class_SpatialMaterial_method_get_flag>` **(** :ref:`Flags<enum_SpatialMaterial_Flags>` flag **)** const |
  224. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  225. | :ref:`Texture<class_Texture>` | :ref:`get_texture<class_SpatialMaterial_method_get_texture>` **(** :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` param **)** const |
  226. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  227. | void | :ref:`set_feature<class_SpatialMaterial_method_set_feature>` **(** :ref:`Feature<enum_SpatialMaterial_Feature>` feature, :ref:`bool<class_bool>` enable **)** |
  228. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  229. | void | :ref:`set_flag<class_SpatialMaterial_method_set_flag>` **(** :ref:`Flags<enum_SpatialMaterial_Flags>` flag, :ref:`bool<class_bool>` enable **)** |
  230. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  231. | void | :ref:`set_texture<class_SpatialMaterial_method_set_texture>` **(** :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` param, :ref:`Texture<class_Texture>` texture **)** |
  232. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  233. Enumerations
  234. ------------
  235. .. _enum_SpatialMaterial_TextureParam:
  236. .. _class_SpatialMaterial_constant_TEXTURE_ALBEDO:
  237. .. _class_SpatialMaterial_constant_TEXTURE_METALLIC:
  238. .. _class_SpatialMaterial_constant_TEXTURE_ROUGHNESS:
  239. .. _class_SpatialMaterial_constant_TEXTURE_EMISSION:
  240. .. _class_SpatialMaterial_constant_TEXTURE_NORMAL:
  241. .. _class_SpatialMaterial_constant_TEXTURE_RIM:
  242. .. _class_SpatialMaterial_constant_TEXTURE_CLEARCOAT:
  243. .. _class_SpatialMaterial_constant_TEXTURE_FLOWMAP:
  244. .. _class_SpatialMaterial_constant_TEXTURE_AMBIENT_OCCLUSION:
  245. .. _class_SpatialMaterial_constant_TEXTURE_DEPTH:
  246. .. _class_SpatialMaterial_constant_TEXTURE_SUBSURFACE_SCATTERING:
  247. .. _class_SpatialMaterial_constant_TEXTURE_TRANSMISSION:
  248. .. _class_SpatialMaterial_constant_TEXTURE_REFRACTION:
  249. .. _class_SpatialMaterial_constant_TEXTURE_DETAIL_MASK:
  250. .. _class_SpatialMaterial_constant_TEXTURE_DETAIL_ALBEDO:
  251. .. _class_SpatialMaterial_constant_TEXTURE_DETAIL_NORMAL:
  252. .. _class_SpatialMaterial_constant_TEXTURE_MAX:
  253. enum **TextureParam**:
  254. - **TEXTURE_ALBEDO** = **0**
  255. - **TEXTURE_METALLIC** = **1**
  256. - **TEXTURE_ROUGHNESS** = **2**
  257. - **TEXTURE_EMISSION** = **3**
  258. - **TEXTURE_NORMAL** = **4**
  259. - **TEXTURE_RIM** = **5**
  260. - **TEXTURE_CLEARCOAT** = **6**
  261. - **TEXTURE_FLOWMAP** = **7**
  262. - **TEXTURE_AMBIENT_OCCLUSION** = **8**
  263. - **TEXTURE_DEPTH** = **9**
  264. - **TEXTURE_SUBSURFACE_SCATTERING** = **10**
  265. - **TEXTURE_TRANSMISSION** = **11**
  266. - **TEXTURE_REFRACTION** = **12**
  267. - **TEXTURE_DETAIL_MASK** = **13**
  268. - **TEXTURE_DETAIL_ALBEDO** = **14**
  269. - **TEXTURE_DETAIL_NORMAL** = **15**
  270. - **TEXTURE_MAX** = **16** --- Represents the size of the :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` enum.
  271. .. _enum_SpatialMaterial_DetailUV:
  272. .. _class_SpatialMaterial_constant_DETAIL_UV_1:
  273. .. _class_SpatialMaterial_constant_DETAIL_UV_2:
  274. enum **DetailUV**:
  275. - **DETAIL_UV_1** = **0**
  276. - **DETAIL_UV_2** = **1**
  277. .. _enum_SpatialMaterial_Feature:
  278. .. _class_SpatialMaterial_constant_FEATURE_TRANSPARENT:
  279. .. _class_SpatialMaterial_constant_FEATURE_EMISSION:
  280. .. _class_SpatialMaterial_constant_FEATURE_NORMAL_MAPPING:
  281. .. _class_SpatialMaterial_constant_FEATURE_RIM:
  282. .. _class_SpatialMaterial_constant_FEATURE_CLEARCOAT:
  283. .. _class_SpatialMaterial_constant_FEATURE_ANISOTROPY:
  284. .. _class_SpatialMaterial_constant_FEATURE_AMBIENT_OCCLUSION:
  285. .. _class_SpatialMaterial_constant_FEATURE_DEPTH_MAPPING:
  286. .. _class_SpatialMaterial_constant_FEATURE_SUBSURACE_SCATTERING:
  287. .. _class_SpatialMaterial_constant_FEATURE_TRANSMISSION:
  288. .. _class_SpatialMaterial_constant_FEATURE_REFRACTION:
  289. .. _class_SpatialMaterial_constant_FEATURE_DETAIL:
  290. .. _class_SpatialMaterial_constant_FEATURE_MAX:
  291. enum **Feature**:
  292. - **FEATURE_TRANSPARENT** = **0**
  293. - **FEATURE_EMISSION** = **1**
  294. - **FEATURE_NORMAL_MAPPING** = **2**
  295. - **FEATURE_RIM** = **3**
  296. - **FEATURE_CLEARCOAT** = **4**
  297. - **FEATURE_ANISOTROPY** = **5**
  298. - **FEATURE_AMBIENT_OCCLUSION** = **6**
  299. - **FEATURE_DEPTH_MAPPING** = **7**
  300. - **FEATURE_SUBSURACE_SCATTERING** = **8**
  301. - **FEATURE_TRANSMISSION** = **9**
  302. - **FEATURE_REFRACTION** = **10**
  303. - **FEATURE_DETAIL** = **11**
  304. - **FEATURE_MAX** = **12** --- Represents the size of the :ref:`Feature<enum_SpatialMaterial_Feature>` enum.
  305. .. _enum_SpatialMaterial_BlendMode:
  306. .. _class_SpatialMaterial_constant_BLEND_MODE_MIX:
  307. .. _class_SpatialMaterial_constant_BLEND_MODE_ADD:
  308. .. _class_SpatialMaterial_constant_BLEND_MODE_SUB:
  309. .. _class_SpatialMaterial_constant_BLEND_MODE_MUL:
  310. enum **BlendMode**:
  311. - **BLEND_MODE_MIX** = **0** --- Default blend mode.
  312. - **BLEND_MODE_ADD** = **1**
  313. - **BLEND_MODE_SUB** = **2**
  314. - **BLEND_MODE_MUL** = **3**
  315. .. _enum_SpatialMaterial_DepthDrawMode:
  316. .. _class_SpatialMaterial_constant_DEPTH_DRAW_OPAQUE_ONLY:
  317. .. _class_SpatialMaterial_constant_DEPTH_DRAW_ALWAYS:
  318. .. _class_SpatialMaterial_constant_DEPTH_DRAW_DISABLED:
  319. .. _class_SpatialMaterial_constant_DEPTH_DRAW_ALPHA_OPAQUE_PREPASS:
  320. enum **DepthDrawMode**:
  321. - **DEPTH_DRAW_OPAQUE_ONLY** = **0** --- Default depth draw mode. Depth is drawn only for opaque objects.
  322. - **DEPTH_DRAW_ALWAYS** = **1** --- Depth draw is calculated for both opaque and transparent objects.
  323. - **DEPTH_DRAW_DISABLED** = **2** --- No depth draw.
  324. - **DEPTH_DRAW_ALPHA_OPAQUE_PREPASS** = **3** --- For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn.
  325. .. _enum_SpatialMaterial_CullMode:
  326. .. _class_SpatialMaterial_constant_CULL_BACK:
  327. .. _class_SpatialMaterial_constant_CULL_FRONT:
  328. .. _class_SpatialMaterial_constant_CULL_DISABLED:
  329. enum **CullMode**:
  330. - **CULL_BACK** = **0** --- Default cull mode. The back of the object is culled when not visible.
  331. - **CULL_FRONT** = **1** --- The front of the object is culled when not visible.
  332. - **CULL_DISABLED** = **2** --- No culling is performed.
  333. .. _enum_SpatialMaterial_Flags:
  334. .. _class_SpatialMaterial_constant_FLAG_UNSHADED:
  335. .. _class_SpatialMaterial_constant_FLAG_USE_VERTEX_LIGHTING:
  336. .. _class_SpatialMaterial_constant_FLAG_DISABLE_DEPTH_TEST:
  337. .. _class_SpatialMaterial_constant_FLAG_ALBEDO_FROM_VERTEX_COLOR:
  338. .. _class_SpatialMaterial_constant_FLAG_SRGB_VERTEX_COLOR:
  339. .. _class_SpatialMaterial_constant_FLAG_USE_POINT_SIZE:
  340. .. _class_SpatialMaterial_constant_FLAG_FIXED_SIZE:
  341. .. _class_SpatialMaterial_constant_FLAG_BILLBOARD_KEEP_SCALE:
  342. .. _class_SpatialMaterial_constant_FLAG_UV1_USE_TRIPLANAR:
  343. .. _class_SpatialMaterial_constant_FLAG_UV2_USE_TRIPLANAR:
  344. .. _class_SpatialMaterial_constant_FLAG_AO_ON_UV2:
  345. .. _class_SpatialMaterial_constant_FLAG_EMISSION_ON_UV2:
  346. .. _class_SpatialMaterial_constant_FLAG_USE_ALPHA_SCISSOR:
  347. .. _class_SpatialMaterial_constant_FLAG_TRIPLANAR_USE_WORLD:
  348. .. _class_SpatialMaterial_constant_FLAG_ALBEDO_TEXTURE_FORCE_SRGB:
  349. .. _class_SpatialMaterial_constant_FLAG_DONT_RECEIVE_SHADOWS:
  350. .. _class_SpatialMaterial_constant_FLAG_DISABLE_AMBIENT_LIGHT:
  351. .. _class_SpatialMaterial_constant_FLAG_ENSURE_CORRECT_NORMALS:
  352. .. _class_SpatialMaterial_constant_FLAG_USE_SHADOW_TO_OPACITY:
  353. .. _class_SpatialMaterial_constant_FLAG_MAX:
  354. enum **Flags**:
  355. - **FLAG_UNSHADED** = **0**
  356. - **FLAG_USE_VERTEX_LIGHTING** = **1**
  357. - **FLAG_DISABLE_DEPTH_TEST** = **2**
  358. - **FLAG_ALBEDO_FROM_VERTEX_COLOR** = **3**
  359. - **FLAG_SRGB_VERTEX_COLOR** = **4**
  360. - **FLAG_USE_POINT_SIZE** = **5**
  361. - **FLAG_FIXED_SIZE** = **6**
  362. - **FLAG_BILLBOARD_KEEP_SCALE** = **7**
  363. - **FLAG_UV1_USE_TRIPLANAR** = **8**
  364. - **FLAG_UV2_USE_TRIPLANAR** = **9**
  365. - **FLAG_AO_ON_UV2** = **11**
  366. - **FLAG_EMISSION_ON_UV2** = **12**
  367. - **FLAG_USE_ALPHA_SCISSOR** = **13**
  368. - **FLAG_TRIPLANAR_USE_WORLD** = **10**
  369. - **FLAG_ALBEDO_TEXTURE_FORCE_SRGB** = **14**
  370. - **FLAG_DONT_RECEIVE_SHADOWS** = **15**
  371. - **FLAG_DISABLE_AMBIENT_LIGHT** = **17**
  372. - **FLAG_ENSURE_CORRECT_NORMALS** = **16**
  373. - **FLAG_USE_SHADOW_TO_OPACITY** = **18**
  374. - **FLAG_MAX** = **19** --- Represents the size of the :ref:`Flags<enum_SpatialMaterial_Flags>` enum.
  375. .. _enum_SpatialMaterial_DiffuseMode:
  376. .. _class_SpatialMaterial_constant_DIFFUSE_BURLEY:
  377. .. _class_SpatialMaterial_constant_DIFFUSE_LAMBERT:
  378. .. _class_SpatialMaterial_constant_DIFFUSE_LAMBERT_WRAP:
  379. .. _class_SpatialMaterial_constant_DIFFUSE_OREN_NAYAR:
  380. .. _class_SpatialMaterial_constant_DIFFUSE_TOON:
  381. enum **DiffuseMode**:
  382. - **DIFFUSE_BURLEY** = **0** --- Default diffuse scattering algorithm.
  383. - **DIFFUSE_LAMBERT** = **1** --- Diffuse scattering ignores roughness.
  384. - **DIFFUSE_LAMBERT_WRAP** = **2** --- Extends Lambert to cover more than 90 degrees when roughness increases.
  385. - **DIFFUSE_OREN_NAYAR** = **3** --- Attempts to use roughness to emulate microsurfacing.
  386. - **DIFFUSE_TOON** = **4** --- Uses a hard cut for lighting, with smoothing affected by roughness.
  387. .. _enum_SpatialMaterial_SpecularMode:
  388. .. _class_SpatialMaterial_constant_SPECULAR_SCHLICK_GGX:
  389. .. _class_SpatialMaterial_constant_SPECULAR_BLINN:
  390. .. _class_SpatialMaterial_constant_SPECULAR_PHONG:
  391. .. _class_SpatialMaterial_constant_SPECULAR_TOON:
  392. .. _class_SpatialMaterial_constant_SPECULAR_DISABLED:
  393. enum **SpecularMode**:
  394. - **SPECULAR_SCHLICK_GGX** = **0** --- Default specular blob.
  395. - **SPECULAR_BLINN** = **1** --- Older specular algorithm, included for compatibility.
  396. - **SPECULAR_PHONG** = **2** --- Older specular algorithm, included for compatibility.
  397. - **SPECULAR_TOON** = **3** --- Toon blob which changes size based on roughness.
  398. - **SPECULAR_DISABLED** = **4** --- No specular blob.
  399. .. _enum_SpatialMaterial_BillboardMode:
  400. .. _class_SpatialMaterial_constant_BILLBOARD_DISABLED:
  401. .. _class_SpatialMaterial_constant_BILLBOARD_ENABLED:
  402. .. _class_SpatialMaterial_constant_BILLBOARD_FIXED_Y:
  403. .. _class_SpatialMaterial_constant_BILLBOARD_PARTICLES:
  404. enum **BillboardMode**:
  405. - **BILLBOARD_DISABLED** = **0** --- Billboard mode is disabled.
  406. - **BILLBOARD_ENABLED** = **1** --- The object's Z axis will always face the camera.
  407. - **BILLBOARD_FIXED_Y** = **2** --- The object's X axis will always face the camera.
  408. - **BILLBOARD_PARTICLES** = **3** --- Used for particle systems. Enables particle animation options.
  409. .. _enum_SpatialMaterial_TextureChannel:
  410. .. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_RED:
  411. .. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_GREEN:
  412. .. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_BLUE:
  413. .. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_ALPHA:
  414. .. _class_SpatialMaterial_constant_TEXTURE_CHANNEL_GRAYSCALE:
  415. enum **TextureChannel**:
  416. - **TEXTURE_CHANNEL_RED** = **0**
  417. - **TEXTURE_CHANNEL_GREEN** = **1**
  418. - **TEXTURE_CHANNEL_BLUE** = **2**
  419. - **TEXTURE_CHANNEL_ALPHA** = **3**
  420. - **TEXTURE_CHANNEL_GRAYSCALE** = **4**
  421. .. _enum_SpatialMaterial_EmissionOperator:
  422. .. _class_SpatialMaterial_constant_EMISSION_OP_ADD:
  423. .. _class_SpatialMaterial_constant_EMISSION_OP_MULTIPLY:
  424. enum **EmissionOperator**:
  425. - **EMISSION_OP_ADD** = **0**
  426. - **EMISSION_OP_MULTIPLY** = **1**
  427. .. _enum_SpatialMaterial_DistanceFadeMode:
  428. .. _class_SpatialMaterial_constant_DISTANCE_FADE_DISABLED:
  429. .. _class_SpatialMaterial_constant_DISTANCE_FADE_PIXEL_ALPHA:
  430. .. _class_SpatialMaterial_constant_DISTANCE_FADE_PIXEL_DITHER:
  431. .. _class_SpatialMaterial_constant_DISTANCE_FADE_OBJECT_DITHER:
  432. enum **DistanceFadeMode**:
  433. - **DISTANCE_FADE_DISABLED** = **0**
  434. - **DISTANCE_FADE_PIXEL_ALPHA** = **1**
  435. - **DISTANCE_FADE_PIXEL_DITHER** = **2**
  436. - **DISTANCE_FADE_OBJECT_DITHER** = **3**
  437. Description
  438. -----------
  439. 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.
  440. Tutorials
  441. ---------
  442. - :doc:`../tutorials/3d/spatial_material`
  443. Property Descriptions
  444. ---------------------
  445. .. _class_SpatialMaterial_property_albedo_color:
  446. - :ref:`Color<class_Color>` **albedo_color**
  447. +-----------+---------------------+
  448. | *Default* | Color( 1, 1, 1, 1 ) |
  449. +-----------+---------------------+
  450. | *Setter* | set_albedo(value) |
  451. +-----------+---------------------+
  452. | *Getter* | get_albedo() |
  453. +-----------+---------------------+
  454. The material's base color.
  455. .. _class_SpatialMaterial_property_albedo_texture:
  456. - :ref:`Texture<class_Texture>` **albedo_texture**
  457. +----------+--------------------+
  458. | *Setter* | set_texture(value) |
  459. +----------+--------------------+
  460. | *Getter* | get_texture() |
  461. +----------+--------------------+
  462. .. _class_SpatialMaterial_property_anisotropy:
  463. - :ref:`float<class_float>` **anisotropy**
  464. +----------+-----------------------+
  465. | *Setter* | set_anisotropy(value) |
  466. +----------+-----------------------+
  467. | *Getter* | get_anisotropy() |
  468. +----------+-----------------------+
  469. The strength of the anisotropy effect.
  470. .. _class_SpatialMaterial_property_anisotropy_enabled:
  471. - :ref:`bool<class_bool>` **anisotropy_enabled**
  472. +-----------+--------------------+
  473. | *Default* | false |
  474. +-----------+--------------------+
  475. | *Setter* | set_feature(value) |
  476. +-----------+--------------------+
  477. | *Getter* | get_feature() |
  478. +-----------+--------------------+
  479. If ``true``, anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space.
  480. .. _class_SpatialMaterial_property_anisotropy_flowmap:
  481. - :ref:`Texture<class_Texture>` **anisotropy_flowmap**
  482. +----------+--------------------+
  483. | *Setter* | set_texture(value) |
  484. +----------+--------------------+
  485. | *Getter* | get_texture() |
  486. +----------+--------------------+
  487. .. _class_SpatialMaterial_property_ao_enabled:
  488. - :ref:`bool<class_bool>` **ao_enabled**
  489. +-----------+--------------------+
  490. | *Default* | false |
  491. +-----------+--------------------+
  492. | *Setter* | set_feature(value) |
  493. +-----------+--------------------+
  494. | *Getter* | get_feature() |
  495. +-----------+--------------------+
  496. If ``true``, ambient occlusion is enabled.
  497. .. _class_SpatialMaterial_property_ao_light_affect:
  498. - :ref:`float<class_float>` **ao_light_affect**
  499. +----------+----------------------------+
  500. | *Setter* | set_ao_light_affect(value) |
  501. +----------+----------------------------+
  502. | *Getter* | get_ao_light_affect() |
  503. +----------+----------------------------+
  504. .. _class_SpatialMaterial_property_ao_on_uv2:
  505. - :ref:`bool<class_bool>` **ao_on_uv2**
  506. +----------+-----------------+
  507. | *Setter* | set_flag(value) |
  508. +----------+-----------------+
  509. | *Getter* | get_flag() |
  510. +----------+-----------------+
  511. .. _class_SpatialMaterial_property_ao_texture:
  512. - :ref:`Texture<class_Texture>` **ao_texture**
  513. +----------+--------------------+
  514. | *Setter* | set_texture(value) |
  515. +----------+--------------------+
  516. | *Getter* | get_texture() |
  517. +----------+--------------------+
  518. .. _class_SpatialMaterial_property_ao_texture_channel:
  519. - :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **ao_texture_channel**
  520. +----------+-------------------------------+
  521. | *Setter* | set_ao_texture_channel(value) |
  522. +----------+-------------------------------+
  523. | *Getter* | get_ao_texture_channel() |
  524. +----------+-------------------------------+
  525. .. _class_SpatialMaterial_property_clearcoat:
  526. - :ref:`float<class_float>` **clearcoat**
  527. +----------+----------------------+
  528. | *Setter* | set_clearcoat(value) |
  529. +----------+----------------------+
  530. | *Getter* | get_clearcoat() |
  531. +----------+----------------------+
  532. .. _class_SpatialMaterial_property_clearcoat_enabled:
  533. - :ref:`bool<class_bool>` **clearcoat_enabled**
  534. +-----------+--------------------+
  535. | *Default* | false |
  536. +-----------+--------------------+
  537. | *Setter* | set_feature(value) |
  538. +-----------+--------------------+
  539. | *Getter* | get_feature() |
  540. +-----------+--------------------+
  541. If ``true``, clearcoat rendering is enabled. Adds a secondary transparent pass to the material.
  542. .. _class_SpatialMaterial_property_clearcoat_gloss:
  543. - :ref:`float<class_float>` **clearcoat_gloss**
  544. +----------+----------------------------+
  545. | *Setter* | set_clearcoat_gloss(value) |
  546. +----------+----------------------------+
  547. | *Getter* | get_clearcoat_gloss() |
  548. +----------+----------------------------+
  549. .. _class_SpatialMaterial_property_clearcoat_texture:
  550. - :ref:`Texture<class_Texture>` **clearcoat_texture**
  551. +----------+--------------------+
  552. | *Setter* | set_texture(value) |
  553. +----------+--------------------+
  554. | *Getter* | get_texture() |
  555. +----------+--------------------+
  556. .. _class_SpatialMaterial_property_depth_deep_parallax:
  557. - :ref:`bool<class_bool>` **depth_deep_parallax**
  558. +----------+----------------------------------+
  559. | *Setter* | set_depth_deep_parallax(value) |
  560. +----------+----------------------------------+
  561. | *Getter* | is_depth_deep_parallax_enabled() |
  562. +----------+----------------------------------+
  563. .. _class_SpatialMaterial_property_depth_enabled:
  564. - :ref:`bool<class_bool>` **depth_enabled**
  565. +-----------+--------------------+
  566. | *Default* | false |
  567. +-----------+--------------------+
  568. | *Setter* | set_feature(value) |
  569. +-----------+--------------------+
  570. | *Getter* | get_feature() |
  571. +-----------+--------------------+
  572. If ``true``, depth mapping is enabled (also called "parallax mapping" or "height mapping"). See also :ref:`normal_enabled<class_SpatialMaterial_property_normal_enabled>`.
  573. .. _class_SpatialMaterial_property_depth_flip_binormal:
  574. - :ref:`bool<class_bool>` **depth_flip_binormal**
  575. +----------+----------------------------------------------+
  576. | *Setter* | set_depth_deep_parallax_flip_binormal(value) |
  577. +----------+----------------------------------------------+
  578. | *Getter* | get_depth_deep_parallax_flip_binormal() |
  579. +----------+----------------------------------------------+
  580. .. _class_SpatialMaterial_property_depth_flip_tangent:
  581. - :ref:`bool<class_bool>` **depth_flip_tangent**
  582. +----------+---------------------------------------------+
  583. | *Setter* | set_depth_deep_parallax_flip_tangent(value) |
  584. +----------+---------------------------------------------+
  585. | *Getter* | get_depth_deep_parallax_flip_tangent() |
  586. +----------+---------------------------------------------+
  587. .. _class_SpatialMaterial_property_depth_max_layers:
  588. - :ref:`int<class_int>` **depth_max_layers**
  589. +----------+-------------------------------------------+
  590. | *Setter* | set_depth_deep_parallax_max_layers(value) |
  591. +----------+-------------------------------------------+
  592. | *Getter* | get_depth_deep_parallax_max_layers() |
  593. +----------+-------------------------------------------+
  594. .. _class_SpatialMaterial_property_depth_min_layers:
  595. - :ref:`int<class_int>` **depth_min_layers**
  596. +----------+-------------------------------------------+
  597. | *Setter* | set_depth_deep_parallax_min_layers(value) |
  598. +----------+-------------------------------------------+
  599. | *Getter* | get_depth_deep_parallax_min_layers() |
  600. +----------+-------------------------------------------+
  601. .. _class_SpatialMaterial_property_depth_scale:
  602. - :ref:`float<class_float>` **depth_scale**
  603. +----------+------------------------+
  604. | *Setter* | set_depth_scale(value) |
  605. +----------+------------------------+
  606. | *Getter* | get_depth_scale() |
  607. +----------+------------------------+
  608. .. _class_SpatialMaterial_property_depth_texture:
  609. - :ref:`Texture<class_Texture>` **depth_texture**
  610. +----------+--------------------+
  611. | *Setter* | set_texture(value) |
  612. +----------+--------------------+
  613. | *Getter* | get_texture() |
  614. +----------+--------------------+
  615. .. _class_SpatialMaterial_property_detail_albedo:
  616. - :ref:`Texture<class_Texture>` **detail_albedo**
  617. +----------+--------------------+
  618. | *Setter* | set_texture(value) |
  619. +----------+--------------------+
  620. | *Getter* | get_texture() |
  621. +----------+--------------------+
  622. .. _class_SpatialMaterial_property_detail_blend_mode:
  623. - :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` **detail_blend_mode**
  624. +----------+------------------------------+
  625. | *Setter* | set_detail_blend_mode(value) |
  626. +----------+------------------------------+
  627. | *Getter* | get_detail_blend_mode() |
  628. +----------+------------------------------+
  629. .. _class_SpatialMaterial_property_detail_enabled:
  630. - :ref:`bool<class_bool>` **detail_enabled**
  631. +-----------+--------------------+
  632. | *Default* | false |
  633. +-----------+--------------------+
  634. | *Setter* | set_feature(value) |
  635. +-----------+--------------------+
  636. | *Getter* | get_feature() |
  637. +-----------+--------------------+
  638. .. _class_SpatialMaterial_property_detail_mask:
  639. - :ref:`Texture<class_Texture>` **detail_mask**
  640. +----------+--------------------+
  641. | *Setter* | set_texture(value) |
  642. +----------+--------------------+
  643. | *Getter* | get_texture() |
  644. +----------+--------------------+
  645. .. _class_SpatialMaterial_property_detail_normal:
  646. - :ref:`Texture<class_Texture>` **detail_normal**
  647. +----------+--------------------+
  648. | *Setter* | set_texture(value) |
  649. +----------+--------------------+
  650. | *Getter* | get_texture() |
  651. +----------+--------------------+
  652. .. _class_SpatialMaterial_property_detail_uv_layer:
  653. - :ref:`DetailUV<enum_SpatialMaterial_DetailUV>` **detail_uv_layer**
  654. +----------+----------------------+
  655. | *Setter* | set_detail_uv(value) |
  656. +----------+----------------------+
  657. | *Getter* | get_detail_uv() |
  658. +----------+----------------------+
  659. .. _class_SpatialMaterial_property_distance_fade_max_distance:
  660. - :ref:`float<class_float>` **distance_fade_max_distance**
  661. +----------+---------------------------------------+
  662. | *Setter* | set_distance_fade_max_distance(value) |
  663. +----------+---------------------------------------+
  664. | *Getter* | get_distance_fade_max_distance() |
  665. +----------+---------------------------------------+
  666. .. _class_SpatialMaterial_property_distance_fade_min_distance:
  667. - :ref:`float<class_float>` **distance_fade_min_distance**
  668. +----------+---------------------------------------+
  669. | *Setter* | set_distance_fade_min_distance(value) |
  670. +----------+---------------------------------------+
  671. | *Getter* | get_distance_fade_min_distance() |
  672. +----------+---------------------------------------+
  673. .. _class_SpatialMaterial_property_distance_fade_mode:
  674. - :ref:`DistanceFadeMode<enum_SpatialMaterial_DistanceFadeMode>` **distance_fade_mode**
  675. +-----------+--------------------------+
  676. | *Default* | 0 |
  677. +-----------+--------------------------+
  678. | *Setter* | set_distance_fade(value) |
  679. +-----------+--------------------------+
  680. | *Getter* | get_distance_fade() |
  681. +-----------+--------------------------+
  682. .. _class_SpatialMaterial_property_emission:
  683. - :ref:`Color<class_Color>` **emission**
  684. +----------+---------------------+
  685. | *Setter* | set_emission(value) |
  686. +----------+---------------------+
  687. | *Getter* | get_emission() |
  688. +----------+---------------------+
  689. The emitted light's color. See :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>`.
  690. .. _class_SpatialMaterial_property_emission_enabled:
  691. - :ref:`bool<class_bool>` **emission_enabled**
  692. +-----------+--------------------+
  693. | *Default* | false |
  694. +-----------+--------------------+
  695. | *Setter* | set_feature(value) |
  696. +-----------+--------------------+
  697. | *Getter* | get_feature() |
  698. +-----------+--------------------+
  699. If ``true``, the body emits light.
  700. .. _class_SpatialMaterial_property_emission_energy:
  701. - :ref:`float<class_float>` **emission_energy**
  702. +----------+----------------------------+
  703. | *Setter* | set_emission_energy(value) |
  704. +----------+----------------------------+
  705. | *Getter* | get_emission_energy() |
  706. +----------+----------------------------+
  707. The emitted light's strength. See :ref:`emission_enabled<class_SpatialMaterial_property_emission_enabled>`.
  708. .. _class_SpatialMaterial_property_emission_on_uv2:
  709. - :ref:`bool<class_bool>` **emission_on_uv2**
  710. +----------+-----------------+
  711. | *Setter* | set_flag(value) |
  712. +----------+-----------------+
  713. | *Getter* | get_flag() |
  714. +----------+-----------------+
  715. .. _class_SpatialMaterial_property_emission_operator:
  716. - :ref:`EmissionOperator<enum_SpatialMaterial_EmissionOperator>` **emission_operator**
  717. +----------+------------------------------+
  718. | *Setter* | set_emission_operator(value) |
  719. +----------+------------------------------+
  720. | *Getter* | get_emission_operator() |
  721. +----------+------------------------------+
  722. .. _class_SpatialMaterial_property_emission_texture:
  723. - :ref:`Texture<class_Texture>` **emission_texture**
  724. +----------+--------------------+
  725. | *Setter* | set_texture(value) |
  726. +----------+--------------------+
  727. | *Getter* | get_texture() |
  728. +----------+--------------------+
  729. .. _class_SpatialMaterial_property_flags_albedo_tex_force_srgb:
  730. - :ref:`bool<class_bool>` **flags_albedo_tex_force_srgb**
  731. +-----------+-----------------+
  732. | *Default* | false |
  733. +-----------+-----------------+
  734. | *Setter* | set_flag(value) |
  735. +-----------+-----------------+
  736. | *Getter* | get_flag() |
  737. +-----------+-----------------+
  738. .. _class_SpatialMaterial_property_flags_disable_ambient_light:
  739. - :ref:`bool<class_bool>` **flags_disable_ambient_light**
  740. +-----------+-----------------+
  741. | *Default* | false |
  742. +-----------+-----------------+
  743. | *Setter* | set_flag(value) |
  744. +-----------+-----------------+
  745. | *Getter* | get_flag() |
  746. +-----------+-----------------+
  747. If ``true``, the object receives no ambient light.
  748. .. _class_SpatialMaterial_property_flags_do_not_receive_shadows:
  749. - :ref:`bool<class_bool>` **flags_do_not_receive_shadows**
  750. +-----------+-----------------+
  751. | *Default* | false |
  752. +-----------+-----------------+
  753. | *Setter* | set_flag(value) |
  754. +-----------+-----------------+
  755. | *Getter* | get_flag() |
  756. +-----------+-----------------+
  757. If ``true``, the object receives no shadow that would otherwise be cast onto it.
  758. .. _class_SpatialMaterial_property_flags_ensure_correct_normals:
  759. - :ref:`bool<class_bool>` **flags_ensure_correct_normals**
  760. +-----------+-----------------+
  761. | *Default* | false |
  762. +-----------+-----------------+
  763. | *Setter* | set_flag(value) |
  764. +-----------+-----------------+
  765. | *Getter* | get_flag() |
  766. +-----------+-----------------+
  767. .. _class_SpatialMaterial_property_flags_fixed_size:
  768. - :ref:`bool<class_bool>` **flags_fixed_size**
  769. +-----------+-----------------+
  770. | *Default* | false |
  771. +-----------+-----------------+
  772. | *Setter* | set_flag(value) |
  773. +-----------+-----------------+
  774. | *Getter* | get_flag() |
  775. +-----------+-----------------+
  776. If ``true``, the object is rendered at the same size regardless of distance.
  777. .. _class_SpatialMaterial_property_flags_no_depth_test:
  778. - :ref:`bool<class_bool>` **flags_no_depth_test**
  779. +-----------+-----------------+
  780. | *Default* | false |
  781. +-----------+-----------------+
  782. | *Setter* | set_flag(value) |
  783. +-----------+-----------------+
  784. | *Getter* | get_flag() |
  785. +-----------+-----------------+
  786. If ``true``, depth testing is disabled and the object will be drawn in render order.
  787. .. _class_SpatialMaterial_property_flags_transparent:
  788. - :ref:`bool<class_bool>` **flags_transparent**
  789. +-----------+--------------------+
  790. | *Default* | false |
  791. +-----------+--------------------+
  792. | *Setter* | set_feature(value) |
  793. +-----------+--------------------+
  794. | *Getter* | get_feature() |
  795. +-----------+--------------------+
  796. If ``true``, transparency is enabled on the body. See also :ref:`params_blend_mode<class_SpatialMaterial_property_params_blend_mode>`.
  797. .. _class_SpatialMaterial_property_flags_unshaded:
  798. - :ref:`bool<class_bool>` **flags_unshaded**
  799. +-----------+-----------------+
  800. | *Default* | false |
  801. +-----------+-----------------+
  802. | *Setter* | set_flag(value) |
  803. +-----------+-----------------+
  804. | *Getter* | get_flag() |
  805. +-----------+-----------------+
  806. If ``true``, the object is unaffected by lighting.
  807. .. _class_SpatialMaterial_property_flags_use_point_size:
  808. - :ref:`bool<class_bool>` **flags_use_point_size**
  809. +-----------+-----------------+
  810. | *Default* | false |
  811. +-----------+-----------------+
  812. | *Setter* | set_flag(value) |
  813. +-----------+-----------------+
  814. | *Getter* | get_flag() |
  815. +-----------+-----------------+
  816. If ``true``, render point size can be changed.
  817. **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>`.
  818. .. _class_SpatialMaterial_property_flags_use_shadow_to_opacity:
  819. - :ref:`bool<class_bool>` **flags_use_shadow_to_opacity**
  820. +-----------+-----------------+
  821. | *Default* | false |
  822. +-----------+-----------------+
  823. | *Setter* | set_flag(value) |
  824. +-----------+-----------------+
  825. | *Getter* | get_flag() |
  826. +-----------+-----------------+
  827. .. _class_SpatialMaterial_property_flags_vertex_lighting:
  828. - :ref:`bool<class_bool>` **flags_vertex_lighting**
  829. +-----------+-----------------+
  830. | *Default* | false |
  831. +-----------+-----------------+
  832. | *Setter* | set_flag(value) |
  833. +-----------+-----------------+
  834. | *Getter* | get_flag() |
  835. +-----------+-----------------+
  836. If ``true``, lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices.
  837. .. _class_SpatialMaterial_property_flags_world_triplanar:
  838. - :ref:`bool<class_bool>` **flags_world_triplanar**
  839. +-----------+-----------------+
  840. | *Default* | false |
  841. +-----------+-----------------+
  842. | *Setter* | set_flag(value) |
  843. +-----------+-----------------+
  844. | *Getter* | get_flag() |
  845. +-----------+-----------------+
  846. If ``true``, triplanar mapping is calculated in world space rather than object local space. See also :ref:`uv1_triplanar<class_SpatialMaterial_property_uv1_triplanar>`.
  847. .. _class_SpatialMaterial_property_metallic:
  848. - :ref:`float<class_float>` **metallic**
  849. +-----------+---------------------+
  850. | *Default* | 0.0 |
  851. +-----------+---------------------+
  852. | *Setter* | set_metallic(value) |
  853. +-----------+---------------------+
  854. | *Getter* | get_metallic() |
  855. +-----------+---------------------+
  856. The reflectivity of the object's surface. The higher the value, the more light is reflected.
  857. .. _class_SpatialMaterial_property_metallic_specular:
  858. - :ref:`float<class_float>` **metallic_specular**
  859. +-----------+---------------------+
  860. | *Default* | 0.5 |
  861. +-----------+---------------------+
  862. | *Setter* | set_specular(value) |
  863. +-----------+---------------------+
  864. | *Getter* | get_specular() |
  865. +-----------+---------------------+
  866. General reflectivity amount.
  867. **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>`.
  868. .. _class_SpatialMaterial_property_metallic_texture:
  869. - :ref:`Texture<class_Texture>` **metallic_texture**
  870. +----------+--------------------+
  871. | *Setter* | set_texture(value) |
  872. +----------+--------------------+
  873. | *Getter* | get_texture() |
  874. +----------+--------------------+
  875. .. _class_SpatialMaterial_property_metallic_texture_channel:
  876. - :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **metallic_texture_channel**
  877. +-----------+-------------------------------------+
  878. | *Default* | 0 |
  879. +-----------+-------------------------------------+
  880. | *Setter* | set_metallic_texture_channel(value) |
  881. +-----------+-------------------------------------+
  882. | *Getter* | get_metallic_texture_channel() |
  883. +-----------+-------------------------------------+
  884. .. _class_SpatialMaterial_property_normal_enabled:
  885. - :ref:`bool<class_bool>` **normal_enabled**
  886. +-----------+--------------------+
  887. | *Default* | false |
  888. +-----------+--------------------+
  889. | *Setter* | set_feature(value) |
  890. +-----------+--------------------+
  891. | *Getter* | get_feature() |
  892. +-----------+--------------------+
  893. If ``true``, normal mapping is enabled.
  894. .. _class_SpatialMaterial_property_normal_scale:
  895. - :ref:`float<class_float>` **normal_scale**
  896. +----------+-------------------------+
  897. | *Setter* | set_normal_scale(value) |
  898. +----------+-------------------------+
  899. | *Getter* | get_normal_scale() |
  900. +----------+-------------------------+
  901. The strength of the normal map's effect.
  902. .. _class_SpatialMaterial_property_normal_texture:
  903. - :ref:`Texture<class_Texture>` **normal_texture**
  904. +----------+--------------------+
  905. | *Setter* | set_texture(value) |
  906. +----------+--------------------+
  907. | *Getter* | get_texture() |
  908. +----------+--------------------+
  909. .. _class_SpatialMaterial_property_params_alpha_scissor_threshold:
  910. - :ref:`float<class_float>` **params_alpha_scissor_threshold**
  911. +----------+------------------------------------+
  912. | *Setter* | set_alpha_scissor_threshold(value) |
  913. +----------+------------------------------------+
  914. | *Getter* | get_alpha_scissor_threshold() |
  915. +----------+------------------------------------+
  916. .. _class_SpatialMaterial_property_params_billboard_keep_scale:
  917. - :ref:`bool<class_bool>` **params_billboard_keep_scale**
  918. +-----------+-----------------+
  919. | *Default* | false |
  920. +-----------+-----------------+
  921. | *Setter* | set_flag(value) |
  922. +-----------+-----------------+
  923. | *Getter* | get_flag() |
  924. +-----------+-----------------+
  925. .. _class_SpatialMaterial_property_params_billboard_mode:
  926. - :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>` **params_billboard_mode**
  927. +-----------+---------------------------+
  928. | *Default* | 0 |
  929. +-----------+---------------------------+
  930. | *Setter* | set_billboard_mode(value) |
  931. +-----------+---------------------------+
  932. | *Getter* | get_billboard_mode() |
  933. +-----------+---------------------------+
  934. Controls how the object faces the camera. See :ref:`BillboardMode<enum_SpatialMaterial_BillboardMode>`.
  935. .. _class_SpatialMaterial_property_params_blend_mode:
  936. - :ref:`BlendMode<enum_SpatialMaterial_BlendMode>` **params_blend_mode**
  937. +-----------+-----------------------+
  938. | *Default* | 0 |
  939. +-----------+-----------------------+
  940. | *Setter* | set_blend_mode(value) |
  941. +-----------+-----------------------+
  942. | *Getter* | get_blend_mode() |
  943. +-----------+-----------------------+
  944. The material's blend mode.
  945. **Note:** Values other than ``Mix`` force the object into the transparent pipeline. See :ref:`BlendMode<enum_SpatialMaterial_BlendMode>`.
  946. .. _class_SpatialMaterial_property_params_cull_mode:
  947. - :ref:`CullMode<enum_SpatialMaterial_CullMode>` **params_cull_mode**
  948. +-----------+----------------------+
  949. | *Default* | 0 |
  950. +-----------+----------------------+
  951. | *Setter* | set_cull_mode(value) |
  952. +-----------+----------------------+
  953. | *Getter* | get_cull_mode() |
  954. +-----------+----------------------+
  955. Which side of the object is not drawn when backfaces are rendered. See :ref:`CullMode<enum_SpatialMaterial_CullMode>`.
  956. .. _class_SpatialMaterial_property_params_depth_draw_mode:
  957. - :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>` **params_depth_draw_mode**
  958. +-----------+----------------------------+
  959. | *Default* | 0 |
  960. +-----------+----------------------------+
  961. | *Setter* | set_depth_draw_mode(value) |
  962. +-----------+----------------------------+
  963. | *Getter* | get_depth_draw_mode() |
  964. +-----------+----------------------------+
  965. Determines when depth rendering takes place. See :ref:`DepthDrawMode<enum_SpatialMaterial_DepthDrawMode>`. See also :ref:`flags_transparent<class_SpatialMaterial_property_flags_transparent>`.
  966. .. _class_SpatialMaterial_property_params_diffuse_mode:
  967. - :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>` **params_diffuse_mode**
  968. +-----------+-------------------------+
  969. | *Default* | 0 |
  970. +-----------+-------------------------+
  971. | *Setter* | set_diffuse_mode(value) |
  972. +-----------+-------------------------+
  973. | *Getter* | get_diffuse_mode() |
  974. +-----------+-------------------------+
  975. The algorithm used for diffuse light scattering. See :ref:`DiffuseMode<enum_SpatialMaterial_DiffuseMode>`.
  976. .. _class_SpatialMaterial_property_params_grow:
  977. - :ref:`bool<class_bool>` **params_grow**
  978. +-----------+-------------------------+
  979. | *Default* | false |
  980. +-----------+-------------------------+
  981. | *Setter* | set_grow_enabled(value) |
  982. +-----------+-------------------------+
  983. | *Getter* | is_grow_enabled() |
  984. +-----------+-------------------------+
  985. If ``true``, enables the vertex grow setting. See :ref:`params_grow_amount<class_SpatialMaterial_property_params_grow_amount>`.
  986. .. _class_SpatialMaterial_property_params_grow_amount:
  987. - :ref:`float<class_float>` **params_grow_amount**
  988. +----------+-----------------+
  989. | *Setter* | set_grow(value) |
  990. +----------+-----------------+
  991. | *Getter* | get_grow() |
  992. +----------+-----------------+
  993. Grows object vertices in the direction of their normals.
  994. .. _class_SpatialMaterial_property_params_line_width:
  995. - :ref:`float<class_float>` **params_line_width**
  996. +-----------+-----------------------+
  997. | *Default* | 1.0 |
  998. +-----------+-----------------------+
  999. | *Setter* | set_line_width(value) |
  1000. +-----------+-----------------------+
  1001. | *Getter* | get_line_width() |
  1002. +-----------+-----------------------+
  1003. .. _class_SpatialMaterial_property_params_point_size:
  1004. - :ref:`float<class_float>` **params_point_size**
  1005. +-----------+-----------------------+
  1006. | *Default* | 1.0 |
  1007. +-----------+-----------------------+
  1008. | *Setter* | set_point_size(value) |
  1009. +-----------+-----------------------+
  1010. | *Getter* | get_point_size() |
  1011. +-----------+-----------------------+
  1012. The point size in pixels. See :ref:`flags_use_point_size<class_SpatialMaterial_property_flags_use_point_size>`.
  1013. .. _class_SpatialMaterial_property_params_specular_mode:
  1014. - :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>` **params_specular_mode**
  1015. +-----------+--------------------------+
  1016. | *Default* | 0 |
  1017. +-----------+--------------------------+
  1018. | *Setter* | set_specular_mode(value) |
  1019. +-----------+--------------------------+
  1020. | *Getter* | get_specular_mode() |
  1021. +-----------+--------------------------+
  1022. The method for rendering the specular blob. See :ref:`SpecularMode<enum_SpatialMaterial_SpecularMode>`.
  1023. .. _class_SpatialMaterial_property_params_use_alpha_scissor:
  1024. - :ref:`bool<class_bool>` **params_use_alpha_scissor**
  1025. +-----------+-----------------+
  1026. | *Default* | false |
  1027. +-----------+-----------------+
  1028. | *Setter* | set_flag(value) |
  1029. +-----------+-----------------+
  1030. | *Getter* | get_flag() |
  1031. +-----------+-----------------+
  1032. .. _class_SpatialMaterial_property_particles_anim_h_frames:
  1033. - :ref:`int<class_int>` **particles_anim_h_frames**
  1034. +----------+------------------------------------+
  1035. | *Setter* | set_particles_anim_h_frames(value) |
  1036. +----------+------------------------------------+
  1037. | *Getter* | get_particles_anim_h_frames() |
  1038. +----------+------------------------------------+
  1039. The number of horizontal frames in the particle sprite sheet. Only enabled when using :ref:`BILLBOARD_PARTICLES<class_SpatialMaterial_constant_BILLBOARD_PARTICLES>`. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
  1040. .. _class_SpatialMaterial_property_particles_anim_loop:
  1041. - :ref:`bool<class_bool>` **particles_anim_loop**
  1042. +----------+--------------------------------+
  1043. | *Setter* | set_particles_anim_loop(value) |
  1044. +----------+--------------------------------+
  1045. | *Getter* | get_particles_anim_loop() |
  1046. +----------+--------------------------------+
  1047. If ``true``, particle animations are looped. Only enabled when using :ref:`BILLBOARD_PARTICLES<class_SpatialMaterial_constant_BILLBOARD_PARTICLES>`. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
  1048. .. _class_SpatialMaterial_property_particles_anim_v_frames:
  1049. - :ref:`int<class_int>` **particles_anim_v_frames**
  1050. +----------+------------------------------------+
  1051. | *Setter* | set_particles_anim_v_frames(value) |
  1052. +----------+------------------------------------+
  1053. | *Getter* | get_particles_anim_v_frames() |
  1054. +----------+------------------------------------+
  1055. The number of vertical frames in the particle sprite sheet. Only enabled when using :ref:`BILLBOARD_PARTICLES<class_SpatialMaterial_constant_BILLBOARD_PARTICLES>`. See :ref:`params_billboard_mode<class_SpatialMaterial_property_params_billboard_mode>`.
  1056. .. _class_SpatialMaterial_property_proximity_fade_distance:
  1057. - :ref:`float<class_float>` **proximity_fade_distance**
  1058. +----------+------------------------------------+
  1059. | *Setter* | set_proximity_fade_distance(value) |
  1060. +----------+------------------------------------+
  1061. | *Getter* | get_proximity_fade_distance() |
  1062. +----------+------------------------------------+
  1063. .. _class_SpatialMaterial_property_proximity_fade_enable:
  1064. - :ref:`bool<class_bool>` **proximity_fade_enable**
  1065. +-----------+-----------------------------+
  1066. | *Default* | false |
  1067. +-----------+-----------------------------+
  1068. | *Setter* | set_proximity_fade(value) |
  1069. +-----------+-----------------------------+
  1070. | *Getter* | is_proximity_fade_enabled() |
  1071. +-----------+-----------------------------+
  1072. If ``true``, the proximity and distance fade effect is enabled.
  1073. .. _class_SpatialMaterial_property_refraction_enabled:
  1074. - :ref:`bool<class_bool>` **refraction_enabled**
  1075. +-----------+--------------------+
  1076. | *Default* | false |
  1077. +-----------+--------------------+
  1078. | *Setter* | set_feature(value) |
  1079. +-----------+--------------------+
  1080. | *Getter* | get_feature() |
  1081. +-----------+--------------------+
  1082. If ``true``, the refraction effect is enabled. Distorts transparency based on light from behind the object.
  1083. .. _class_SpatialMaterial_property_refraction_scale:
  1084. - :ref:`float<class_float>` **refraction_scale**
  1085. +----------+-----------------------+
  1086. | *Setter* | set_refraction(value) |
  1087. +----------+-----------------------+
  1088. | *Getter* | get_refraction() |
  1089. +----------+-----------------------+
  1090. The strength of the refraction effect.
  1091. .. _class_SpatialMaterial_property_refraction_texture:
  1092. - :ref:`Texture<class_Texture>` **refraction_texture**
  1093. +----------+--------------------+
  1094. | *Setter* | set_texture(value) |
  1095. +----------+--------------------+
  1096. | *Getter* | get_texture() |
  1097. +----------+--------------------+
  1098. .. _class_SpatialMaterial_property_refraction_texture_channel:
  1099. - :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **refraction_texture_channel**
  1100. +----------+---------------------------------------+
  1101. | *Setter* | set_refraction_texture_channel(value) |
  1102. +----------+---------------------------------------+
  1103. | *Getter* | get_refraction_texture_channel() |
  1104. +----------+---------------------------------------+
  1105. .. _class_SpatialMaterial_property_rim:
  1106. - :ref:`float<class_float>` **rim**
  1107. +----------+----------------+
  1108. | *Setter* | set_rim(value) |
  1109. +----------+----------------+
  1110. | *Getter* | get_rim() |
  1111. +----------+----------------+
  1112. .. _class_SpatialMaterial_property_rim_enabled:
  1113. - :ref:`bool<class_bool>` **rim_enabled**
  1114. +-----------+--------------------+
  1115. | *Default* | false |
  1116. +-----------+--------------------+
  1117. | *Setter* | set_feature(value) |
  1118. +-----------+--------------------+
  1119. | *Getter* | get_feature() |
  1120. +-----------+--------------------+
  1121. If ``true``, rim effect is enabled.
  1122. .. _class_SpatialMaterial_property_rim_texture:
  1123. - :ref:`Texture<class_Texture>` **rim_texture**
  1124. +----------+--------------------+
  1125. | *Setter* | set_texture(value) |
  1126. +----------+--------------------+
  1127. | *Getter* | get_texture() |
  1128. +----------+--------------------+
  1129. .. _class_SpatialMaterial_property_rim_tint:
  1130. - :ref:`float<class_float>` **rim_tint**
  1131. +----------+---------------------+
  1132. | *Setter* | set_rim_tint(value) |
  1133. +----------+---------------------+
  1134. | *Getter* | get_rim_tint() |
  1135. +----------+---------------------+
  1136. 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.
  1137. .. _class_SpatialMaterial_property_roughness:
  1138. - :ref:`float<class_float>` **roughness**
  1139. +-----------+----------------------+
  1140. | *Default* | 1.0 |
  1141. +-----------+----------------------+
  1142. | *Setter* | set_roughness(value) |
  1143. +-----------+----------------------+
  1144. | *Getter* | get_roughness() |
  1145. +-----------+----------------------+
  1146. 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>`.
  1147. .. _class_SpatialMaterial_property_roughness_texture:
  1148. - :ref:`Texture<class_Texture>` **roughness_texture**
  1149. +----------+--------------------+
  1150. | *Setter* | set_texture(value) |
  1151. +----------+--------------------+
  1152. | *Getter* | get_texture() |
  1153. +----------+--------------------+
  1154. .. _class_SpatialMaterial_property_roughness_texture_channel:
  1155. - :ref:`TextureChannel<enum_SpatialMaterial_TextureChannel>` **roughness_texture_channel**
  1156. +-----------+--------------------------------------+
  1157. | *Default* | 0 |
  1158. +-----------+--------------------------------------+
  1159. | *Setter* | set_roughness_texture_channel(value) |
  1160. +-----------+--------------------------------------+
  1161. | *Getter* | get_roughness_texture_channel() |
  1162. +-----------+--------------------------------------+
  1163. .. _class_SpatialMaterial_property_subsurf_scatter_enabled:
  1164. - :ref:`bool<class_bool>` **subsurf_scatter_enabled**
  1165. +-----------+--------------------+
  1166. | *Default* | false |
  1167. +-----------+--------------------+
  1168. | *Setter* | set_feature(value) |
  1169. +-----------+--------------------+
  1170. | *Getter* | get_feature() |
  1171. +-----------+--------------------+
  1172. If ``true``, subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges.
  1173. .. _class_SpatialMaterial_property_subsurf_scatter_strength:
  1174. - :ref:`float<class_float>` **subsurf_scatter_strength**
  1175. +----------+-------------------------------------------+
  1176. | *Setter* | set_subsurface_scattering_strength(value) |
  1177. +----------+-------------------------------------------+
  1178. | *Getter* | get_subsurface_scattering_strength() |
  1179. +----------+-------------------------------------------+
  1180. The strength of the subsurface scattering effect.
  1181. .. _class_SpatialMaterial_property_subsurf_scatter_texture:
  1182. - :ref:`Texture<class_Texture>` **subsurf_scatter_texture**
  1183. +----------+--------------------+
  1184. | *Setter* | set_texture(value) |
  1185. +----------+--------------------+
  1186. | *Getter* | get_texture() |
  1187. +----------+--------------------+
  1188. .. _class_SpatialMaterial_property_transmission:
  1189. - :ref:`Color<class_Color>` **transmission**
  1190. +----------+-------------------------+
  1191. | *Setter* | set_transmission(value) |
  1192. +----------+-------------------------+
  1193. | *Getter* | get_transmission() |
  1194. +----------+-------------------------+
  1195. The color used by the transmission effect. Represents the light passing through an object.
  1196. .. _class_SpatialMaterial_property_transmission_enabled:
  1197. - :ref:`bool<class_bool>` **transmission_enabled**
  1198. +-----------+--------------------+
  1199. | *Default* | false |
  1200. +-----------+--------------------+
  1201. | *Setter* | set_feature(value) |
  1202. +-----------+--------------------+
  1203. | *Getter* | get_feature() |
  1204. +-----------+--------------------+
  1205. If ``true``, the transmission effect is enabled.
  1206. .. _class_SpatialMaterial_property_transmission_texture:
  1207. - :ref:`Texture<class_Texture>` **transmission_texture**
  1208. +----------+--------------------+
  1209. | *Setter* | set_texture(value) |
  1210. +----------+--------------------+
  1211. | *Getter* | get_texture() |
  1212. +----------+--------------------+
  1213. .. _class_SpatialMaterial_property_uv1_offset:
  1214. - :ref:`Vector3<class_Vector3>` **uv1_offset**
  1215. +-----------+-----------------------+
  1216. | *Default* | Vector3( 0, 0, 0 ) |
  1217. +-----------+-----------------------+
  1218. | *Setter* | set_uv1_offset(value) |
  1219. +-----------+-----------------------+
  1220. | *Getter* | get_uv1_offset() |
  1221. +-----------+-----------------------+
  1222. .. _class_SpatialMaterial_property_uv1_scale:
  1223. - :ref:`Vector3<class_Vector3>` **uv1_scale**
  1224. +-----------+----------------------+
  1225. | *Default* | Vector3( 1, 1, 1 ) |
  1226. +-----------+----------------------+
  1227. | *Setter* | set_uv1_scale(value) |
  1228. +-----------+----------------------+
  1229. | *Getter* | get_uv1_scale() |
  1230. +-----------+----------------------+
  1231. .. _class_SpatialMaterial_property_uv1_triplanar:
  1232. - :ref:`bool<class_bool>` **uv1_triplanar**
  1233. +-----------+-----------------+
  1234. | *Default* | false |
  1235. +-----------+-----------------+
  1236. | *Setter* | set_flag(value) |
  1237. +-----------+-----------------+
  1238. | *Getter* | get_flag() |
  1239. +-----------+-----------------+
  1240. .. _class_SpatialMaterial_property_uv1_triplanar_sharpness:
  1241. - :ref:`float<class_float>` **uv1_triplanar_sharpness**
  1242. +-----------+------------------------------------------+
  1243. | *Default* | 1.0 |
  1244. +-----------+------------------------------------------+
  1245. | *Setter* | set_uv1_triplanar_blend_sharpness(value) |
  1246. +-----------+------------------------------------------+
  1247. | *Getter* | get_uv1_triplanar_blend_sharpness() |
  1248. +-----------+------------------------------------------+
  1249. .. _class_SpatialMaterial_property_uv2_offset:
  1250. - :ref:`Vector3<class_Vector3>` **uv2_offset**
  1251. +-----------+-----------------------+
  1252. | *Default* | Vector3( 0, 0, 0 ) |
  1253. +-----------+-----------------------+
  1254. | *Setter* | set_uv2_offset(value) |
  1255. +-----------+-----------------------+
  1256. | *Getter* | get_uv2_offset() |
  1257. +-----------+-----------------------+
  1258. .. _class_SpatialMaterial_property_uv2_scale:
  1259. - :ref:`Vector3<class_Vector3>` **uv2_scale**
  1260. +-----------+----------------------+
  1261. | *Default* | Vector3( 1, 1, 1 ) |
  1262. +-----------+----------------------+
  1263. | *Setter* | set_uv2_scale(value) |
  1264. +-----------+----------------------+
  1265. | *Getter* | get_uv2_scale() |
  1266. +-----------+----------------------+
  1267. .. _class_SpatialMaterial_property_uv2_triplanar:
  1268. - :ref:`bool<class_bool>` **uv2_triplanar**
  1269. +-----------+-----------------+
  1270. | *Default* | false |
  1271. +-----------+-----------------+
  1272. | *Setter* | set_flag(value) |
  1273. +-----------+-----------------+
  1274. | *Getter* | get_flag() |
  1275. +-----------+-----------------+
  1276. .. _class_SpatialMaterial_property_uv2_triplanar_sharpness:
  1277. - :ref:`float<class_float>` **uv2_triplanar_sharpness**
  1278. +-----------+------------------------------------------+
  1279. | *Default* | 1.0 |
  1280. +-----------+------------------------------------------+
  1281. | *Setter* | set_uv2_triplanar_blend_sharpness(value) |
  1282. +-----------+------------------------------------------+
  1283. | *Getter* | get_uv2_triplanar_blend_sharpness() |
  1284. +-----------+------------------------------------------+
  1285. .. _class_SpatialMaterial_property_vertex_color_is_srgb:
  1286. - :ref:`bool<class_bool>` **vertex_color_is_srgb**
  1287. +-----------+-----------------+
  1288. | *Default* | false |
  1289. +-----------+-----------------+
  1290. | *Setter* | set_flag(value) |
  1291. +-----------+-----------------+
  1292. | *Getter* | get_flag() |
  1293. +-----------+-----------------+
  1294. If ``true``, the model's vertex colors are processed as sRGB mode.
  1295. .. _class_SpatialMaterial_property_vertex_color_use_as_albedo:
  1296. - :ref:`bool<class_bool>` **vertex_color_use_as_albedo**
  1297. +-----------+-----------------+
  1298. | *Default* | false |
  1299. +-----------+-----------------+
  1300. | *Setter* | set_flag(value) |
  1301. +-----------+-----------------+
  1302. | *Getter* | get_flag() |
  1303. +-----------+-----------------+
  1304. If ``true``, the vertex color is used as albedo color.
  1305. Method Descriptions
  1306. -------------------
  1307. .. _class_SpatialMaterial_method_get_feature:
  1308. - :ref:`bool<class_bool>` **get_feature** **(** :ref:`Feature<enum_SpatialMaterial_Feature>` feature **)** const
  1309. .. _class_SpatialMaterial_method_get_flag:
  1310. - :ref:`bool<class_bool>` **get_flag** **(** :ref:`Flags<enum_SpatialMaterial_Flags>` flag **)** const
  1311. .. _class_SpatialMaterial_method_get_texture:
  1312. - :ref:`Texture<class_Texture>` **get_texture** **(** :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` param **)** const
  1313. .. _class_SpatialMaterial_method_set_feature:
  1314. - void **set_feature** **(** :ref:`Feature<enum_SpatialMaterial_Feature>` feature, :ref:`bool<class_bool>` enable **)**
  1315. .. _class_SpatialMaterial_method_set_flag:
  1316. - void **set_flag** **(** :ref:`Flags<enum_SpatialMaterial_Flags>` flag, :ref:`bool<class_bool>` enable **)**
  1317. .. _class_SpatialMaterial_method_set_texture:
  1318. - void **set_texture** **(** :ref:`TextureParam<enum_SpatialMaterial_TextureParam>` param, :ref:`Texture<class_Texture>` texture **)**