FoliMesh

Árboles estilo Realista para PlayCanvas

Los árboles realistas se importan en PlayCanvas como assets contenedor GLB: subes el archivo al editor y obtienes un template con toda la jerarquía, o lo cargas en código con `app.assets.loadFromUrl(url, 'container')` y `instantiateRenderEntity()`. Cada modelo trae LOD0–LOD3, colisión tipo mesh con rigidbody estático y pivote en la base del tronco. La corteza usa mapas PBR de color base, normal y rugosidad; las hojas son tarjetas con alpha test, escriben profundidad, no necesitan ordenamiento y proyectan sombras correctas. Como PlayCanvas no tiene componente LOD, un script corto alterna las entidades LOD0–LOD3 según la distancia de la cámara, y los batch groups o `setInstancing()` agrupan bosques de Roble, Pino silvestre, Abeto y Abedul. Funciona bien en supervivencia, mundo abierto y simuladores.

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

Packs

Otras categorías

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 PlayCanvas

PlayCanvas trata el GLB como un asset container. En el editor, sube el GLB (el FBX se convierte a GLB al importar) y obtendrás una plantilla con la jerarquía del modelo; en código solo de motor usa app.assets.loadFromUrl(url, 'container') y asset.resource.instantiateRenderEntity().

  • LOD: no hay un componente LOD integrado, así que un script corto compara la distancia a la cámara y activa o desactiva los componentes render de las entidades LOD0–LOD3.
  • Los árboles estáticos pueden compartir un batch group para combinar draw calls; en bosques grandes usa instancing por hardware con meshInstance.setInstancing() y un vertex buffer de transformaciones.
  • Follaje: el MASK de glTF define alphaTest en el StandardMaterial; usa cull mode none para hojas de doble cara.
  • Malla de colisión: componente collision de tipo mesh más un rigidbody estático, con el componente render desactivado.

Lo mismo en otros estilos

Lo mismo para otros motores