FoliMesh

Alberi per Bevy

Bevy legge i GLB direttamente con l'AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("oak.glb")) restituisce una scena da istanziare con SceneRoot, mentre mesh e materiali restano indirizzabili tramite label. Tutti e 14 gli alberi — Quercia, Pino silvestre, Abete rosso, Betulla, Salice piangente, Acero, Baobab e gli altri — arrivano in questo formato. FBX e OBJ richiedono crate di terze parti in Rust, quindi il GLB è la scelta pratica.

Ogni modello ha LOD0–LOD3: assegna un VisibilityRange alle entità LOD e Bevy gestisce il cambio in base alla distanza con crossfade ditherizzato. Le foglie arrivano come glTF alphaMode MASK e diventano AlphaMode::Mask(cutoff); i materiali a doppia faccia disattivano il back-face culling. Le entità che condividono mesh e materiale vengono batchate e istanziate automaticamente, così un bosco fitto resta leggero. La mesh di collisione alimenta Avian o bevy_rapier, e ogni nuovo seed produce una variante.

Modelli
14
Livelli di dettaglio
LOD0 – LOD3
Formati
GLB · FBX · OBJ

Uso in Bevy

Bevy carica glTF/GLB tramite l’AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), istanziato con SceneRoot; mesh e materiali singoli sono accessibili tramite label. FBX e OBJ richiedono crate di terze parti, quindi il formato da usare è GLB.

  • LOD: assegna alle entità LOD0–LOD3 un VisibilityRange (margini di inizio e fine) per il cambio in base alla distanza con dissolvenza in dithering: il meccanismo HLOD di Bevy.
  • Foglie: l’alphaMode MASK di glTF diventa AlphaMode::Mask(cutoff) sullo StandardMaterial, e i materiali double-sided disattivano il back-face culling.
  • Le entità che condividono mesh e materiale vengono raggruppate e istanziate automaticamente, quindi molte copie di alberi restano economiche.
  • Collisioni: Bevy non ha una fisica integrata; crea un collider dalla mesh di collisione con Avian o bevy_rapier.

Pacchetti

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori