Jhonatan00_00 15 Report post Posted January 16, 2020 (edited) 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. Edited January 17, 2020 by Jhonatan00_00 Share this post Link to post Share on other sites
lightbug 832 Report post Posted January 16, 2020 (edited) 19 minutes ago, Jhonatan00_00 said: la versión de Unity que estoy usando que es la 4.7.2 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 January 16, 2020 by lightbug 1 Share this post Link to post Share on other sites
J Montes 70 Report post Posted January 19, 2020 (edited) 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. 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. En esta página hay un apartado llamado "What’s the difference between Bump Maps, Normal Maps and Height Maps?" Unity acepta texturas black and white y las convierte internamente a RGB (normales X, Y, Z) para los normal maps. Height Maps (o Parallax Maps): 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. Además, las partes con más relieve taparán a las de menos relieve. Es más costosa para la GPU. Se usan a menudo junto a Normal Maps. La fuente es una textura en grises. Occlusion Maps: 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 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 January 20, 2020 by J Montes 3 Share this post Link to post Share on other sites