FoliMesh

Cactus y suculentas estilo Low-poly para PlayCanvas

PlayCanvas trata el GLB como container asset: si subes el archivo al editor obtienes un template con la jerarquía completa, y en código se carga con app.assets.loadFromUrl(url, 'container') y asset.resource.instantiateRenderEntity(). Saguaro, Cactus barril, Nopal, Agave y Aloe vienen con LOD0–LOD3, colisión y pivote en la base, listos para apoyarse en la arena.

El estilo low-poly ayuda al rendimiento: flat shading y colores de vértice (glTF COLOR_0) significan cero texturas, cero UV y un material compartido por todo el conjunto, algo que se nota en GPU móviles. Como no hay componente LOD, un script compara la distancia de cámara y activa unas u otras entidades LOD0–LOD3; los cactus estáticos se agrupan en batch group y los lotes grandes usan meshInstance.setInstancing(). El LOD0 va de unos cientos a un par de miles de triángulos.

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

Acerca del estilo Low-poly

El low poly es el estilo más económico para renderizar y para publicar.

  • Sombreado plano: una normal por cara da el look facetado nítido, sin mapas de normales.
  • El color está en los vértices (glTF COLOR_0): sin texturas, sin trabajo de UV y casi sin memoria de video.
  • El follaje es geometría sólida, no tarjetas con alfa: sin alpha test ni overdraw transparente, algo clave en GPU de celulares.
  • Un solo material sirve para todos los modelos de la escena, así que los árboles se agrupan e instancian fácilmente.
  • Los presupuestos típicos van de unos cientos a un par de miles de triángulos en LOD0.

Funciona muy bien en celulares, 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 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.

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores