WoRD of VoiD
I feel funny and I don't know why…Excuse me while I kiss the sky
I feel funny and I don't know why…Excuse me while I kiss the sky
11 Ago

Cuando salió al mercado esta versión del famoso refresco de cola, alguien se echó las manos a la cabeza al ver que contiene un edulcorante -del que hablaremos más adelante- sobre el que se ha dicho que podría causar cáncer. La anterior historia tenía muchas papeletas para crecer como la espuma, a fin de cuentas incluye las palabras "cáncer" y "Coca cola" en su enunciado. Y así ha sido por lo que veo consultando google.
Cualquiera puede investigar por su cuenta y formar su propia conclusión en lugar de aceptar ciegamente la sarta de memeces que se pueden leer en la Red acerca de la anterior historia.
Por poner un ejemplo me quedo con la siguiente "respuesta" elegida por los usuarios/as de Yahoo answers:
Mejor respuesta – Elegida por el usuario que pregunta
hola!! mira yo no tenia ni idea!!
ahora con tu pregunta me puse a investigar y la cosa es que es cierto!!!!
la cocaa-cola cero produce cáncer en presentaciones de 600 ml o en lata. Esto porque la famosa bebida contiene un componente llamado ciclamato de sodio que a la larga puede producir cáncer y que viene a ser la sustitución de los endulzantes ya que no tiene calorías.
Supongo que con investigar se refería a fiarse sin más de las dos primeras entradas que le dio google al respecto y sacar de ahí la conclusión de que una lata de coca cola zero produce cáncer -la presentación de 600ml no la conozco-
Lo único que hay de cierto en la respuesta anterior es que el edulcorante que contiene la Coca Cola Zero es Ciclamato, también conocido como E-952. La verdad de la buena parece que tiene que ver con alguna clase de manipulación por parte de las azucareras estadounidenses que veían peligrar su negocio cuando se empezó a usar dicho edulcorante. Según la wikipedia, el uso de Ciclamato está avalado por la OMS en más de 100 países del mundo. Es cierto que su uso está prohibido en Estado Unidos desde 1970, después de que un estudio en ratas de laboratorio diese la impresión de que podría resultar cancerígeno.
Hay que tener en cuenta los parámetros de dicho estudio antes de decir tan alegremente que el Ciclamato produce cáncer. Ocho de las doscientas cuarenta ratas de laboratorio desarrollaron tumores en la vejiga después de haberles administrado una mezcla de sacarina y ciclamato en cantidades equivalentes en humanos a la ingesta de 350 latas diarias de refresco. Lejos queda de la medida propuesta por la usuaria de Yahoo Answers que reproduzco más arriba.
Según el National Cancer Institute de EEUU, no existe tal peligro relacionado con el consumo de E-952. Es más, no solo no lo consideran un agente carcinógeno sino que tampoco entra en la categoría de co-carcinógeno:
Cyclamate
Because the findings in rats suggested that cyclamate might increase the risk of bladder cancer in humans, the FDA banned the use of cyclamate in 1969. Upon the reexamination of cyclamate carcinogenicity and the evaluation of additional data, scientists concluded that cyclamate was not a carcinogen or a co-carcinogen (a substance that enhances the effect of a cancer-causing substance). A food additive petition is currently filed with FDA for the reapproval of cyclamate. The FDA's concerns about cyclamate are not cancer related.
La petición para la aprobación futura del ciclamato a la que hace referencia el párrafo anterior se puede consultar en la página web de la FDA.
Conclusión: Una vez más parece quedar claro que una mentira repetida un millón de veces puede llegar a conformar un escenario falso que no sirva para otra cosa que asustar a la gente e impulsar la creación de leyendas y mitos urbanos. Quizás tenga mucho que ver con que nuestras fuentes de información provengan de blogs y anotaciones que no citan fuentes o se limitan a hacer un copia+pega de otros blogs que caen en el mismo error.
Es cierto que Coca-Cola no merece que gastemos nuestro dinero en sus productos, pero los motivos quizás tengan que ver con violaciones sistemáticas de los derechos humanos y no con el tipo de edulcorantes que usen o dejen de usar.
4 Feb
Después de hacer varias pruebas para intentar renderizar con Finalrender para Maya unos mapas de desplazamiento/normales, he llegado a la conclusión de que el workflow que sirve para Mental Ray no es del todo bueno para usar con Finalrender. En realidad son muy similares ya que los mapas generados por Zbrush sirven tanto para un motor de render como para el otro, pero hay ciertos detalles que aparecen al volver a Maya que necesitan de ajustes diferentes. Y además los propios de cada motor.
En esta pequeña guía voy a utilizar una prueba del craneo de Beast que estoy usando para la escena "Minnie and the Beast". El modelo lowpoly, una vez importado en Zbrush, con las UV’s previamente ajustadas en Maya, viene a ser algo parecido a esto:

Después de pasar un rato agradable esculpiendo, tengo el siguiente resultado:

Nada espectacular, aunque se trata de una parte apenas visible. Oculta por otras piezas y en gran medida fuera de campo. En fin.
Parte 1: Exportar los mapas desde Zbrush
a) Mapa de desplazamiento.
En primer lugar y antes de nada bajamos el nivel de subdivisión en Zbrush al mínimo. Y acto seguido nos vamos al menú Zplugin donde estará instalado el plugin Multi Displacement 3 (en Zbrush 3.1). Ajustamos las opciones de MD3 como en la siguiente captura y en caso de querer generar un mapa de desplazamiento de otro tamaño que 2048×2048, cambiaremos el valor correspondiente.

Acto seguido nos vamos a Export Options y allí ajustaremos las opciones correspondientes para obtener un mapa que se lleve bien con Maya.

De momento y hasta que encuentre algo mejor, esto es lo que me ha funcionado mejor con FinalRender. Sacaremos como resultado un TIFF de 32bits y hay que tener en cuenta que con esta configuración, el Displacement Exporter se encargará de hacer el Vertical Flip que tanto le gusta a Maya. El quickcode para esta configuración es:
DE-LBEK-EAEAEA-R32
El quickcode anterior correspondería a la opción para generar mapas de desplazamiento en un TIFF de 32bits. La captura anterior no corresponde a ese quickcode ya que para el correcto la opción Scale estaría en A.D.Factor en lugar del Off que se puede ver en la misma. En caso de querer trabajar con mapas de desplazamiento de 16 bits, el quickcode sería el siguiente: DE-HBEK-EAEAEA-R32.
Una vez elegidas las opciones para exportar el mapa de desplazamiento, volveremos al menú principal y pulsamos el botón CREATE ALL. Le damos un nombre y ubicación al fichero, elegimos TIFF como formato y esperamos a que Zbrush acabe de generar el mapa.
b) Mapa de normales.
Ahora vamos a exportar un mapa de normales (normal map) usando ZMapper. En primer lugar bajamos el nivel de subdivisión en el modelo al mínimo, tal y como hicimos antes con los desplazamientos. Lanzamos ZMapper, abrimos la pestaña Normal & Cavity Map y simplemente cargamos el preset llamado Maya_TangentSpaceNode_BestQuality (Open Configuration). Este preset, entre otras cosas, también se encargará de hacer el Vertical Flip a la imagen resultante. Pulsamos el botón Create NormalMap y esperamos unos segundos.

Una vez generado el mapa de normales, lo exportamos (Texture -> Export).
Como paso opcional podemos aprovechar para generar un Cavity Map también desde Zmapper. A la configuración anterior sólo habría que añadir unos puntos en Cavity Intensity y crear el mapa con el botón Create CavityMap.
Parte 2: De vuelta a Maya
Una vez exportados los dos o tres mapas en Zbrush, podemos volver a Maya para ajustarlos a nuestro modelo. En primer lugar haremos unos pequeños ajustes en el objeto al que queremos aplicar esos mapas. Lo primero será desactivar los desplazamientos de Maya ya que usaremos los de FinalRender:
Y ahora, si se trata de objeto poligonal como es el caso, conviene aplicarle uno o varios Smooth o bien convertir el objeto en Subdivisión. La mejor manera de hacer esto es hacerlo usando las subdivisiones de FinalRender en render time. Del mismo modo que usando Mental Ray le aplicariamos un nodo de subdivisión con el Aproximation Editor, aquí lo haremos usando una característica propia de FinalRender:

En el mismo objeto, dentro de las opcionesde FinalRender, activamos Render as Subdivision Surfaces y ajustamos el Level a un valor razonable. Para empezar, dos está bien.
El siguiente paso hacia el éxito consiste en crear un shader para nuestro objeto, uno al gusto. Creamos un nodo de desplazamiento para el shader, cargamos el TIFF creado anteriormente en Zbrush, ajustamos el Filter Type a Mipmap y desplegamos las opciones de Color Balance para la textura.

Aquí nos interesa el valor de Alpha Gain y Alpha Offset. Alpha Gain nos ayudará a establecer el nivel del desplazamiento y también queremos que el valor de Alpha Offset sea el valor negativo de la mitad del anterior. Lo más cómodo es crear una expresión para llevar el valor de Alpha Offset automáticamente, que sería la siguiente si asumimos que el nombre de la textura con el mapa de desplazamiento es "file1".
file1.AlphaOffset = – file1.AlphaGain / 2
Actualización: Parece que es indiferente usar los parámetros Alpha Gain y Alpha Offset del nodo file con la textura que corresponde al mapa de desplazamiento o bien usar los parámetros Gain y Offset que se encuentran en el tab llamado Finalrender dentro del nodo de tipo Displacement. Por defecto estoy usando éste último, pero se me ocurre que si pensásemos en cambiar de motor de render haría más engorrosa la adaptación.
Respecto al valor correcto de Alpha Gain -o Gain a secas si usamos el parámetro de Finalrender- : en teoría se trataría de un valor fijo para mapas de desplazamiento de 32 bits ya que almacenan el valor del Alpha Depth Factor de Zbrush en su interior. En la práctica yo no lo acabo de ver tan sencillo pero en cualquier caso ese valor sería 2.2 ,entonces el valor de Alpha Offset sería -1.1 y no haría falta de usar ninguna expresión para calcular su valor.
En el caso de trabajar con mapas de desplazamiento de 16bits habría que tener en cuenta el valor del Alpha Depth Factor de Zbrush. Para obtenerlo es necesario generar el mapa de desplazamiento desde Tools->Displacement en Zbrush. En la parte de abajo del menú Alpha, y teniendo seleccionado el mapa de desplazamiento allí, podremos consultar dicho valor.
Una vez sabido el valor de Alpha Depth Factor, la fórmula para calcular el valor preciso de Alpha Gain en Maya es la siguiente:
Alpha Gain = (Alpha Depth Factor / 10)*2
Y el valor de Alpha Offset se calcularía usando la expresión antes mencionada.
En principio tenemos listo el mapa de desplazamiento, ahora crearemos un bump para el shader conectado al mapa de normales que creamos anteriormente en Zbrush, sin olvidar ajustar el valor del nodo bump como Tangent Space Normals (Use as:). También podríamos usar el Cavity Map aplicado al diffuse del shader o bien usarlo como detalles en una textura bien elaborada.
Ya sólo queda ajustar las opciones para mapas de desplazamiento en los Render Globals de FinalRender:

En primer lugar, obviamente, tenemos que activar los desplazamientos (Enable Displacement). Los ponemos en Mode: Intensity y el valor de Multiplier lo dejaremos en principio en el que lleve por defecto (más adelante tendremos que jugar con este valor para obtener un resultado más o menos bueno) y nos quedamos también con el valor de Pixel Edge Size. En caso de que el mapa contenga huecos como el del ejemplo es conveniente desactivar la opción Runtime Displacement ya que en caso contrario los agujeros / surcos aparecerán planos.
Y finalmente, usando la técnica del ojímetro y los valores de Alpha Gain (+Alpha Offset) en la textura del mapa de desplazamiento y Multiplier y Pixel Edge Size en Displacement Options del Render Globals para FinalRender, conseguiremos tener algo más o menos similar a lo que buscamos. Hay que tener especial cuidado con el valor de Pixel Edge Size ya que si bajamos demasiado el valor (<=1) aumentará muchísimo el número de microtriángulos y el tiempo de render se disparará hacia el infinito, pero en principio se cumple que para mapas de desplazamiento de 16bit donde el Alpha.Gain ha sido calculado con el método expuesto arriba, los valores por defecto de Multiplier y Pixel Edge Size funcionan bastante bien.

30 Ene

Estos son los primeros avances en el modelado básico de la bestia dolorida. He decidido hacerlo por piezas e intentando mantener el número de polígonos lo más bajo posible. Las imágenes de prueba que ilustran este artículo llevan aplicado un smooth en todas las partes, pero se trata de un total de 11206 polígonos hasta ahora. Y hay que tener en cuenta que, aunque no he modelado toda la figura, en esta escena están las mandíbulas, ojos y dientes de los dos lado del modelo.
Todavía queda por trabajar un poco las patas. Ajustar las uñas para que se asemejen más al dibujo original y lo mismo para los dedos. Además de eso tengo que modelar todas las encías para las ocho mandíbulas que tiene el muchacho.

Después de lo anterior tocará ajustar las UV's antes de empezar a esculpir detalles en ZBrush y meterme de lleno con las texturas que, probablemente haga antes de modelar a Minnie. De momento me encuentro con un problema: muchos de los dientes están repetidos, pero no he sido previsor y no he apuntado cuales son para no tener que ajustar las UV's en todos los duplicados. Seguramente me toque hacerlo con todos y son más de 100 piezas individuales.
Respecto al modelado en si, casi todo está hecho a partir de cubos extruidos y usando como referencia la imagen original. Los ojos son simples esferas y los cuernos están hechos a partir de conos a los que he movido los vértices para ajustarlos lo mas posible a la imagen de referencia.
Para finalizar, un render rápido como referencia de lo que he avanzado (que tampoco es mucho):

25 Ene

Esta es la primera parte de una guía / tutorial / making-off para "convertir" el dibujo anterior en una imagen 3D. El título del dibujo es "Minnie and the Beast" y su autor es bleedman en www.deviantart.com/. Vale la pena perder unos minutos en visitar su galeria en ese sitio.
Esto no pretende ser un tutorial "paso a paso" de como construir la escena 3D. Mi intención es ilustrar el proceso, paso a paso, con imágenes y explicaciones de ciertos puntos clave. Pero no me detendré demasiado en otros más "estándar". De todos modos intentaré ser lo más claro y conciso posible.
No soy aficionado al 3D que persigue el realismo, especialmente del tipo habitual en infoarquitectura, diseño de interiores o diseño industrial. Mi campo está más cercano a los efectos visuales para cine o la animación 3D y culpa de lo anterior es que no domine las herramientas usadas en esas disciplinas. Para corregir eso, en cierto modo, me he propuesto este ejercicio que consiste en crear una representación 3D tomando como punto de partida un dibujo de temática poco "real". Pero no se trata de crear una versión 3D de ese dibujo, se trata de intentar rozar (porque sé que no lo conseguiré 100%…) el realismo partiendo de una base como la anterior.
Para ello haré el trabajo de modelado en bruto usando Maya. El siguiente paso consistirá en esculpir los dos modelos con Zbrush y pintar las texturas con Photoshop. Luego integrar esas texturas y los mapas de desplazamiento generados por Zbrush en la escena de Maya y, por último, ajustar los materiales e iluminación para renderizar toda la escena con Finalrender.
Continuará…