Jump to content
Sign in to follow this  
Jhonatan00_00

ANSWERED Bump Mapping Cambiar Geometria (SOLUCIONADO)

Recommended Posts

Buenas tardes, llevo tiempo tratando de crear en Unity texturas Bump Mapping y no se si será por la versión de Unity que estoy usando que es la 4.7.2, pero me he dado cuenta de que en el manual confunden una cosa con la otra y que al final en todos sitios han terminado llamando Bum Mapping al Normal Map cuando son cosas diferentes y que el Bump Mapping en Unity no se puede hacer.

El Normal Map es una textura que añade detalle dependiendo de la dirección de la luz, creando brillos y sombras artificiales, pero no modifica la geometría del objeto, mientras que el Bump Mapping remodela la geometria añadiendo pliegues, etc (subo una imagen con un ejemplo).

A la izquierda podemos ver el ejecto que produce el Normal Map (en Unity llamado Bump Map) y a la derecha podemos ver el efecto que crea el Bump Mapping

- ¿Como puedo crear algo así en Unity?.

Un saludo y gracias.

Bump_map_vs_Normal_Map.jpg

Edited by Jhonatan00_00

Share this post


Link to post
Share on other sites
19 minutes ago, Jhonatan00_00 said:

la versión de Unity que estoy usando que es la 4.7.2

:51_scream: hombre actualiza, esa la usaba yo en 2012 creo jajaj

19 minutes ago, Jhonatan00_00 said:

El Normal Map es una textura que añade detalle dependiendo de la dirección de la luz, creando brillos y sombras artificiales, pero no modifica la geometría del objeto, mientras que el Bump Mapping remodela la geometria añadiendo pliegues, etc (subo una imagen con un ejemplo).

No, bump mapping y normal mapping producen algo muy parecido, ambos son efectos "fake" que no modifican la geometría. La diferencia es que los Normal maps usan RGB (3 Bytes por pixel) para representar una normal (Vector3), cuando el bump usa escala de grises (1 Byte por pixel) para esto. Con el normal podés meter una normal inclinada vs una normal perpendicular del bumb (o por lo menos así lo entendí toda la vida). Hoy en día casi que se usa Normal maps o por lo menos es lo que más se ve, estos al estar representados en 3 canales podés expresar 3 componentes <x,y,z>.

Probablemente te hayas confundido con height maps vs normal maps (?).

19 minutes ago, Jhonatan00_00 said:

- ¿Como puedo crear algo así en Unity?.

No estoy 100% seguro, pero en su momento recuerdo que debías tener hardware compatible con DX11, habilitar tesselation, usar un material con "height map" y meterle el "height map" deseado.

Aca te dejo un vid con Unity 4 + tesselation;

https://www.youtube.com/watch?v=YlR69pXb0oY

 

Saludos

Edited by lightbug
  • Like 1

Share this post


Link to post
Share on other sites

El Standard Shader de las últimas versiones de Unity soporta varios métodos. La propia doc de Unity es bastante decente en este sentido:

Llaman bump mapping al normal mapping, pero dejan claro que es algo informal, y que  "normal mapping" es un tipo de bump mapping.

El Standard Shader ahora soporta "height maps" y "occlusion maps", que son también técnicas de bump mapping. Además no son exclusivas.

  1. Normal Maps (o en unity, simplemente "Bump maps"): Afectan al ángulo de la luz al rebotar sobre la superficie, y nos permite dar sensación de relieve que se comporta corectamente respecto a la iluminación.
    1. En esta página hay un apartado llamado "What’s the difference between Bump Maps, Normal Maps and Height Maps?"
    2. Unity acepta texturas black and white y las convierte internamente a RGB (normales X, Y, Z) para los normal maps.
  2. Height Maps (o Parallax Maps):
    1. Al contrario que los normal maps, que trabajan sobre la luz, los Height Maps calculan realmente el pixel desplazado donde estaría de acorde al relieve, haciendo que píxeles más cercanos aparezcan más grandes respecto a la cámara.
    2. Además, las partes con más relieve taparán a las de menos relieve.
    3. Es más costosa para la GPU. 
    4. Se usan a menudo junto a Normal Maps.
    5. La fuente es una textura en grises.
  3. Occlusion Maps:
    1. Afectan a la cantidad de luz indirecta que debe recibir cada parte del material.

Recomiendo encarecidamente leer las tres páginas.

Aquí debajo tenemos: 1) Albedo 2) Albedo + Normal 3) Albedo + Normal + Height

StandardShaderParallaxMap.jpg

Observa, sin embargo, que ninguna de estas técnicas permite que los bordes de los polígonos presenten relieve. Esto no se puede hacer en una GPU, y el ejemplo de la bola que muestras arriba parece otra técnica llamada "displacement mapping", que Unity no soporta de serie.

Edited by J Montes
  • Like 3

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...