Blend4Web

April 6, 2020

Cómo crear y publicar un modelo 3D de forma totalmente libre y gratuita con Blender4Web

Toma las fotografías

Utiliza tu móvil o cámara de fotos y sigue alguno de estos tutoriales para saber cómo has de tomar las fotografías:

Procesa las imágenes

El software libre que te recomiendo utilizar es Meshroom.

Si no has procesado nunca con Meshroom, te recomiendo que visites este post en el que explico paso a paso cómo procesar tus imágenes.

Prepara tu modelo

Una vez hayas completado el procesamiento en Meshroom, tu malla final y textura se encontrará en la carpeta Meshroom\project\MeshroomCache\Texturing\proyecto. Copia los archivos con extensión Obj, mtl y png y llévatelos a otra carpeta para trabajar más cómodo y no machacar la malla y textura originales.

  • Abre el archivo Obj con Blender y elimina todos los polígonos que se han creado generando ruido.
  • Seguramente el modelo esté desplazado, por lo que lo traeremos para trabajar mejor al centro de trabajo desde Object > Transform > Geometry To Origin
  • Limpieza
  • Duplicamos el modelo con Shift + D + Enter y los renombramos como HighPoly y LowPoly
  • Aplicamos el modificador Decimate al modelo LowPoly para reducirlo a un % adecuado con respecto a nuestra cantidad total de polígonos. Cuando nos parezca correcto el % a reducir, aplicamos.
  • Suaviza la malla
    • Podemos añadir el modificador Smooth con un valor del 10 a 20 de repeticiones
    • También con el modificador remesh: smooth
    • botón derecho: shade smooth
  • Exportamos ambos modelos, ya que vamos a crear texturas derivadas de las mallas en otro programa (aunque se puede hacer perfectamente en Blender). Yo hago al bakeado en handplane Baker o también podéis hacerlo en el conocido Xnormal o con Awesomebump.
  • Lo siguiente será irnos a Handplane, e introducir las mallas HighPoly y LowPoly. Parámetros Output que voy a utilizar en handplane:
    • Padding: 16
    • Width & Height: 2048
    • Super Sample: 8x
    • Format: png 8
  • Maps:
  • Tangent Space Normals
  • Ambient Occlusion

Una vez tenemos nuestros mapas de textura volvemos a Blender i las importamos como imágenes

Reducir la malla automáticamente en Quads

Instant Meshes para el que quiera mejorar la malla, reduciéndola de una forma organizada y transformándola a Quads de manera automática :).

Unwrap

El unwrap se trata de “desenvolver la malla” para que pueda ser mapeada de acuerdo a la textura. Cada punto en el mapa UV corresponde a un vértice en la malla. Las líneas que unen los rayos UV corresponden a los bordes de la malla. Cada cara en el mapa UV corresponde a una cara de malla.

Puedes hacerlo sobre la malla LowPoly de manera automática utilizando Select All > Smart UV Project.

O de lo contrario seleccionar la línea por la que quieres que tu modelo separa la malla para generar la UV. Esto se hace seleccionando toda una linea a partir de las aristas y clicando Edge > Mark Seam

Proyección de textura en UV

  • Desde UV editing crearemos una nueva imagen y la guardaremos
  • Nos vamos a Shading y seleccionamos la malla Low Poly. Desde el editor de nodos añadimos una textura de imagen (no hace falta crear el link).
  • Con la malla HP y LP activas, primero seleccionamos LP y luego HP (Shift + Botón Izq)
  • Haremos el Bake (necesitamos estar en Cycles) desde las propiedades de procesamiento.

Instalación Blend4Web (versión 2.79 Blender)

  • Descargamos Blend4Web CE 18.05.0
  • Descomprime y añade en Blender la carpeta Blenderd desde User Preferences > File
  • Desde la pestaña Scripts, abrimos la carpeta y buscamos el directorio que hemos descomprimido anteriormente que bería ser blend4web_ce y aceptamos
  • Cerramos y abrimos Blender, y nos dirigimos a Add-ons, desde donde activaremos el plugin Blend4web

Crear un proyecto en Blend4web

  • Entramos a Blender y elegimos como motor gráfico Blend4web
  • En el panel de propiedades>render debemos tener activo el servidor
  • Nos metemos el Project Manager y creamos un nuevo proyecto con los siguientes parámetros:
    • Project Name
    • Project title
    • Los demás los dejaremos por defecto

Se nos tiene que haber creado en la carpeta blend4web la siguiente ruta blend4web_ce/projects/nombreProyecto/blender/archivo.blend

en este punto, podemos crear un nuevo proyecto a partir del que nos ha generado blend4web en la carpeta blender, o bien podemos substituirlo por el nuestro.

En cualquiera de los dos casos, finalizaremos el proyecto y volveremos al project manager y clicaremos desde el panel operationsbuild project”,

Nuestro html estará preparado para subirse a cualquier servidor.

Nota: También puedes exportar directamente tu proyecto como html. Pero a mi me ha funcionado a veces y no en todos los servidores ni abriéndolo desde el smartphone. Por ese motivo descrivo los pasos que me han funcionado.

Aplicación de texturas a mallas en Blend4web

Vía rápida

  • Crear material para cada textura y añadirla en el propio material. Para conseguir integrar las 3:
    • textura principal como diffuse
    • activar geometry para las normales
    • blend Multiply para la rugosidad

Vía elaborada: Nodos

Creamos 3 nodos de Texture

  • Crearemos las texturas en el menú texture y tendremos que seguir el patrón de la siguiente imagen

Luz

  • Daremos luz al ambiente desde la pestaña Wordl > Render sky > Blend sky
  • Environment lighting

Render settings

  • Bloom
  • activar Color correction

Enlaces de interés