Las técnicas de post processing en el desarrollo de videojuegos son muy interesantes ya que el tiempo que consumen es constante, es decir depende de la complejidad de la escena. Existen muchísimos efectos de este tipo en videojuegos, pero algunos de los más conocidos pueden ser:
- B&W (black and white): Efecto con el que conseguimos el render de la escena en monocromo, y da una sensación de las fotos antiguas pero en tiempo real, usado en juegos desde “Hollywood Monster” hasta “Max Payne”.
- Sepia: Efecto de película antigua que se usa en los juegos de aventura acción u aventuras gráficas para recordar algo que paso con anterioridad.
- Bloon: Efecto con el que los brillos te deslumbran, el cuál además está de moda ya que da una sensación de realismo y de acabado final muy profesional. Lo puedes observar en todos los juegos de última generación como “Gears Of War” ó “Need for Speed Most Wanted”.
Este efecto es algo más pesado que los anteriores porque realiza varias pasadas para conseguir el acabado final. Lo primero que hace es aplicarle al buffer del render un efecto de saturación, para quedarse con todo aquello que más brille de la escena y todo lo demás lo deja negro, el segundo paso es aplicarle un Gaussian blur horizontal a esa imagen saturada, el tercer paso es aplicar otro Gaussian blur pero esta vez en vertical, y por último lo que hacemos es combinar la imagen original con la imagen resultante de los tres pasos anteriores.
- Depth of field: efecto que tenemos con cualquier cámara de video en la que lo que enfoques está nítido, mientras lo que está delante o detrás en el eje Z estará borroso según la distancia a la que esté del plano de nitidez. Este efecto tiene un resultado muy interesante, y puedes observarlo en juegos como el “Gears of War”, “Fifa 07″ ó “Virtual Tennis”.
- Motion blur: Este efecto da una sensación de cámara lenta y era una de las cosas que más me gustaban de juegos como el “Metal Gears Solid”. Consiste en coger una tira de frames y superponerlas todas en uno solo aplicándole un grado de alfa según la antigüedad de la imagen.
- Radial Blur: Efecto usado en los juegos de coches y aviones para aplicar una sensación de velocidad, usado normalmente para cuando presionas el turbo.
Bueno en otro post me centraré más detenidamente en cada una de estas técnicas, pero por ahora simplemente comentar que acabo de subir un nuevo componente a XNACommunity de PostProcessing con el cual mediante dos líneas de código:
PostProcessing post = new PostProcessing(this);
this.Components.Add(post);
Podréis incorporar un efecto de “negativo” a vuestros juegos, y ya estoy preparando otros, por los que pronto podréis también descargarlos de http://www.codeplex.com/XNACommunity.
La info es realmente interesante. Nunca me había preocupado por intentar cargar efectos en XNA, pero es enormemente sencillo. Lo divertido es que teniéndolos a base de componentes, la cosa se simplifica mucho más.
Sin duda muy buen trabajo. Mis felicitaciones, mr J.