2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2020-01-31 17:03:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "ArrayMesh"  inherits= "Mesh"  version= "4.0" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-10 13:38:00 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[Mesh] type that provides utility for constructing a surface from arrays.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										The most basic example is the creation of a single triangle:
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2020-02-18 13:59:24 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var vertices = PackedVector3Array()
							 
						 
					
						
							
								
									
										
										
										
											2018-12-14 09:37:19 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										vertices.push_back(Vector3(0, 1, 0))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										vertices.push_back(Vector3(1, 0, 0))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										vertices.push_back(Vector3(0, 0, 1))
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 21:21:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										# Initialize the ArrayMesh.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var arr_mesh = ArrayMesh.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var arrays = []
							 
						 
					
						
							
								
									
										
										
										
											2020-12-04 15:54:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										arrays.resize(Mesh.ARRAY_MAX)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										arrays[Mesh.ARRAY_VERTEX] = vertices
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 21:21:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										# Create the Mesh.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
							 
						 
					
						
							
								
									
										
										
										
											2020-03-30 18:22:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var m = MeshInstance3D.new()
							 
						 
					
						
							
								
									
										
										
										
											2018-09-24 21:21:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										m.mesh = arr_mesh
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var vertices = new Godot.Collections.Array< Vector3> ();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										vertices.Add(new Vector3(0, 1, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										vertices.Add(new Vector3(1, 0, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										vertices.Add(new Vector3(0, 0, 1));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Initialize the ArrayMesh.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var arrMesh = new ArrayMesh();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var arrays = new Godot.Collections.Array();
							 
						 
					
						
							
								
									
										
										
										
											2020-12-04 15:54:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										arrays.Resize((int)Mesh.ArrayType.Max);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										arrays[(int)Mesh.ArrayType.Vertex] = vertices;
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Create the Mesh.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var m = new MeshInstance();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m.Mesh = arrMesh;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2020-03-30 18:22:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown.
							 
						 
					
						
							
								
									
										
										
										
											2021-06-29 22:55:11 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										See also [ImmediateMesh], [MeshDataTool] and [SurfaceTool] for procedural geometry generation.
							 
						 
					
						
							
								
									
										
										
										
											2020-04-19 23:21:42 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-05 14:43:40 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<link  title= "Procedural geometry using the ArrayMesh" > https://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/arraymesh.html</link> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "add_blend_shape" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "name"  type= "StringName"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Adds name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "add_surface_from_arrays" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "primitive"  type= "int"  enum= "Mesh.PrimitiveType"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "arrays"  type= "Array"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "2"  name= "blend_shapes"  type= "Array"  default= "[]"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-12 09:59:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<argument  index= "3"  name= "lods"  type= "Dictionary"  default= "{ 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}" />
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "4"  name= "compress_flags"  type= "int"  default= "0"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-22 09:23:33 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Creates a new surface.
							 
						 
					
						
							
								
									
										
										
										
											2021-07-23 10:24:57 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Surfaces are created to be rendered using a [code]primitive[/code], which may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, when using indices, it is recommended to only use points, lines, or triangles.) [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface.
							 
						 
					
						
							
								
									
										
										
										
											2020-12-04 15:54:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												The [code]arrays[/code] argument is an array of arrays. See [enum Mesh.ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [constant Mesh.ARRAY_INDEX] if it is used.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "clear_blend_shapes" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Removes all blend shapes from this [ArrayMesh].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-12 09:59:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "clear_surfaces" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-12 09:59:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-03 19:21:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Removes all surfaces from this [ArrayMesh].
							 
						 
					
						
							
								
									
										
										
										
											2020-02-12 09:59:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "get_blend_shape_count"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-29 23:37:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the number of blend shapes that the [ArrayMesh] holds.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_blend_shape_name"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "StringName"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "index"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-28 10:34:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the name of the blend shape at this index.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-02-19 10:47:16 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "lightmap_unwrap" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  enum= "Error"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "transform"  type= "Transform3D"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "texel_size"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-02-19 10:47:16 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-29 23:37:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Will perform a UV unwrap on the [ArrayMesh] to prepare the mesh for lightmapping.
							 
						 
					
						
							
								
									
										
										
										
											2018-02-19 10:47:16 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-23 09:34:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "regen_normal_maps" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-29 23:37:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Will regenerate normal maps for the [ArrayMesh].
							 
						 
					
						
							
								
									
										
										
										
											2018-07-28 10:34:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-04 23:25:40 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "set_blend_shape_name" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "index"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "name"  type= "StringName"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-04 23:25:40 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-28 10:34:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "surface_find_by_name"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "name"  type= "String"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-28 10:34:31 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the index of the first surface with this name held within this [ArrayMesh]. If none are found, -1 is returned.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_get_array_index_len"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 19:15:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the length in indices of the index array in the requested surface (see [method add_surface_from_arrays]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_get_array_len"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 19:15:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the length in vertices of the vertex array in the requested surface (see [method add_surface_from_arrays]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_get_format"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 19:15:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the format mask of the requested surface (see [method add_surface_from_arrays]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_get_name"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "String"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Gets the name assigned to this surface.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_get_primitive_type"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  enum= "Mesh.PrimitiveType"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-23 19:15:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the primitive type of the requested surface (see [method add_surface_from_arrays]).
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_set_name" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "name"  type= "String"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Sets a name for a given surface.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-29 22:55:11 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "surface_update_attribute_region" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "offset"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "2"  name= "data"  type= "PackedByteArray"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-29 22:55:11 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_update_skin_region" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "offset"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "2"  name= "data"  type= "PackedByteArray"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-29 22:55:11 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "surface_update_vertex_region" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "0"  name= "surf_idx"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "1"  name= "offset"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<argument  index= "2"  name= "data"  type= "PackedByteArray"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-15 20:35:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-04 14:33:44 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "blend_shape_mode"  type= "int"  setter= "set_blend_shape_mode"  getter= "get_blend_shape_mode"  enum= "Mesh.BlendShapeMode"  default= "1" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sets the blend shape mode to one of [enum Mesh.BlendShapeMode].
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-24 14:45:03 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "custom_aabb"  type= "AABB"  setter= "set_custom_aabb"  getter= "get_custom_aabb"  default= "AABB(0, 0, 0, 0, 0, 0)" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 15:24:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-28 11:26:37 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "shadow_mesh"  type= "ArrayMesh"  setter= "set_shadow_mesh"  getter= "get_shadow_mesh" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 00:38:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<constants > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>