FoliMesh

Rocas estilo Low-poly para PlayCanvas

En PlayCanvas, el GLB se trata como un asset de tipo container: arrastra el archivo al editor y obtienes un template con toda la jerarquía; en código puro, app.assets.loadFromUrl(url, 'container') y asset.resource.instantiateRenderEntity() hacen lo mismo. La selección incluye siete modelos low-poly — Guijarros, Piedra, Peñasco, Losa de roca, Montón de piedras, Acantilado y Acantilado con peñascos — en GLB, FBX y OBJ, con LOD0–LOD3, colisión y pivote en la base.

PlayCanvas no trae componente LOD, así que un script breve compara la distancia a la cámara y conmuta los componentes de render de los cuatro niveles. El sombreado plano y los colores de vértice sustituyen a las texturas: todas las rocas comparten un material y el LOD0 se queda entre unos cientos y dos mil triángulos, cómodo para juegos de navegador, WebGL/WebGPU móvil y VR.

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

Sobre el estilo Low-poly

El low poly es el estilo más barato de renderizar y de distribuir.

  • Sombreado plano: una normal por cara da el aspecto facetado nítido, sin mapas de normales.
  • El color va en los vértices (glTF COLOR_0): sin texturas, sin trabajo de UV y casi sin memoria de vídeo.
  • Las hojas son geometría sólida, no tarjetas con alfa: sin alpha test ni overdraw transparente, algo clave en GPU móviles.
  • Un único material sirve para todos los modelos de la escena, así que los árboles se agrupan e instancian con facilidad.
  • Los presupuestos habituales van de unos cientos a un par de miles de triángulos en LOD0.

Encaja en móviles, WebGL/WebGPU, VR, estrategia, city builders y juegos indie estilizados. En el motor, usa un material que multiplique por el color de vértice.

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

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores