Si queréis ver una explicación de todo ésto en vídeo, podéis hacerlo aquí:
A todos nos ha pasado alguna vez, el control de las escalas entre programas es un poco lioso, sobre todo en Zbrush. Os propongo un par de soluciones para no tener que romperse la cabeza con éste tema.
SOLUCIÓN RÁPIDA: ESCALAR A OJO, EN PROPORCIÓN
Para mí, dado que uso Zbrush para modelado orgánico y lo que mida un objeto de modo preciso no me interesa mucho, lo que es importante es que el objeto esté en proporción a la escala real, para ello uso de base el NickMaleAverageZbrush, que viene en el Lightbox de Zbrush.
Lo puedo usar antes de empezar a modelar, usando el Nickz y haciendo un append de otra subtool para modelar lo que sea. También puedo usar a Nickz en cualquier otro momento, aunque ya haya empezado a modelar, simplemente haciendo un append de la subtool de Nickz a la mía y escalando mi modelo en proporción a lo que sería un humano medio. Para escalarlo sólo tengo que ir al submenú de deformación y usar Size:
Si exporto éste modelo en obj, sé que al importarlo en 3Ds Max, o cualquier otro programa, sólo tengo que elegir la opción centimeters y va a medir más o menos lo que yo necesite.
Nota: Nickz mide 182 cm.
SOLUCIÓN PRECISA: ESCALAR CON MEDIDAS EXACTAS
Explicado de modo simple, los objetos tipo .obj, o .fbx escriben las posiciones de los vértices en código. Esas líneas de código se parecen a ésto
v 0.123 0.234 0.345 1.0
Los valores que veis son posiciones de un vértice, al leer éstas posiciones, nuestro programa, 3Ds Max, Zbrush, etc, sabe donde poner los vértices y así crear el objeto que estamos importando.
En la línea de ejemplo de arriba, el vértice está en la posición 123 en X, 234, en Y y 345 en Z. (El cuarto valor no nos interesa ahora).
Lo que NO pone en un .obj es cuales son las unidades en las que estamos trabajando, si esa posición 123 en el eje X, son 123 metros, centímetros, pulgadas o lo que sea, depende de las unidades que esté usando el propio programa.
Por tanto, para exportar un .obj de Zbrush y poder importarlo en otro programa al mismo tamaño, solo tenemos que definir cuantas unidades mide nuestro objeto dentro de Zbrush. Para eso usaremos el Scale Master, que está en la pestaña de Zplugin.
Funciona de un modo muy sencillo, ponemos las unidades que queremos que mida nuestro objeto y pulsamos "Resize All" si queremos que reescale todas las Subtools o "Resize Subtool" para escalar solo la que tenemos seleccionada. Una vez hecho ésto podemos darle al botón de "Export to unit Scale", y Zbrush exportará un objeto que mida las unidades que le estamos pidiendo.
Para importar el objeto desde otro programa, es importante marcar las unidades en las opciones de importación. Si importamos un .obj desde 3DsMax, por ejemplo, el diálogo de importación nos deja elegir las unidades directamente, por tanto sólo hay que marcar las que estuviesemos usando en Zbrush.
NO RECOMENDADO: ESCALAR EL OBJETO ENTRE PROGRAMAS
Yo no recomendaría escalar los objetos de un programa a otro, me refiero a escalar el objeto en 3Ds Max, por ejemplo al 300%, y luego reescalarlo hacia abajo para volverlo a su escala inicial y exportarlo de nuevo a Zbrush. Para empezar, ciertos programas eliminan las unidades sobrantes después de la coma, y escalar algo hacia arriba y luego hacia abajo (o viceversa) puede darnos problemas de que no se ajuste exactamente a lo que había en un principio. Además el pivote puede cambiar, lo podemos mover o rotar sin querer en cualquier momento, o tal vez necesitemos mover el pivote del objeto para rotarlo, colocarlo o cualquier otra cosa, ésto es muy común. Todos los objetos se escalan en función a la posición del pivote, si lo movemos no podremos volver a colocarlo donde estaba, así que nunca podremos reescalar de nuevo en proporción.
Si queréis ver una explicación de todo ésto en vídeo, podéis hacerlo aquí:
Un saludo, estudiantes.