Hasta la fecha no hemos hablado sobre Marvelous Designer en el blog. Tengo la impresión de que Marvelous Designer es uno de esos programas capaces de cambiar la metodología de trabajo alrededor de una tarea, en este caso el modelado de ropa y telas en general. Como en su día Zbrush, Mari o los raytracer por ejemplo, afrontamos ciertas tareas de una forma hasta que ciertas herramientas revolucionarias nos hacen plantearnos nuestras metodologías de trabajo. MD es sin duda una de estas herramientas que nos permiten trabajar de forma rápida, cómoda y obteniendo excelentes resultados.

He visto desde hace unos dos años más o menos, como los grandes facilities de efectos visuales incorporan Marvelous Designer en su pipieline de modelado, y yo mismo me he visto utilizándolo frecuentemente en la creación de dobles digitales para VFX.

En este primer post, vamos a ver como crear de una forma extremadamente sencilla una prenda común, una camiseta de tirantes. Generalmente el workflow que seguimos consiste en crear un primer passe en Marvelous Designer, y después continuar añadiendo detalle en un software de esculpido como Zbrush. O en el caso de tratarse de un hero digital doble, pasar el modelo resultante de Marvelous Designer al departamento de cloth, quien se encargará de simular la prenda dotándola de detalles secundarios, como arrugas, pliegues, etc.

  • Empezamos pues importando nuestro personaje, o avatar, según la jerga de MD.
  • MD trabaja según patrones de cosido, al igual que lo hacen costureros en el mundo real. Si conoces alguno, quizás pueda asesorarte al respecto. Otro día comentare algunos libros que utilizo sobre patrones. Es la mejor ayuda posible.
  • Empezamos dibujando la primera pieza frontal de la camiseta.
  • Para crear el lado derecho, podemos duplicar simétricamente la pieza izquierda. Así nuestra camisera será perfectamente simétrica.
  • Cualquier cambio que realicemos en un lado se verá reflejado en el otro.
  • Añadimos un par de puntos, uno para el agujero del cuello y otro para el agujero de la manga del brazo.
  • Duplicamos la parte frontal para crear la parte trasera.
  • Movemos la parte trasera en el espacio 3D para posicionarla en el lugar correcto.
  • Tenemos que invertir las normales.
  • Moviendo puntos podemos dibujar la abertura del cuello.
  • Tenemos que coser los lados correspondientes. Ten cuidado de hacerlo en el orden correcto.
  • Si lanzamos la simulacion, obtendremos algo parecido a una camiseta con mangas muy cortas.
  • Tambien podemos utilizar algunos de los presets existentes para modificar el comportamiento de la simulacion.
  • En esta ocasion he tenido que mover hacia abajo los puntos que delimitan el agujero de la manga, para que no colisione con el brazo.
  • Si en lugar de utilizar un cuello en "v" prefieres un cuello curvo, basta con curvar el segmento que delimita el cuello.
  • Es buena idea curvar algunos segmentos más para que la camiseta se ajuste al cuerpo y quede ás ceñida.
  • Para que la camiseta no sea tan regular, es conveniente dibujar curvas y romper lineas rectas tanto en el frontal como en la parte trasera.
  • Si reducimos el particle density, obtendremos simulaciones con mayor resolucion y detalle.
  • Si queremos ajustar la camiseta aún má para resaltar la figura femenina, basta con exagerar las curvas del patrón.

Aquí el resultado final, renderizado en Maya. Como podéis ver, un resultado excelente conseguido en apenas unos minutos. Si añadimos trabajo de texturas conseguiremos una prenda de buena calidad en poco tiempo.

Posted
AuthorXuan Prada

Como seguramente sepas, Arnold gestiona la subdivisión de geometría de forma individual. Si tienes una escena con cientos de objetos resulta un tanto incómodo ir uno a uno añadiendo propiedades de subdivisión de Arnold. Esta es la forma más rápida y sencilla que he encontrado para solventar esta situación. No tengo ni pajolera idea de scripting, así que si tienes una solución más rápida y eficaz, por favor, házmelo saber.

  • En este particular ejemplo quiero subdividir en render este personaje compuesto de decenas y decenas de piezas. Quiero seguir manteniéndolas todas de forma individual pero poder subdividirlas al mismo tiempo.

Modelado por SgtHK.

  • Lo primero que necesitas hacer es seleccionar todos los shapes de cada objeto. Para ello selecciona todos tus objetos de geometría en el outliner y pega esta linea de código en el script editor. Esto hará que se seleccionen todos los shapes de los objetos previamente seleccionados.

/* you have to select all the objects you want to subdivide, it doesn’t work with groups or locators.
once the shapes are selected just change aiSubdivType and aiSubdivIterations on the attribute spread sheet.
*/

pickWalk -d down;

string $shapesSelected[] = `ls -sl`;

  • Una vez todos los shapes han sido seleccionados, abre el attribute spread sheet.
  • Filtra por ai subdiv.
  • Elige tu método de subdivisión e iteracciones.
  • Y ya está, personaje subdividido.
Posted
AuthorXuan Prada
TagsArnold
3 CommentsPost a comment

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.

Hace unas semanas escribí un post acerca de las herramientas de retopología que suelo utilizar en Maya, o mejor dicho, solía. Porque desde que trabajo con Modo, utilizo las herramientas de retopología de este cuando tengo que lidiar con scanners 3D o con modelos de Zbrush que llegan del departamento de arte.

En mayor o menor medida, hoy día todos los paquetes 3D tienen herramientas de retopología similares, pero simplemente en Modo me encuentro mas cómodo y trabajo de forma más fluída cuando tengo realizar este tipo de trabajo.

Explico a continuación las herramientas que más utilizo.

  • Antes de comenzar, me gusta poner el scanner 3D o el modelo decimated de Zbrush como "static mesh". De esta forma no me molestarán sus componentes.
  • Pen tool: Esta es la herramienta que utilizo para dibujar mi primer polígono, después ya no la utilizo más. Pero para empezar, es la que mas me gusta.
  • Asegúrate de que el tipo de geometría sea "polygon" y que la opción "make quads" esté activada.
  • Dibuja un solo polígono y suelta la herramienta.

Para continuar con la retopología utilizo la herramienta "topology pen" que combina las diferentes opciones de retopología. Con esta herramienta hago el 90% del trabajo de retopología.

Estas son algunas de sus opciones.

  • LMB: Mueve vertex, edges y faces.
  • Shift+LMB & drag edges: Extrude edges.
  • Shift+LMB & drag points: Crea faces.
  • Shift+RMB & drag edges: Extrude edge loops.
  • RMB & drag edges: Mueve edge loops.
  • CTRL+MMB: Elimina componentes. (faces, edges y vertex).
  • Inner snap: Esta opción permite soldar vertex interiores cuando los acercas.
  • Sculpt -> smooth: Permite relajar la geometría, ideal cuando se te acumulan muchos polígonos en una zona.
  • Si trabajas de forma simétrica, probablemente quieras alinear los puntos centrales al centro de la escena.
  • Para ello selecciónalos y vete a vertex -> set position.
  • Ahí puedes asignar un valor común para todos.
  • Para realizar el mirror presiona "shift+v".

Para juntar las dos partes: Seleccionar los dos items, click derecho y elegir merge meshes.

  • Una vez juntados, seleccionar los puntos de unión e ir a vertex -> merge para soldarlos.
  • Topology sketch tool: Permite dibujar al vuelo polígonos, muy útil para crear un face loop rápido.
  • Contour tool: Permite crear curvas que serán unidas mediante un bridge. Muy útil para objetos cilíndricos como brazos y piernas.
  • Obviamente cuantas más curvas dibujes mejor se adaptará la geometría al scanner.
  • Puedes crear una geometría base y después añadir detalle con "topology pen tool".
Posted
AuthorXuan Prada
Categoriesmodelado

Procesar Lidar para ser utilizados en producción es una tarea generalmente tediosa, especialmente cuando hablamos de Lidar de entornos, compuestos normalmente por muchos millones de polígonos, generando point clouds que cuesta muchísimo mover.

Para limpiar este tipo de scans 3D, lo mejor suele ser utilizar las herramientas propietarias que vienen con los escáneres 3D, aunque en ocasiones son bastante complejas de utilizar y muy poco intuitivas.
Por no hablar de que en la mayoría de las ocasiones nos envían los Lidar a los estudios y tenemos que trabajar con ellos "a pelo" con las herramientas básicas que utilizamos en nuestro día a día.

Si hablamos de Lidar muy complejos, no nos quedará otra que emplear una buena parte de nuestro tiempo en limpiar y organizar todo el material. Pero si hablamos de Lidar sencillos, no muy densos y de entornos sencillos, props o personajes, quizá podamos procesarlos de forma muy sencilla y rápida utilizando herramientas "mainstream".

La herramienta que más me gusta para estos menesteres es MeshLab. Es rápida, sencilla, fácil de utilizar y open source.

  • Importa tu Lidar en MeshLab. Puede leer los formatos de archivo mas comunes.
  • Este Lidar tiene unos 30 millones de polígonos. Si hacemos un close up podemos ver la cantidad de detalle que tiene.
  • La opción más apropiada que he encontrado para reducir el número de polígonos se llama Remeshing, Simplification and Reconstruction -> Quadric Edge Collapse Decimation.
  • En sus opciones, la única que nos interesa es Percentage reduction. Si ponemos 0.5 reducirá la cantidad de polígonos al 50% y así sucesivamente.
  • Tras unos pocos minutos, realmente rápido, pasamos de 30 millones de polígonos a 3 millones.
  • Finalmente basta con exportar el Lidar como .obj e importarlo en cualquier software. En este caso en Nuke.

Otro software que nos viene muy bien para procesar scans 3D es Zbrush. El problema de Zbrush es que gestiona muy mal la memoria, y trabajar con Lidar es prácticamente imposible. Si nos viene mejor para trabajar con Lidar ya procesados previamente en MeshLab o con 3D scans generados mediante photogrammetry.

  • Es muy común encontrarte problemas de memoria en Zbrush cuando intentes abrir point clouds muy densos.
  • Para intentar solucionar este problema, ejecuta Zbrush como administrador y después aumenta la cantidad de memoria utilizada por el programa.
  • En este caso estoy importando un Lidar ya procesado en MeshLab de 3 millones de polígonos.
  • En el menú Zplugin -> Decimation Master, podemos reducir el número de polígonos sin perder calidad en el modelo. Para ello debemos introducir un valor en el porcentaje. El resultado será el tanto por ciento del modelo original.
  • El siguiente paso es darle a la opción Pre-Process Current. Este proceso tardara varios minutos, dependiendo de la complejidad del Lidar y de la capacidad de tu máquina.
  • Una vez terminado, hay que darle a la opción Decimate Current.
  • Una vez terminado el proceso, se generará el modelo decimado con el porcentaje de polígonos indicado.

Hoy en día en cualquier producción cinematográfica donde hay presentes VFX, utilizamos scanners 3D. Bien sea a través de Lidar, photogrammetry o cualquier otra técnica, pero los scans 3D son uno de los recursos más utilizados y además, uno de las más útiles para crear assets de gran calidad.

Un scan 3D por si mismo no sirve para nada, pero si lo tratamos con cuidado puede ser de gran utilidad para extraer información de volumen, detalles para aplicar como displacement map, texturas fotográficas, etc.

Hay muchas formas y diferentes herramientas para procesar scans 3D, pero en Maya 2014 han incorporado unas cuantas, que si bien son muy básicas, cumplen su función a la perfección.
Es decir, son muy sencillas de utilizar y funcionan bien.

Llevo un tiempo utilizándolas para procesar los scans 3D con los que tengo que trabajar en mi día a día, así que sin mas, paso a nombrarlas y explicar un poco como las utilizo.

  • En este scan 3D puede verse la cantidad de detalle presente. Toda esa información nos viene genial para extraerla y utilizarla de un montón de formas diferentes.
  • Cuando chequeamos la topología del scan 3D, salta a la vista de que es una topología que no sirve para trabajar, incluso habiendo sido ya procesada y limpiada utilizando el software específico del scanner 3D.

Paso a contaros como yo utilizo las nuevas herramientas de Maya 2014 para este propósito.

  • Me creo una nueva capa donde meto el scan 3D.
  • A esta capa, le activo la opción reference, para evitar seleccionar el scan en viewport.
  • En las opciones de snap, seleccionar como Live Surface el scan 3D.
  • Activar el Modeling Kit.
  • En el apartado Transform Constraints, chequear Using Live Surface.
  • Esto hará que el scan 3D sea la base para nuestro modelado, y cualquier operación que hagamos se adapte automáticamente a la superficie del scan 3D.
  • La herramienta Quad Draw nos permite dibujar polígonos sobre la superficie del scan 3D.
  • Dibujando 4 puntos se creará un polígono.
  • Una vez definidos los 4 puntos, si presionamos shift mientras situamos el cursor del mouse dentro de los 4 puntos, veremos un preview del polígono que estamos creando.
  • Para crear el polígono, simplemente hacemos click.
  • Podemos definir tantos puntos para crear polígonos como queramos.
  • LMB para crear puntos, MMB para mover puntos/edges/polys y CTRL+LMB para borrar puntos/edges/polys. CTRL+MMB para mover edge loops.
  • Si quieres extruir edges de polígonos ya creados, basta con presionar CTRL+SHIFT+LMB y tirar del edge deseado.
  • Para añadir edge loops: SHIFT+LMB.
  • Para añadir edge loops justo en el centro: SHIFT+MMB.
  • Para dibujar polígonos "on the fly" simplemente presiona CTRL+SHIFT+LMB y dibuja en cualquier dirección.
  • Para cambiar el tamaño de los polígonos presiona CTRL+SHIFT+MMB.
  • Para juntar dos polígonos separados, creando un nuevo polígono, SHIFT+LMB en el espacio entre ambos polígonos.
  • Para soldar puntos, CTRL+MMB.

Cuando nos encontramos objetos cilíndricos, rectangulares, tubulares, etc, es incluso más sencillo hacer retopología.

  • Creamos un volumen suficientemente grande para contener el objeto de referencia. En este caso, un brazo.
  • En las opciones del Modeling Toolkit, vamos a edit -> Shrinkwrap Selection.
  • El volumen cilíndrico se adaptará a la forma de referencia.
  • Si la topología no se queda todo lo ordenada que te hubiese gustado, basta con seleccionar el Quad Draw. Por defecto está activada la opción relax, simplemente pinta encima de la geometría y ordena la topología.

Y prácticamente estas son todas las herramientas que utilizo dentro de Maya 2014 para procesar mis scans 3D. Si tenéis alguna duda, aquí estoy :)