| Crates.io | bevy_procedural_tree |
| lib.rs | bevy_procedural_tree |
| version | 0.1.2 |
| created_at | 2025-09-15 11:38:35.323073+00 |
| updated_at | 2025-09-15 15:18:05.171941+00 |
| description | Procedurally generated 3D trees for bevy |
| homepage | |
| repository | https://github.com/Affinator/bevy_procedural_tree |
| max_upload_size | |
| id | 1839803 |
| size | 188,125 |
Procedural 3D trees for bevy - ported from the javascript ez-tree repository with some adjustments to better fit bevy and some changes to the semantics of the parameters due to personal opinion.

u32_indices feature in Cargo.toml)See the showroom example: cargo run --example showroom --features "inspector perf_ui"
In the showroom are two trees: The tree in the middle uses the global TreeMeshSettings resource. The tree to the side uses the TreeMeshSettings component, which can be modified on the entity itself via the inspector.
TreeProceduralGenerationPlugin to your appTreeMeshSettings and TreeDefaultMaterials to your likingTreecomponentInternally this will generate the Mesh3d for the entity and a child entity for the mesh of the leaves. It will apply the materials from the TreeDefaultMaterials resource, or from a provided override.
bevy_procedural_tree::meshgen::generate_tree_meshes() to generate two meshes (branches/trunk mesh and leaves mesh)Defines the general structure of the generated 3d mesh. Every parameter is documented.
Defines the default materials used by trees which do not use the override.
Added to an entity to generate a new tree. It has 4 parameters:
TreeMeshSettings resourceTreeDefaultMaterials bark materialTreeDefaultMaterials leaf material| Bevy | bevy_procedural_tree |
|---|---|
| 0.16 | 0.1 |