FoliMesh

Packs de assets 3D para PlayCanvas

PlayCanvas carga el GLB como asset contenedor: en el Editor el archivo genera una plantilla con la jerarquía del modelo; en código sin editor se usa app.assets.loadFromUrl(url, 'container') y asset.resource.instantiateRenderEntity(). Los ocho packs — Muestra gratis, Bosque templado, Bosque de coníferas, Playa tropical, Kit del desierto, Rocas y acantilados — incluyen en cada modelo LOD0–LOD3, colisión y pivote en la base.

No hay componente LOD en PlayCanvas, así que un script corto compara la distancia a cámara y activa o desactiva los componentes de render de LOD0–LOD3. Los árboles estáticos se agrupan en un batch group y los bosques grandes usan instancing por hardware con meshInstance.setInstancing(). En las hojas, glTF MASK aplica alphaTest y cull mode none cubre el follaje de dos caras. Exportación a GLB, FBX u OBJ; cada semilla nueva da otra variación.

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 pequeño script 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 fusionar draw calls; en bosques grandes usa instancing por hardware con meshInstance.setInstancing() y un vertex buffer de transformaciones.
  • Hojas: el MASK de glTF establece 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.

Packs

Lo mismo en otros estilos

Lo mismo para otros motores