Este tutorial pretende ofrecer un
truco/principio para realizar un buen normalMap, especialmente
orientado a modelos inorgánicos. Así que trabajaremos con un dado.
Para ello deberiamos tener los siguientes elementos:
La idea de un normalMap es transferir
información del modelo HP al LP, codificada en una textura para no
tener que aumentar el recuento de triángulos del modelo LP para que
éste luzca más parecido al HP. Se puede resumir así:
El modelo LP sigue teniendo 44 tri pero,
gracias al normalMap, las aristas parecen redondeadas e incluso los
puntos del dado quieren hacernos creer que tienen profundidad
En el flujo de trabajo habitual, la costumbre es empezar por un modelo muy parecido al LP, la forma básica,
e ir añadiéndole detalle (redondeos en las aristas, suavizado subdivisión poligonal p.ej.) hasta
conseguir el HP deseado. Es casi inevitable por tanto, que la superposición
de los modelos HP y LP queden así:
Entonces el modelo LP queda alineado o ligeramente por fuera del HP. Las aristas son un claro
ejemplo que se puede observar en el detalle A. Si a partir de estos
modelos generamos el normalMap, el resultado será el siguiente:
En principio
parece correcto. Las agujeros, sobretodo, quedan de la mejor manera
que pueden quedar gracias a un normalMap. Pero si nos fijamos en las
aristas se puede observar un error en la iluminación:
La forma para
evitar estas discontinuidades de la iluminación por normalMap radica
en la ubicación de las caras/aristas del modelo LP respecto al HP.
El truco es hacer que las aristas del LP coincidan con la superficie
del modelo HP:
Reitero: las aristas del modelo LP justo en la
superficie del HP. Hay una forma muy sencilla para
conseguirlo: aplicar un operador push sobre cualquiera de los dos
modelos; el HP lo haríamos crecer, por el contrario el LP decrecer
hasta que las aristas del modelo LP coincidan con la superficie
del modelo HP:
De esta manera,
el normalMap nos ofrecerá el mejor resultado posible
No comments:
Post a Comment