Para sacar normalmaps debemos tener un modelo en alta poligonación y otro en baja (que será el que usemos en el motor gráfico):
Los dos modelos deben estar en las coordenadas 0 de las 3 dimensiones, como se puede ver en la siguiente imágen:
El modelo en baja poligonación tiene que tener aplicado un material cualquiera (por ejemplo Phong o Lambert), para ello vamos a “Get > Property > Material > Phong”. También debe de tener aplicado un mapa de UV, que en este caso al ser un plano usaríamos la opción “XZ”:
Una vez que tengamos esto podemos empezar con la creación del normalmap. Para ello seleccionamos el modelo en baja y vamos a: “Get > Property > Ultimapper”, y se nos abrirá la siguiente Página de propiedades (de ahora en adelante PPG [Property Page]):
De arriba a abajo:
- High Resolution Source: El modelo en alta poligonación que usaremos para generar el normalmap.
- Path: La ruta de nuestro disco duro donde se generarán los archivos.
- Prefix: el nombre que tendrán los archivos generados, a los que se les añadirá la terminación que hay mas abajo a la derecha; “normal”, “normalM”, “albedo”, etc…, y que también podremos modificar.
- Type: El tipo de archivo de imagen generado, entre otros, “bitmap”, “targa”, “Softimage PIC”, etc…
- Los distintos tipos de creación de archivos. Nosotros usaremos “Normal in Tangent Space” y
“Ambient Occlusion”.
- Resolution: Esto depende del tamaño que tenga tu textura final. Cuanto más grande más tardara en renderizar.
- Quality: La calidad de los archivos generados.
- Spilling: Es el borde que queda entre la superficie util del mapa. Normalmente un valor de 1 funciona en la mayoria de los casos.
- Distance to Surface: Es la distancia que XSI tendrá que calcular entre la superficie en alta resolución y la superficie en baja resolución.
- Deep Range: Válido solo para la opción “Depth”.
En “High Resolution Source” pulsamos en “Pick”, lo que hará que el cursor cambie por una flecha negra con la palabra “PICK”. Seleccionamos el modelo en alta poligonación, y en el hueco de al lado de “Source” nos aparecerá el nombre que tiene asignado el objeto, en mi caso “polymsh1”.Buscamos después la carpeta donde queramos que se guarden los archivos. Si no lo cambiamos, la carpeta por defecto será ”…Pictures”, dentro del proyecto actual.
Después asignamos el nombre que queremos que tengan los archivos. En este caso sería “plano”. A este nombre se añaden automáticamente los sufijos. En este tutorial vamos a crear, además del normalmap un mapa de ambient occlusion, por lo que nuestros archivos tendrían de nombre: “plano_normal.tga” y “plano_ambocc.tga”. Como he dicho antes estos sufijos se pueden cambiar.
Seleccionamos las opciones “Normal in Tangent Space” y “Ambient Occlusion”. Establecemos la resolución dependiendo del tamaño final de la textura, en este caso usaremos 1024, y usaremos una calidad “High” (en teoría Highest aumenta el tiempo de renderizado, pero yo no he notado apenas diferencia).
Abajo de la PPG hay un botón llamado “Compute”. Lo que esto hace es calcular automáticamente la distancia de cálculo entre ambos objetos. Normalmente el cálculo que hace es suficiente, pero siempre hay zonas que no están cubiertas completamente por el objeto en baja poligonación. En esos casos siempre podemos mover la geometría ligeramente para, una vez generados los mapas, volverlo a dejar como estaba. En mi caso la distancia calculada es de “0,284”.
Ahora, en la PPG del Ultimapper nos vamos a la pestaña “Advanced”:
En la sección “Setup” tenemos que seleccionar el mapa de UV (si tenemos varios, si no XSI seleccionará automáticamente). Exactamente lo mismo pasa con “Tangents”. Dejaremos todo como está.
En la sección “Ambient Occlusion” modificamos las opciones a nuestro gusto. Son bastante auto explicativas. Con “Samples” ajustaremos la calidad del AO. Cuanto más alta, más tardará en renderizar.
La pestaña la “Preview Shader Tree” la dejaremos de momento.
Volvemos a la pestaña “General” y pulsamos en “Generate…” y empezará a renderizar. Esto tardará dependiendo de tu PC y de la calidad del AO sobretodo. En mi caso ha tardado algo menos de 5 minutos con las opciones por defecto.
Cuando termine tendremos 2 archivos, “plano_normal.tga” y “plano_ambocc.tga”:
Ahora nos vamos a la pestaña “Preview Shader Tree”.
Dependiendo de la tarjeta gráfica que tengamos, seleccionamos lo más parecido en la lista “Hardware”, en mi caso, “Geforce 3,4”, y en “Display” seleccionamos “OpenGL”
Para poder ver lo que hemos hecho, nos vamos a la parte superior derecha de la vista 3D, que normalmente pone o “Wireframe” (por defecto) o “Shaded”, pinchamos y en el menú nos vamos a “Realtime Shaders” y seleccionamos “OpenGL”, y deberíamos de ver algo así: