FoliMesh

Árboles para Bevy

Bevy carga los GLB directamente con AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("oak.glb")) devuelve una escena que se instancia con SceneRoot, y las mallas y materiales siguen siendo accesibles por etiqueta. Los 14 árboles — Roble, Pino silvestre, Abeto, Abedul, Sauce llorón, Arce, Baobab y el resto — vienen en ese formato. FBX y OBJ requieren crates de terceros en Rust, así que el GLB es la vía práctica.

Cada modelo incluye LOD0–LOD3: asigna un VisibilityRange a las entidades LOD y Bevy cambiará de nivel por distancia con crossfade y dithering. Las hojas llegan como glTF alphaMode MASK y se convierten en AlphaMode::Mask(cutoff); los materiales de doble cara desactivan el back-face culling. Las entidades que comparten malla y material se agrupan e instancian automáticamente, así que un bosque denso sigue siendo barato. La malla de colisión sirve para Avian o bevy_rapier, y cada nueva semilla genera otra variación.

Modelos
14
Niveles de detalle
LOD0 – LOD3
Formatos
GLB · FBX · OBJ

Uso en Bevy

Bevy carga glTF/GLB mediante el AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), instanciado con SceneRoot; las mallas y materiales individuales se pueden direccionar por etiqueta. FBX y OBJ requieren crates de terceros, así que el formato a usar es GLB.

  • LOD: da a las entidades LOD0–LOD3 un VisibilityRange (márgenes de inicio y fin) para cambiar según la distancia con fundido por dithering: el mecanismo HLOD de Bevy.
  • Hojas: el alphaMode MASK de glTF se convierte en AlphaMode::Mask(cutoff) en el StandardMaterial, y los materiales de doble cara desactivan el culling de caras traseras.
  • Las entidades que comparten malla y material se agrupan e instancian automáticamente, así que muchas copias de árboles salen baratas.
  • Colisión: Bevy no trae física integrada; crea un collider a partir de la malla de colisión con Avian o bevy_rapier.

Packs

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores