Motion Blur en EEVEE
Hola todos, hice un script en python que resuelve temporalmente la falta de Motion Blur en EEVEE. Actualmente está la opción pero sólo funciona con movimientos de cámara, no de objetos ni partículas. Tampoco funciona si la cámara está controlada por un rig o emparentada a un empty.
La relación tiempo/calidad de los renders de eevee hace muy tentador usarla en producción, pero la falta de motion blur en algunos casos es una barrera insalvable que la baja del podio. Por eso le quise buscar la vuelta y más o menos se la encontré. Ahora mismo estoy usando esta técnica para mi trabajo y viene funcionando bien. Por eso lo comparto con todos, ojalá les sirva. Al día de hoy es un script en python medio desprolijo, planeo limpiar el código y meterlo en un addon más elegante. Y ojalá pronto las prioridades de los devs permitan que se arregle oficialmente el motion blur y esto quede obsoleto.
El workflow es muy sencillo:
- Hay que conectar un nodo Viewer en el compositor que reciba la misma imagen de entrada que el Render Output (debido a una limitación/bug de la API que no permite levantar la imagen del RO)
- La cantidad de muestras del motion blur las toma de la configuración de eevee (más muestas, mejor calidad, más tiempo de render)
- lo mismo con el shutter, lo toma del panel de MB de eevee (la default de 0.5 es el valor correcto para que el blur sea similar al de una cámara de cine standard)
- el render lo saca como una secuencia de EXR en la carpeta seteada para sacar los renders
- Con todo listo (graban) y ejecutan el script. Si tienen la consola (la del shell) abierta ahí pueden ver cómo va la cosa.
- Así como está hoy no hay una forma elegante de cancelar el render, salvo darle furiosamente a CTL+C en la consola, en ese caso, ojo que les va a quedar los seteos del render todos raros, hagan revert (por eso grabar antes). Si el script termina bien por las buenas no es necesario revertir, todos lo que cambios lo vuelve atrás el script.
Eso, que lo disfruten