FoliMesh

Packs de assets 3D estilo Realista para Bevy

En Bevy estos packs se cargan como escenas glTF con el AssetServer —asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb"))— y se ubican en la escena con SceneRoot. FBX y OBJ necesitan crates de terceros, así que conviene exportar en GLB: los siete packs, desde la Muestra gratis hasta Rocas y acantilados, ya vienen así y con el pivote en la base.

Los modelos incluyen LOD0–LOD3, de manera que puedes añadir un VisibilityRange a cada entidad y dejar el cambio por distancia al crossfade con dithering de Bevy. La corteza usa mapas PBR de color base, normales y rugosidad; las hojas son tarjetas con alpha test que se convierten en AlphaMode::Mask(cutoff), escriben profundidad y dan sombras correctas. La malla y el material compartidos se instancian solos, algo clave en supervivencia y mundos abiertos. Como Bevy no incluye física, el colisionador se arma desde la malla de colisión con Avian o bevy_rapier.

Acerca del estilo Realista

Los modelos realistas usan el flujo PBR metal/roughness, que glTF 2.0, Unity, Unreal, Godot y three.js leen de forma directa.

  • Corteza: mapas de color, normales y rugosidad en el tronco y las ramas.
  • Follaje: tarjetas con alpha test (masked) y texturas de racimos de hojas, no alpha blend: escriben profundidad, no requieren ordenamiento y generan sombras correctas.
  • Corteza y follaje tienen materiales separados, por lo que la cantidad de draw calls es predecible y el instancing por GPU funciona sin problemas.
  • LOD0 es para tomas cercanas; LOD1–LOD3 quitan ramas y tarjetas de hojas, y el último nivel es lo suficientemente liviano para la distancia.

Ideales para juegos en primera y tercera persona, supervivencia, mundos abiertos y simuladores en PC y consola. En celulares, usa LOD1 o LOD2 como nivel más cercano y controla el overdraw del follaje.

Uso en Bevy

Bevy carga glTF/GLB a través del AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), instanciado con SceneRoot; las mallas y los materiales individuales se acceden por etiqueta. FBX y OBJ requieren crates de terceros, por eso conviene usar GLB.

  • LOD: asigna 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.
  • Follaje: 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 resultan económicas.
  • Colisión: Bevy no incluye física; arma un collider a partir de la malla de colisión con Avian o bevy_rapier.

Packs

Lo mismo en otros estilos

Lo mismo para otros motores