Hace unos años trabajé en Dark Shadows, de Tim Burton en MPC. Tuvimos que crear una cara full CG para Angelique, el personaje interpretado por Eva Green.
En una de las secuencias finales, Angelique se pelea con Barnabas Collins, el personaje interpretado por Johnny Depp, y su cara y parte de su cuerpo, se van destrozando poco a poco, como si fuera una muñeca de porcelana.

En aquella ocasión, todas las piezas rotas se pintaron a mano. Pintamos mapas que se utilizarían como máscaras guía por el departamento de FX para generar la geometría resultante.

No hace mucho tuve que crear un efecto similar en otro personaje, pero en este caso, no necesitaba pintarlo todo a mano, ya las partes rotas simplemente tenían que aparecer de forma aleatoria, sin importar demasiado donde ni como. Hice un poco de investigación, y llegue a la conclusión de que la forma mas rápida y sencilla era utilizando el shatter command de Modo.

Antes de empezar, déjame que te muestre unos fotogramas de Angelique, el personaje que hicimos para Dark Shadow, interpretado por Eva Green.

  • Una vez en Modo, importa la geometría. El único requisito para utilizar esta herramienta, es que la geometría esté completamente cerrada. Puedes cerrarla de forma rápida, sin prestar demasiada atención, ya que una vez generadas las piezas, puedes borrar la geometría que no necesites muy fácilmente.
  • Ya he pintado texturas para este personaje. Las nuevas piezas que se van a generar, tendrán un nuevo UV Mapping, pero las UVs existentes se mantendrán perfectas, así que no tengas miedo de utilizar esta herramienta si tu asset ya tienen UVs y texturas.
  • En el tab setup, encontraras la herramienta shatter command.
  • Aplica en este caso el type uniform.
  • Hay varias opciones para configurar las piezas resultantes.
  • Fíjate como también hay una opción para generar un material para las caras interiores de forma automática.
  • Aquí puedes ver todas las piezas generadas en muy poco tiempo.
  • Voy a seleccionar todas las piezas y escalarlas en negativo un poquito, así puedo crear un pequeño hueco entre ellas y verlas mejor.
  • En este caso en particular, no necesito para nada las caras internas, como tampoco las necesitamos en el caso de Angelique.
  • Simplemente utiliza el material generado automáticamente para seleccionar las caras y borrarlas.
  • Si chequeamos las UVs, comprobarás que están perfectamente. Quizás haya algunas imperfecciones creadas en el proceso de cerrar la geometría, pero simplemente podemos eliminarlas u omitirlas, ya que no vamos a verlas nunca de cara a la cámara.
  • Voy a empezar de nuevo.
  • El uniform type está muy bien porque es muy rápido, pero todas las piezas son muy similares en tamaño.
  • En esta ocasión voy a utilizar el cluster type, que crea piezas mucho mas variadas e uniformes.
  • Ahora tiene mejor aspecto :)
  • Ahora me gustaría crear fragmentos localizados en un area concreta. Digamos que una parte recibe un golpe, o un disparo.
  • Simplemente selecciona el fragmento y aplica otro shatter command.
  • Selecciona todos los fragmentos, y en la pestaña dynamics, desactiva la fuerza de la gravedad.
  • Selecciona el collision set to mesh.
  • He posicionado una esfera justo encima de los fragmentos, y después la he activado como rigid body.
  • Por defecto, le afecta la fuerza de la gravedad, así que cuando empiece la simulación, golpeará los fragmentos creando una animación, o simplemente, reposicionando los fragmento de forma dinámica.
  • Juego con las opciones de collision de los fragmentos para obtener diferentes resultados.
  • En este video se puede ver la sencilla pero efectiva simulación.
  • Este es un clay render donde puede verse la cara terminada. Puedes de forma muy sencilla incrementar al complejidad de este efecto, generando muchas mas piezas con muy poco coste.
  • Finalmente he importado la geometría resultante en Mari como una nueva versión del modelo original. Como puedes comprobar, las texturas originales funcionan a la perfección con la nueva geometría.