Added some docs

master
Marc Gilleron 2022-08-26 00:06:56 +01:00
parent 4fb5e5cae3
commit f34a38e8c3
61 changed files with 264 additions and 80 deletions

View File

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelBlockyLibrary" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Contains a list of models that can be used by [VoxelMesherBlocky].
</brief_description>
<description>
Provides a list of models that can be used by [VoxelMesherBlocky]. Each model corresponds to an ID in voxel data, and is generally defined from a mesh. Some extra properties can also be defined, such as how sides get culled by neighbor voxels, or how it is treated by some functionality of the voxel engine.
If you create this library from code, it needs to be baked at the end using the [method bake] function.
The first model (at index 0) is conventionally used for "air" or "empty".
</description>
<tutorials>
</tutorials>
@ -10,46 +14,58 @@
<method name="bake">
<return type="void" />
<description>
Bakes the library. The data of models is optimized in order to combine them more efficiently when generating voxel meshes.
</description>
</method>
<method name="create_voxel">
<return type="VoxelBlockyModel" />
<argument index="0" name="id" type="int" />
ID of the model. It must be comprised between 0 and [member voxel_count] excluded. This ID will be used in voxel data.
<argument index="1" name="name" type="String" />
Name of the model. It is convenient to give one for better organization.
<description>
Creates a new model attached to this library.
</description>
</method>
<method name="get_materials" qualifiers="const">
<return type="Material[]" />
<description>
Gets a list of all distinct materials found in all models of the library.
Note, if at least one non-empty model has no material, there will be one [code]null[/code] entry in this list to represent "The default material".
</description>
</method>
<method name="get_voxel">
<return type="VoxelBlockyModel" />
<argument index="0" name="id" type="int" />
<description>
Gets a model from its ID.
</description>
</method>
<method name="get_voxel_by_name">
<return type="VoxelBlockyModel" />
<argument index="0" name="name" type="StringName" />
<description>
Finds the first model having the specified name. If not found, returns [code]null[/code].
</description>
</method>
<method name="get_voxel_index_from_name" qualifiers="const">
<return type="int" />
<argument index="0" name="name" type="StringName" />
<description>
Finds the ID of the first model having the specified name. If not found, returns [code]null[/code].
</description>
</method>
</methods>
<members>
<member name="atlas_size" type="int" setter="set_atlas_size" getter="get_atlas_size" default="16">
Sets a reference size of texture atlas. This is only used on models which have a geometry mode set to [code]GEOMETRY_CUBE[/code].
This property is old and might be removed or changed in the future, as it only works in specific setups.
</member>
<member name="bake_tangents" type="bool" setter="set_bake_tangents" getter="get_bake_tangents" default="true">
Enable this option if you need normal mapping on your voxels. If you don't need it, disabling can reduce memory usage and give a small speed boost.
</member>
<member name="voxel_count" type="int" setter="set_voxel_count" getter="get_voxel_count" default="0">
How many models the library can contain. You may set it first before adding models from a script.
</member>
</members>
<constants>

View File

@ -13,29 +13,35 @@
<method name="get_id" qualifiers="const">
<return type="int" />
<description>
Gets the ID of the model. This ID is used in voxel data.
</description>
</method>
<method name="get_material_override" qualifiers="const">
<return type="Material" />
<argument index="0" name="index" type="int" />
<description>
Gets the material override for a specific surface of the model.
</description>
</method>
<method name="is_empty" qualifiers="const">
<return type="bool" />
<description>
Tells if the model contains any geometry.
</description>
</method>
<method name="is_mesh_collision_enabled" qualifiers="const">
<return type="bool" />
<argument index="0" name="arg0" type="int" />
<description>
Tells if a specific surface produces mesh-based collisions.
</description>
</method>
<method name="set_id">
<return type="void" />
<argument index="0" name="id" type="int" />
<description>
Sets the ID of the model.
This method is deprecated. Changing the ID of a model after it's been added to a library is not supported.
</description>
</method>
<method name="set_material_override">
@ -43,6 +49,7 @@
<argument index="0" name="index" type="int" />
<argument index="1" name="material" type="Material" />
<description>
Sets a material override for a specific surface of the model. It allows to use the same mesh on multiple models, but using different materials on each.
</description>
</method>
<method name="set_mesh_collision_enabled">
@ -50,26 +57,36 @@
<argument index="0" name="surface_index" type="int" />
<argument index="1" name="enabled" type="bool" />
<description>
Enables or disables mesh-based collision on a specific surface. It allows a model to have solid parts and others where players can pass through.
</description>
</method>
</methods>
<members>
<member name="collision_aabbs" type="Array" setter="set_collision_aabbs" getter="get_collision_aabbs" default="[]">
List of bounding boxes relative to the model. They are used for box-based collision, using [VoxelBoxMover]. They are not used with mesh-based collision.
</member>
<member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1">
Collision mask used for box-based collision [VoxelBoxMover] and voxel raycasts ([VoxelToolTerrain]). It is not used for mesh-based collisions.
</member>
<member name="color" type="Color" setter="set_color" getter="get_color" default="Color(1, 1, 1, 1)">
Color of the model. It will be used to modulate its color when built into a voxel mesh.
</member>
<member name="custom_mesh" type="Mesh" setter="set_custom_mesh" getter="get_custom_mesh">
Specifies the mesh of the model. Ultimately, all models use a mesh.
</member>
<member name="geometry_type" type="int" setter="set_geometry_type" getter="get_geometry_type" enum="VoxelBlockyModel.GeometryType" default="0">
Tells which geometry type to use. Most of the time you may use [constant GEOMETRY_CUSTOM_MESH], but some shortcuts can be used for cubes or empty models.
</member>
<member name="random_tickable" type="bool" setter="set_random_tickable" getter="is_random_tickable" default="false">
If enabled, voxels having this ID in the TYPE channel will be used by [method VoxelToolTerrain.run_blocky_random_tick].
</member>
<member name="transparency_index" type="int" setter="set_transparency_index" getter="get_transparency_index" default="0">
Determines how transparency is handled when the sides of the model are culled by neighbor voxels.
Equal indices culls the face, different indexes doesn't.
</member>
<member name="transparent" type="bool" setter="set_transparent" getter="is_transparent" default="false">
Tells if the model is transparent in the context of sides being culled by neighbor voxels.
This is a legacy property, [member transparency_index] may be used instead.
</member>
<member name="voxel_name" type="StringName" setter="set_voxel_name" getter="get_voxel_name" default="&amp;&quot;&quot;">
Name that can be used for convenience, when looking up a specific [VoxelBlockyModel] from [VoxelBlockyLibrary].
@ -81,6 +98,7 @@
</constant>
<constant name="GEOMETRY_CUBE" value="1" enum="GeometryType">
Use the shape of a generated cube. It is useful for testing and quick configuration.
In this mode, tile positions for sides of the cube are made available in the editor. They refer to coordinates of tiles in a texture atlas. You may use an atlas in order to use them. The size of the atlas may be set in [member VoxelBlockyLibrary.atlas_size].
</constant>
<constant name="GEOMETRY_CUSTOM_MESH" value="2" enum="GeometryType">
Use the mesh specified in the [member mesh] property. This is the most versatile way to create shapes.

View File

@ -17,6 +17,8 @@
<method name="get_collision_mask" qualifiers="const">
<return type="int" />
<description>
Gets the collision mask used to detect collidable voxels.
This collision mask is specific to this collision system, and is defined in [member VoxelBlockyModel.collision_mask].
</description>
</method>
<method name="get_max_step_height" qualifiers="const">
@ -37,29 +39,37 @@
<method name="has_stepped_up" qualifiers="const">
<return type="bool" />
<description>
When step climbing is enabled, tells when the last call to [method get_motion] caused climbing to occur.
Climbing modifies the motion vector upwards so that the body is snapped on top of the step. This can have implications in character controller code, such as considering the character to be on the floor instead of having jumped.
</description>
</method>
<method name="is_step_climbing_enabled" qualifiers="const">
<return type="bool" />
<description>
Tells if step climbing is enabled.
</description>
</method>
<method name="set_collision_mask">
<return type="void" />
<argument index="0" name="mask" type="int" />
<description>
Sets the collision mask used to detect collidable voxels.
Only voxels sharing at least one bit between the masks will be detected.
This collision mask is specific to this collision system, and is defined in [member VoxelBlockyModel.collision_mask].
</description>
</method>
<method name="set_max_step_height">
<return type="void" />
<argument index="0" name="height" type="float" />
<description>
Sets the maximum height that can be climbed like "stairs".
</description>
</method>
<method name="set_step_climbing_enabled">
<return type="void" />
<argument index="0" name="enabled" type="bool" />
<description>
When enabled, [method get_motion] will attempt to climb up small steps. This allows to implement Minecraft-like stairs.
</description>
</method>
</methods>

View File

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelColorPalette" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Limited list of colors that can be indexed quickly.
</brief_description>
<description>
Contains a list of colors that can be accessed quickly by their index. This is useful to store colored voxels with small memory footprint.
It can be used with [VoxelMesherCubes].
</description>
<tutorials>
</tutorials>

View File

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelDataBlockEnterInfo" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Information sent by a terrain when one of its data blocks enters the area of a [VoxelViewer].
</brief_description>
<description>
See [method VoxelTerrain._on_data_block_entered]
</description>
<tutorials>
</tutorials>
@ -10,26 +12,31 @@
<method name="are_voxels_edited" qualifiers="const">
<return type="bool" />
<description>
Tells if voxels in the block have ever been edited. If not, it means the same data can be obtained by running the generator.
</description>
</method>
<method name="get_lod_index" qualifiers="const">
<return type="int" />
<description>
Gets which LOD index the data block is in.
</description>
</method>
<method name="get_network_peer_id" qualifiers="const">
<return type="int" />
<description>
Gets the network peer ID of the [VoxelViewer] who caused the block to be referenced.
</description>
</method>
<method name="get_position" qualifiers="const">
<return type="Vector3i" />
<description>
Gets the position of the data block, in data block coordinates (voxel coordinates are obtained by multiplying these coordinates with data block size).
</description>
</method>
<method name="get_voxels" qualifiers="const">
<return type="VoxelBuffer" />
<description>
Gets access to the voxels in the block.
</description>
</method>
</methods>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelEngine" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Singleton handling common voxel processing tasks in background threads.
Singleton holding common settings and handling voxel processing tasks in background threads.
</brief_description>
<description>
</description>
@ -16,11 +16,6 @@
[codeblock]
{
"thread_pools": {
"streaming": {
"tasks": int,
"active_threads": int,
"thread_count": int
},
"general": {
"tasks": int,
"active_threads": int,
@ -30,11 +25,13 @@
"tasks": {
"streaming": int,
"meshing": int,
"generation": int
"generation": int,
"main_thread": int
},
"memory_pools": {
"voxel_used": int,
"voxel_total": int
"voxel_total": int,
"block_count": int
}
}
[/codeblock]

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelGenerator" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Base class to all voxel procedural generators. If you want to define a custom one with a script, this is the class you should extend from. All implementations must be thread safe.
Base class to all voxel procedural generators.
</brief_description>
<description>
</description>

View File

@ -2,9 +2,9 @@
<class name="VoxelGeneratorScript" inherits="VoxelGenerator" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Base class for custom generators defined with a script.
Important: this engine makes heavy use of threads. Generators will run in one of them, so make sure you don't access the scene tree or other unsafe APIs from within a generator.
</brief_description>
<description>
Important: this engine makes heavy use of threads. Generators will run in one of them, so make sure you don't access the scene tree or other unsafe APIs from within a generator.
</description>
<tutorials>
</tutorials>

View File

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelInstanceComponent" inherits="Node" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
This node gets attached to scene items instanced by [VoxelInstancer].
</brief_description>
<description>
[VoxelInstancer] internally adds this node to instanced scenes, so it can track when they get destroyed or removed from the scene tree.
</description>
<tutorials>
</tutorials>

View File

@ -4,59 +4,88 @@
Decides where to spawn instances on top of a voxel surface.
</brief_description>
<description>
Generates the necessry information to spawn instances on top of a voxel surface. This may be used by a [VoxelInstancer].
Generates the necessary information to spawn instances on top of a voxel surface. This may be used by a [VoxelInstancer].
Note: to generate voxels, see [VoxelGenerator].
</description>
<tutorials>
</tutorials>
<members>
<member name="density" type="float" setter="set_density" getter="get_density" default="0.1">
Controls how many instances are generated. Might give different results depending on the type of emission chosen.
</member>
<member name="emit_mode" type="int" setter="set_emit_mode" getter="get_emit_mode" enum="VoxelInstanceGenerator.EmitMode" default="0">
In which way instances are primarily emitted.
</member>
<member name="max_height" type="float" setter="set_max_height" getter="get_max_height" default="3.40282e+38">
Instances will not be created above this height.
This also depends on the chosen [member VoxelInstancer.up_mode].
</member>
<member name="max_scale" type="float" setter="set_max_scale" getter="get_max_scale" default="1.0">
Minimum scale instances will be randomized with.
</member>
<member name="max_slope_degrees" type="float" setter="set_max_slope_degrees" getter="get_max_slope_degrees" default="180.0">
Instances will not spawn if the ground has a slope higher than this angle.
This also depends on the chosen [member VoxelInstancer.up_mode].
</member>
<member name="min_height" type="float" setter="set_min_height" getter="get_min_height" default="1.17549e-38">
Instances will not be created below this height. This also depends on the chosen [member VoxelInstancer.up_mode].
</member>
<member name="min_scale" type="float" setter="set_min_scale" getter="get_min_scale" default="1.0">
Maximum scale instances will be randomized with.
</member>
<member name="min_slope_degrees" type="float" setter="set_min_slope_degrees" getter="get_min_slope_degrees" default="0.0">
Instances will not spawn if the ground has a slope lower than this angle.
This also depends on the chosen [member VoxelInstancer.up_mode].
</member>
<member name="noise" type="Noise" setter="set_noise" getter="get_noise">
Noise used to filter out spawned instances, so that they may spawn in patterns described by the noise.
</member>
<member name="noise_dimension" type="int" setter="set_noise_dimension" getter="get_noise_dimension" enum="VoxelInstanceGenerator.Dimension" default="1">
Which dimension should be used when evaluating [member noise].
</member>
<member name="noise_on_scale" type="float" setter="set_noise_on_scale" getter="get_noise_on_scale" default="0.0">
How much [member noise] also affects the scale of instances.
</member>
<member name="offset_along_normal" type="float" setter="set_offset_along_normal" getter="get_offset_along_normal" default="0.0">
Offsets spawned instances along the normal of the ground.
The normal depends on [member VoxelInstancer.up_node] and is also affected by [member vertical_alignment].
</member>
<member name="random_rotation" type="bool" setter="set_random_rotation" getter="get_random_rotation" default="true">
When enbabled, instances will be given a random rotation. If not, they will use a consistent rotation depending on the ground slope.
</member>
<member name="random_vertical_flip" type="bool" setter="set_random_vertical_flip" getter="get_random_vertical_flip" default="false">
When enabled, instances will randomly be flipped upside down. This can be useful with small rocks to create illusion of more variety.
</member>
<member name="scale_distribution" type="int" setter="set_scale_distribution" getter="get_scale_distribution" enum="VoxelInstanceGenerator.Distribution" default="1">
Sets how random scales are distributed.
</member>
<member name="vertical_alignment" type="float" setter="set_vertical_alignment" getter="get_vertical_alignment" default="1.0">
Sets how much instances will align with the ground.
If 0, they will completely align with the ground.
If 1, they will completely align with whichever direction is considered "up".
This depends on [member VoxelInstancer.up_node].
</member>
</members>
<constants>
<constant name="EMIT_FROM_VERTICES" value="0" enum="EmitMode">
Use vertices of the mesh to spawn instances. This is the fasted option, but can produce noticeable patterns.
</constant>
<constant name="EMIT_FROM_FACES_FAST" value="1" enum="EmitMode">
Uses faces of the mesh to spawn instances. It is a balanced option with some shortcuts taken, without causing too noticeable patterns.
</constant>
<constant name="EMIT_FROM_FACES" value="2" enum="EmitMode">
Uses faces of the mesh to spawn instances. This is the slowest option, but should produce no noticeable patterns.
</constant>
<constant name="EMIT_MODE_COUNT" value="3" enum="EmitMode">
</constant>
<constant name="DISTRIBUTION_LINEAR" value="0" enum="Distribution">
Uniform distribution.
</constant>
<constant name="DISTRIBUTION_QUADRATIC" value="1" enum="Distribution">
Distribution with more small items, and fewer big ones.
</constant>
<constant name="DISTRIBUTION_CUBIC" value="2" enum="Distribution">
Distribution with even more small items, and even fewer big ones.
</constant>
<constant name="DISTRIBUTION_QUINTIC" value="3" enum="Distribution">
</constant>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VoxelInstanceLibrary" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
<brief_description>
Contains a list of models that can be used by [VoxelInstancer], associated with a unique ID
Contains a list of models that can be used by [VoxelInstancer], associated with a unique ID.
</brief_description>
<description>
</description>

View File

@ -52,4 +52,4 @@ Reads the data of a [VoxelBuffer](VoxelBuffer.md) from a [StreamPeer](https://do
Stores the data of a [VoxelBuffer](VoxelBuffer.md) into a [StreamPeer](https://docs.godotengine.org/en/stable/classes/class_streampeer.html). Returns the number of written bytes.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,15 @@
Inherits: [Resource](https://docs.godotengine.org/en/stable/classes/class_resource.html)
Contains a list of models that can be used by [VoxelMesherBlocky](VoxelMesherBlocky.md).
## Description:
Provides a list of models that can be used by [VoxelMesherBlocky](VoxelMesherBlocky.md). Each model corresponds to an ID in voxel data, and is generally defined from a mesh. Some extra properties can also be defined, such as how sides get culled by neighbor voxels, or how it is treated by some functionality of the voxel engine.
If you create this library from code, it needs to be baked at the end using the method bake function.
The first model (at index 0) is conventionally used for "air" or "empty".
## Properties:
@ -36,6 +44,9 @@ Return
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_atlas_size"></span> **atlas_size** = 16
Sets a reference size of texture atlas. This is only used on models which have a geometry mode set to `GEOMETRY_CUBE`.
This property is old and might be removed or changed in the future, as it only works in specific setups.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_bake_tangents"></span> **bake_tangents** = true
@ -43,25 +54,34 @@ Enable this option if you need normal mapping on your voxels. If you don't need
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_voxel_count"></span> **voxel_count** = 0
How many models the library can contain. You may set it first before adding models from a script.
## Method Descriptions
- [void](#)<span id="i_bake"></span> **bake**( )
Bakes the library. The data of models is optimized in order to combine them more efficiently when generating voxel meshes.
- [VoxelBlockyModel](VoxelBlockyModel.md)<span id="i_create_voxel"></span> **create_voxel**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id, [String](https://docs.godotengine.org/en/stable/classes/class_string.html) name )
Creates a new model attached to this library.
- [Material[]](https://docs.godotengine.org/en/stable/classes/class_material[].html)<span id="i_get_materials"></span> **get_materials**( )
Gets a list of all distinct materials found in all models of the library.
Note, if at least one non-empty model has no material, there will be one `null` entry in this list to represent "The default material".
- [VoxelBlockyModel](VoxelBlockyModel.md)<span id="i_get_voxel"></span> **get_voxel**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id )
Gets a model from its ID.
- [VoxelBlockyModel](VoxelBlockyModel.md)<span id="i_get_voxel_by_name"></span> **get_voxel_by_name**( [StringName](https://docs.godotengine.org/en/stable/classes/class_stringname.html) name )
Finds the first model having the specified name. If not found, returns `null`.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_get_voxel_index_from_name"></span> **get_voxel_index_from_name**( [StringName](https://docs.godotengine.org/en/stable/classes/class_stringname.html) name )
Finds the ID of the first model having the specified name. If not found, returns `null`.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -46,7 +46,7 @@ Return
enum **GeometryType**:
- **GEOMETRY_NONE** = **0** --- Don't produce any geometry. The voxel will be invisible.
- **GEOMETRY_CUBE** = **1** --- Use the shape of a generated cube. It is useful for testing and quick configuration.
- **GEOMETRY_CUBE** = **1** --- Use the shape of a generated cube. It is useful for testing and quick configuration. In this mode, tile positions for sides of the cube are made available in the editor. They refer to coordinates of tiles in a texture atlas. You may use an atlas in order to use them. The size of the atlas may be set in [member VoxelBlockyLibrary.atlas_size].
- **GEOMETRY_CUSTOM_MESH** = **2** --- Use the mesh specified in the [member mesh] property. This is the most versatile way to create shapes.
- **GEOMETRY_MAX** = **3** --- How many geometry modes there are.
@ -65,18 +65,23 @@ enum **Side**:
- [Array](https://docs.godotengine.org/en/stable/classes/class_array.html)<span id="i_collision_aabbs"></span> **collision_aabbs** = []
List of bounding boxes relative to the model. They are used for box-based collision, using [VoxelBoxMover](VoxelBoxMover.md). They are not used with mesh-based collision.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_collision_mask"></span> **collision_mask** = 1
Collision mask used for box-based collision [VoxelBoxMover](VoxelBoxMover.md) and voxel raycasts ([VoxelToolTerrain](VoxelToolTerrain.md)). It is not used for mesh-based collisions.
- [Color](https://docs.godotengine.org/en/stable/classes/class_color.html)<span id="i_color"></span> **color** = Color(1, 1, 1, 1)
Color of the model. It will be used to modulate its color when built into a voxel mesh.
- [Mesh](https://docs.godotengine.org/en/stable/classes/class_mesh.html)<span id="i_custom_mesh"></span> **custom_mesh**
Specifies the mesh of the model. Ultimately, all models use a mesh.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_geometry_type"></span> **geometry_type** = 0
Tells which geometry type to use. Most of the time you may use constant GEOMETRY_CUSTOM_MESH, but some shortcuts can be used for cubes or empty models.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_random_tickable"></span> **random_tickable** = false
@ -84,9 +89,15 @@ If enabled, voxels having this ID in the TYPE channel will be used by method Vox
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_transparency_index"></span> **transparency_index** = 0
Determines how transparency is handled when the sides of the model are culled by neighbor voxels.
Equal indices culls the face, different indexes doesn't.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_transparent"></span> **transparent** = false
Tells if the model is transparent in the context of sides being culled by neighbor voxels.
This is a legacy property, member transparency_index may be used instead.
- [StringName](https://docs.godotengine.org/en/stable/classes/class_stringname.html)<span id="i_voxel_name"></span> **voxel_name** = &""
@ -96,23 +107,32 @@ Name that can be used for convenience, when looking up a specific [VoxelBlockyMo
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_get_id"></span> **get_id**( )
Gets the ID of the model. This ID is used in voxel data.
- [Material](https://docs.godotengine.org/en/stable/classes/class_material.html)<span id="i_get_material_override"></span> **get_material_override**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) index )
Gets the material override for a specific surface of the model.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_is_empty"></span> **is_empty**( )
Tells if the model contains any geometry.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_is_mesh_collision_enabled"></span> **is_mesh_collision_enabled**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) arg0 )
Tells if a specific surface produces mesh-based collisions.
- [void](#)<span id="i_set_id"></span> **set_id**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id )
Sets the ID of the model.
This method is deprecated. Changing the ID of a model after it's been added to a library is not supported.
- [void](#)<span id="i_set_material_override"></span> **set_material_override**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) index, [Material](https://docs.godotengine.org/en/stable/classes/class_material.html) material )
Sets a material override for a specific surface of the model. It allows to use the same mesh on multiple models, but using different materials on each.
- [void](#)<span id="i_set_mesh_collision_enabled"></span> **set_mesh_collision_enabled**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) surface_index, [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html) enabled )
Enables or disables mesh-based collision on a specific surface. It allows a model to have solid parts and others where players can pass through.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -37,6 +37,9 @@ Return |
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_get_collision_mask"></span> **get_collision_mask**( )
Gets the collision mask used to detect collidable voxels.
This collision mask is specific to this collision system, and is defined in member VoxelBlockyModel.collision_mask.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_get_max_step_height"></span> **get_max_step_height**( )
@ -47,17 +50,28 @@ Given a motion vector, returns a modified vector telling you by how much to move
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_has_stepped_up"></span> **has_stepped_up**( )
When step climbing is enabled, tells when the last call to method get_motion caused climbing to occur.
Climbing modifies the motion vector upwards so that the body is snapped on top of the step. This can have implications in character controller code, such as considering the character to be on the floor instead of having jumped.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_is_step_climbing_enabled"></span> **is_step_climbing_enabled**( )
Tells if step climbing is enabled.
- [void](#)<span id="i_set_collision_mask"></span> **set_collision_mask**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) mask )
Sets the collision mask used to detect collidable voxels.
Only voxels sharing at least one bit between the masks will be detected.
This collision mask is specific to this collision system, and is defined in member VoxelBlockyModel.collision_mask.
- [void](#)<span id="i_set_max_step_height"></span> **set_max_step_height**( [float](https://docs.godotengine.org/en/stable/classes/class_float.html) height )
Sets the maximum height that can be climbed like "stairs".
- [void](#)<span id="i_set_step_climbing_enabled"></span> **set_step_climbing_enabled**( [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html) enabled )
When enabled, method get_motion will attempt to climb up small steps. This allows to implement Minecraft-like stairs.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -241,4 +241,4 @@ If this [VoxelBuffer](VoxelBuffer.md) is saved, this metadata will also be saved
- [void](#)<span id="i_set_voxel_v"></span> **set_voxel_v**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) value, [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html) pos, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) channel=0 )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,13 @@
Inherits: [Resource](https://docs.godotengine.org/en/stable/classes/class_resource.html)
Limited list of colors that can be indexed quickly.
## Description:
Contains a list of colors that can be accessed quickly by their index. This is useful to store colored voxels with small memory footprint.
It can be used with [VoxelMesherCubes](VoxelMesherCubes.md).
## Properties:
@ -43,4 +49,4 @@ Return | Sign
- [void](#)<span id="i_set_color"></span> **set_color**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) color, [Color](https://docs.godotengine.org/en/stable/classes/class_color.html) arg1 )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,11 @@
Inherits: [Object](https://docs.godotengine.org/en/stable/classes/class_object.html)
Information sent by a terrain when one of its data blocks enters the area of a [VoxelViewer](VoxelViewer.md).
## Description:
See method VoxelTerrain._on_data_block_entered
## Methods:
@ -21,17 +25,22 @@ Return
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_are_voxels_edited"></span> **are_voxels_edited**( )
Tells if voxels in the block have ever been edited. If not, it means the same data can be obtained by running the generator.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_get_lod_index"></span> **get_lod_index**( )
Gets which LOD index the data block is in.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_get_network_peer_id"></span> **get_network_peer_id**( )
Gets the network peer ID of the [VoxelViewer](VoxelViewer.md) who caused the block to be referenced.
- [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html)<span id="i_get_position"></span> **get_position**( )
Gets the position of the data block, in data block coordinates (voxel coordinates are obtained by multiplying these coordinates with data block size).
- [VoxelBuffer](VoxelBuffer.md)<span id="i_get_voxels"></span> **get_voxels**( )
Gets access to the voxels in the block.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,7 @@
Inherits: [Object](https://docs.godotengine.org/en/stable/classes/class_object.html)
Singleton handling common voxel processing tasks in background threads.
Singleton holding common settings and handling voxel processing tasks in background threads.
## Methods:
@ -24,11 +24,6 @@ The returned dictionary has the following structure:
```gdscript
{
"thread_pools": {
"streaming": {
"tasks": int,
"active_threads": int,
"thread_count": int
},
"general": {
"tasks": int,
"active_threads": int,
@ -38,14 +33,16 @@ The returned dictionary has the following structure:
"tasks": {
"streaming": int,
"meshing": int,
"generation": int
"generation": int,
"main_thread": int
},
"memory_pools": {
"voxel_used": int,
"voxel_total": int
"voxel_total": int,
"block_count": int
}
}
```
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,7 @@
Inherits: [Resource](https://docs.godotengine.org/en/stable/classes/class_resource.html)
Base class to all voxel procedural generators. If you want to define a custom one with a script, this is the class you should extend from. All implementations must be thread safe.
Base class to all voxel procedural generators.
## Methods:
@ -25,4 +25,4 @@ Generates a block of voxels within the specified world area.
`lod`: Level of detail index to use for this block. Some generators might not support LOD, in which case it can be left 0.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -26,4 +26,4 @@ Type | Name | Default
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_voxel_type"></span> **voxel_type** = 1
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -267,4 +267,4 @@ This function then returns the ID of the node, which may be useful to modify oth
- [void](#)<span id="i_set_node_param_null"></span> **set_node_param_null**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) node_id, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) param_index )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -35,4 +35,4 @@ Minimum height where the surface will generate.
Scale applied to the signed distance field. This is useful when smooth voxels are used, to reduce blockyness over large distances.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -26,4 +26,4 @@ Type | Name | Default
- [Image](https://docs.godotengine.org/en/stable/classes/class_image.html)<span id="i_image"></span> **image**
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -30,4 +30,4 @@ Type | Name | Default
- [Noise](https://docs.godotengine.org/en/stable/classes/class_noise.html)<span id="i_noise"></span> **noise**
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -26,4 +26,4 @@ Type | Name | Default
- [Noise](https://docs.godotengine.org/en/stable/classes/class_noise.html)<span id="i_noise"></span> **noise**
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -5,6 +5,8 @@ Inherits: [VoxelGenerator](VoxelGenerator.md)
Base class for custom generators defined with a script.
## Description:
Important: this engine makes heavy use of threads. Generators will run in one of them, so make sure you don't access the scene tree or other unsafe APIs from within a generator.
## Methods:
@ -30,4 +32,4 @@ Return | Signatur
Use this to indicate which channels your generator will use. It returns a bitmask, so for example you may provide information like this: `(1 << channel1) | (1 << channel2)`
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -22,4 +22,4 @@ Type | Name | Default
- [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html)<span id="i_pattern_size"></span> **pattern_size** = Vector2(30, 30)
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -3,6 +3,10 @@
Inherits: [Node](https://docs.godotengine.org/en/stable/classes/class_node.html)
This node gets attached to scene items instanced by [VoxelInstancer](VoxelInstancer.md).
## Description:
_Generated on Aug 20, 2022_
[VoxelInstancer](VoxelInstancer.md) internally adds this node to instanced scenes, so it can track when they get destroyed or removed from the scene tree.
_Generated on Aug 25, 2022_

View File

@ -7,7 +7,7 @@ Decides where to spawn instances on top of a voxel surface.
## Description:
Generates the necessry information to spawn instances on top of a voxel surface. This may be used by a [VoxelInstancer](VoxelInstancer.md).
Generates the necessary information to spawn instances on top of a voxel surface. This may be used by a [VoxelInstancer](VoxelInstancer.md).
Note: to generate voxels, see [VoxelGenerator](VoxelGenerator.md).
@ -38,16 +38,16 @@ Type | Name | Default
enum **EmitMode**:
- **EMIT_FROM_VERTICES** = **0**
- **EMIT_FROM_FACES_FAST** = **1**
- **EMIT_FROM_FACES** = **2**
- **EMIT_FROM_VERTICES** = **0** --- Use vertices of the mesh to spawn instances. This is the fasted option, but can produce noticeable patterns.
- **EMIT_FROM_FACES_FAST** = **1** --- Uses faces of the mesh to spawn instances. It is a balanced option with some shortcuts taken, without causing too noticeable patterns.
- **EMIT_FROM_FACES** = **2** --- Uses faces of the mesh to spawn instances. This is the slowest option, but should produce no noticeable patterns.
- **EMIT_MODE_COUNT** = **3**
enum **Distribution**:
- **DISTRIBUTION_LINEAR** = **0**
- **DISTRIBUTION_QUADRATIC** = **1**
- **DISTRIBUTION_CUBIC** = **2**
- **DISTRIBUTION_LINEAR** = **0** --- Uniform distribution.
- **DISTRIBUTION_QUADRATIC** = **1** --- Distribution with more small items, and fewer big ones.
- **DISTRIBUTION_CUBIC** = **2** --- Distribution with even more small items, and even fewer big ones.
- **DISTRIBUTION_QUINTIC** = **3**
- **DISTRIBUTION_COUNT** = **4**
@ -62,50 +62,80 @@ enum **Dimension**:
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_density"></span> **density** = 0.1
Controls how many instances are generated. Might give different results depending on the type of emission chosen.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_emit_mode"></span> **emit_mode** = 0
In which way instances are primarily emitted.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_max_height"></span> **max_height** = 3.40282e+38
Instances will not be created above this height.
This also depends on the chosen member VoxelInstancer.up_mode.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_max_scale"></span> **max_scale** = 1.0
Minimum scale instances will be randomized with.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_max_slope_degrees"></span> **max_slope_degrees** = 180.0
Instances will not spawn if the ground has a slope higher than this angle.
This also depends on the chosen member VoxelInstancer.up_mode.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_min_height"></span> **min_height** = 1.17549e-38
Instances will not be created below this height. This also depends on the chosen member VoxelInstancer.up_mode.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_min_scale"></span> **min_scale** = 1.0
Maximum scale instances will be randomized with.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_min_slope_degrees"></span> **min_slope_degrees** = 0.0
Instances will not spawn if the ground has a slope lower than this angle.
This also depends on the chosen member VoxelInstancer.up_mode.
- [Noise](https://docs.godotengine.org/en/stable/classes/class_noise.html)<span id="i_noise"></span> **noise**
Noise used to filter out spawned instances, so that they may spawn in patterns described by the noise.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_noise_dimension"></span> **noise_dimension** = 1
Which dimension should be used when evaluating member noise.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_noise_on_scale"></span> **noise_on_scale** = 0.0
How much member noise also affects the scale of instances.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_offset_along_normal"></span> **offset_along_normal** = 0.0
Offsets spawned instances along the normal of the ground.
The normal depends on member VoxelInstancer.up_node and is also affected by member vertical_alignment.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_random_rotation"></span> **random_rotation** = true
When enbabled, instances will be given a random rotation. If not, they will use a consistent rotation depending on the ground slope.
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_random_vertical_flip"></span> **random_vertical_flip** = false
When enabled, instances will randomly be flipped upside down. This can be useful with small rocks to create illusion of more variety.
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_scale_distribution"></span> **scale_distribution** = 1
Sets how random scales are distributed.
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_vertical_alignment"></span> **vertical_alignment** = 1.0
Sets how much instances will align with the ground.
_Generated on Aug 20, 2022_
If 0, they will completely align with the ground.
If 1, they will completely align with whichever direction is considered "up".
This depends on member VoxelInstancer.up_node.
_Generated on Aug 25, 2022_

View File

@ -3,7 +3,7 @@
Inherits: [Resource](https://docs.godotengine.org/en/stable/classes/class_resource.html)
Contains a list of models that can be used by [VoxelInstancer](VoxelInstancer.md), associated with a unique ID
Contains a list of models that can be used by [VoxelInstancer](VoxelInstancer.md), associated with a unique ID.
## Methods:
@ -38,4 +38,4 @@ Return | Signatur
- [void](#)<span id="i_remove_item"></span> **remove_item**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -30,4 +30,4 @@ Type | Name | Default
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_persistent"></span> **persistent** = false
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -75,4 +75,4 @@ Return | Signat
- [void](#)<span id="i_setup_from_template"></span> **setup_from_template**( [Node](https://docs.godotengine.org/en/stable/classes/class_node.html) node )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -18,4 +18,4 @@ Type | Name | Default
- [PackedScene](https://docs.godotengine.org/en/stable/classes/class_packedscene.html)<span id="i_scene"></span> **scene**
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -81,4 +81,4 @@ enum **DebugDrawFlag**:
- [void](#)<span id="i_debug_set_draw_flag"></span> **debug_set_draw_flag**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) flag, [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html) enabled )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -209,4 +209,4 @@ The returned dictionary has the following structure:
- [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html)<span id="i_voxel_to_mesh_block_position"></span> **voxel_to_mesh_block_position**( [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html) lod_index, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) arg1 )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -86,4 +86,4 @@ enum **BakeMode**:
- [VoxelBuffer](VoxelBuffer.md)<span id="i_get_voxel_buffer"></span> **get_voxel_buffer**( )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -33,4 +33,4 @@ Gets by how much voxels must be padded before their lower corner in order for th
Gets by how much voxels must be padded after their upper corner in order for the mesher to work.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -30,4 +30,4 @@ Type | Name | Default
- [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html)<span id="i_occlusion_enabled"></span> **occlusion_enabled** = true
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -62,4 +62,4 @@ enum **ColorMode**:
- [void](#)<span id="i_set_material_by_index"></span> **set_material_by_index**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id, [Material](https://docs.godotengine.org/en/stable/classes/class_material.html) material )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -72,4 +72,4 @@ enum **SeamMode**:
- [void](#)<span id="i_set_geometric_error"></span> **set_geometric_error**( [float](https://docs.godotengine.org/en/stable/classes/class_float.html) error )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -59,4 +59,4 @@ enum **TexturingMode**:
- [ArrayMesh](https://docs.godotengine.org/en/stable/classes/class_arraymesh.html)<span id="i_build_transition_mesh"></span> **build_transition_mesh**( [VoxelBuffer](VoxelBuffer.md) voxel_buffer, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) direction )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -22,4 +22,4 @@ Type | Name | Default
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_smoothness"></span> **smoothness** = 0.0
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -22,4 +22,4 @@ Type | Name | Default
- [VoxelMeshSDF](VoxelMeshSDF.md)<span id="i_mesh_sdf"></span> **mesh_sdf**
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -18,4 +18,4 @@ Type | Name | Default
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_radius"></span> **radius** = 10.0
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -33,4 +33,4 @@ Defines how voxels are transformed into visible meshes.
Primary source of persistent voxel data. If left unassigned, the whole volume will use the generator.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -28,4 +28,4 @@ Integer position of the voxel that was hit.
Integer position of the previous voxel along the ray before the final hit.
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -62,4 +62,4 @@ When this is enabled, if a block cannot be found in the stream and it gets gener
- [void](#)<span id="i_save_voxel_block"></span> **save_voxel_block**( [VoxelBuffer](VoxelBuffer.md) buffer, [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html) origin_in_voxels, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) lod )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -62,4 +62,4 @@ Directory under which the data is saved.
- [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html)<span id="i_get_region_size"></span> **get_region_size**( )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -36,4 +36,4 @@ Path to the database file. `res://` and `user://` are not supported at the momen
- [void](#)<span id="i_set_key_cache_enabled"></span> **set_key_cache_enabled**( [bool](https://docs.godotengine.org/en/stable/classes/class_bool.html) enabled )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -26,4 +26,4 @@ Return | Signatur
- [void](#)<span id="i__save_voxel_block"></span> **_save_voxel_block**( [VoxelBuffer](VoxelBuffer.md) buffer, [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html) origin_in_voxels, [int](https://docs.godotengine.org/en/stable/classes/class_int.html) lod )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -179,4 +179,4 @@ Note 3: saving is asynchronous and won't block the game. the save may complete o
- [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html)<span id="i_voxel_to_data_block"></span> **voxel_to_data_block**( [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html) voxel_pos )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -141,4 +141,4 @@ Operate on a rectangular cuboid section of the terrain. `begin` and `end` are in
- [void](#)<span id="i_set_voxel_metadata"></span> **set_voxel_metadata**( [Vector3i](https://docs.godotengine.org/en/stable/classes/class_vector3i.html) pos, [Variant](https://docs.godotengine.org/en/stable/classes/class_variant.html) meta )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -5,4 +5,4 @@ Inherits: [VoxelTool](VoxelTool.md)
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -51,4 +51,4 @@ This algorithm can become expensive quickly, so the box should not be too big. A
- [void](#)<span id="i_stamp_sdf"></span> **stamp_sdf**( [VoxelMeshSDF](VoxelMeshSDF.md) mesh_sdf, [Transform3D](https://docs.godotengine.org/en/stable/classes/class_transform3d.html) transform, [float](https://docs.godotengine.org/en/stable/classes/class_float.html) isolevel, [float](https://docs.godotengine.org/en/stable/classes/class_float.html) sdf_scale )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -38,4 +38,4 @@ Picks random voxels within the specified area and executes a function on them. T
The given callback takes two arguments: voxel position (Vector3i), voxel value (int).
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -56,4 +56,4 @@ How far should voxels generate around this viewer.
- [void](#)<span id="i_set_network_peer_id"></span> **set_network_peer_id**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) id )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -18,4 +18,4 @@ Return | Signatur
- [int](https://docs.godotengine.org/en/stable/classes/class_int.html)<span id="i_load_from_file"></span> **load_from_file**( [String](https://docs.godotengine.org/en/stable/classes/class_string.html) fpath, [VoxelBuffer](VoxelBuffer.md) voxels, [VoxelColorPalette](VoxelColorPalette.md) arg2 )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -137,4 +137,4 @@ enum **CellularReturnType**:
- [float](https://docs.godotengine.org/en/stable/classes/class_float.html)<span id="i_get_noise_3dv"></span> **get_noise_3dv**( [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html) position )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -88,4 +88,4 @@ enum **RotationType3D**:
- [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html)<span id="i_warp_3d"></span> **warp_3d**( [Vector3](https://docs.godotengine.org/en/stable/classes/class_vector3.html) position )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_

View File

@ -30,4 +30,4 @@ Return | Signat
- [void](#)<span id="i__run"></span> **_run**( [int](https://docs.godotengine.org/en/stable/classes/class_int.html) thread_index )
_Generated on Aug 20, 2022_
_Generated on Aug 25, 2022_