Pin It

Render y animación del Mercedes-AMG F1 W12

Render y animación del Mercedes-AMG F1 W12

2021 fue una de las temporadas más emocionantes de la historia de la Fórmula 1, con dos campeonatos en juego que se definirían en la última carrera del año, el Gran Premio de Abu Dhabi. El equipo Mercedes-AMG Petronas F1 socios de AMD terminaron la temporada en lo más alto, consiguieron un octavo Campeonato Mundial de Constructores de Fórmula Uno de la FIA.

Para celebrar esta colaboración y la temporada del equipo, trabajamos con nuestros amigos de la firma The Pixelary para crear un vídeo de animación en 3D del coche ganador del campeonato en 2021, el Mercedes-AMG F1 W12 E Performance.

Esta animación es la continuación de los fondos de pantalla renderizadas en 3D del W12 E Performance publicadas en 2020. Sin embargo, en lugar de utilizar nuestro plug-in del motor de renderizado Radeon ProRender con Blender como hicimos para los fondos y la animación de 2020, esta vez decidimos crear la animación en Blender 3.0.y utilizamos dos tarjetas gráficas AMD Radeon PRO W6800 con el renderizador Cycles.

Esta animación es una muestra de la compatibilidad del software Blender 3.0 (para creación de contenidos digitales en 3D) con los GPUs AMD, y aquí, nos gustaría dar una explicación de Mike Pan miembro de la agencia The Pixelary, sobre cómo se hizo y los beneficios de usar tarjetas gráficas AMD Radeon con el programa Blender 3.0.

Creación de la animación en Blender 3.0 con AMD HIP

En el lanzamiento del software Blender 3.0, el proyecto conocido como "Cycles X" dio a los usuarios un beneficio en desempeño. Al mismo tiempo, el antiguo backend OpenCL de Blender 2.9x fue sustituido por la API AMD HIP (Heterogeneous-computing Interface for Portability). En pocas palabras, HIP permite a Cycles sea desarrollado utilizando una única ruta de código unificada para las GPUs y CPUs de AMD y NVIDIA. Lo que esto significa para los diseñadores, es que podemos esperar una mejor paridad de características entre las CPU y las GPU de distintos proveedores.

AMD HIP genera velocidades de renderizado más rápidas para las tarjetas gráficas AMD Radeon compatibles (1) esta compatibilidad está validada en las GPU desktop AMD Radeon PRO W6800 y RX 6000 además en tarjetas gráficas de arquitectura AMD RDNA y RDNA 2.

Con estas nuevas capacidades de render, hemos creado una breve animación utilizando Blender 3.0 con dos tarjetas gráficas Radeon Pro W6800 facilitadas por AMD. Tras haber creado 60 fondos de pantalla del auto Mercedes-AMG F1 W12 con Radeon ProRender, teníamos muchas ideas sobre cómo queríamos dar vida al coche en una animación.

Conversión de Radeon ProRender a Cycles

En primer lugar, tuvimos que adaptar el activo del auto que fue hecho originalmente para Radeon ProRender a Cycles. Por suerte, nuestro proyecto de Blender Radeon ProRender ya utiliza la red de sombreado Blender de forma nativa, por lo que los materiales funcionan en Cycles. El único cambio fue algunas banderas de visibilidad de rayos que tuvieron que ser establecidas para los detalles del coche. Jugar con la visibilidad de los rayos es lo que nos ha permitido añadir detalles superficiales, como los huecos de los paneles y los tornillos de la carrocería, sin que proyecten sombras o reflejos no deseados, lo que hará que parezca que están flotando. Añadir detalles de esta manera es mucho más flexible y no requiere que dividamos la carrocería del coche en muchas piezas.

Conversión de Radeon ProRender a Cycles

Viéndolo desde OpenGL Eevee

Después de tener los activos digitales listos era hora de evaluar el desarrollo. Queríamos hacer escenas que se vieran muy bien y que utilizaran todas las funciones que Cycles puede ofrecer. La volumetría, el gran número de luces y el desenfoque de movimiento fueron las tres primeras opciones ya que han representado ciertos retos para muchos motores de renderizado.

Viéndolo desde OpenGL Eevee

Nos centramos mucho en la iluminación durante esta etapa, ya que el coche es negro y muy brillante, la mayor parte de su forma proviene de los reflejos especulares. El renderizado en el software Blender 3.0 combinado con la velocidad de la GPU, hizo que experimentar con la iluminación fuera un placer. Podemos ver exactamente cómo caerán las luces sobre el coche en tiempo real. Hicimos el pase inicial en el renderizador OpenGL Eevee dentro de Blender, y luego pasamos a Cycles una vez que logramos un aspecto que nos gustaba y continuamos el proceso de refinamiento.

renderizador OpenGL Eevee dentro de Blender

Para la toma desde el paddock, el resultado de Eevee es similar al render de Cycles. En otras tomas, como la de la pista, la falta de trazado de rayos real en Eevee es evidente, pero aun así nos dio una buena aproximación al preparar la toma.

el resultado de Eevee es similar al render de Cycles

el resultado de Eevee es similar al render de Cycles

Render final y performance

A la hora de realizar el renderizado final lo hicimos a 4K con un alto número de muestras para conseguir la máxima calidad posible. Se añadió un tratamiento de eliminación de ruido para suavizar más la imagen. Al usar AMD HIP, no hay el habitual retraso inicial mientras se compila el kernel de renderizado porque el kernel HIP viene con Blender. Esto significa que el render comienza inmediatamente en cuanto pulsamos "F12".

Render final y performance


El aumento de performance del Blender 2.93 a Blender 3.0 es bastante impresionante. El tiempo de renderizado se redujo casi a la mitad al cambiar de versión. El uso de dos GPUs al mismo tiempo baja el tiempo de renderizado a la mitad.

Eliminar el ruido temporal para un render más rápido

No todo el mundo tiene acceso a las GPU más avanzadas, así que investigamos cómo podríamos haber mejorado el tiempo de render utilizando la eliminación de ruido temporal (no se utilizó para la animación final del vídeo).

Eliminar el ruido temporal del render


La idea básica de la eliminación de ruido temporal es renderizar cada cuadro o “frame” con un número de muestras menor y luego fusionar varios frames para reducir el ruido. Este método funciona muy bien en las tomas con poco movimiento, ya que la diferencia entre los cuadros es pequeña. A pesar de ello, la simple mezcla de los cuadros sigue dando lugar a imágenes fantasma, por lo que utilizamos los datos de los vectores de movimiento para fusionarlos de una forma más inteligente utilizando un truco bien conocido.

Como resultado, mezclando 3 cuadros juntos y renderizando cada uno a 1/3 del número de muestras, podemos reducir nuestro tiempo de renderizado en 3 veces sin prácticamente ningún artefacto. (2)

Juntar todo

El vídeo final se montó con el secuenciador de Blender. Es un editor de vídeo simple y capaz de hacer el trabajo para los fines de este video.

secuenciador de Blender

 

Gracias a todos los involucrados

Gracias, Mike, por darnos esta explicación sobre cómo se creó esta animación 3D del Mercedes-AMG F1 W12 E Performance. Es una espectacular muestra animada de las capacidades de las tarjetas AMD en Blender 3.0 con Cycles, con este video celebramos la temporada 2021 del equipo Mercedes-AMG Petronas F1 y el título del Campeonato de Constructores.

En nombre de todos en AMD, me gustaría dar un agradecimiento al equipo de The Pixelary por todo el trabajo que han puesto en este proyecto. También nos gustaría dar las gracias al equipo de Fórmula 1 Mercedes-AMG Petronas por toda la ayuda que han prestado para hacer posible la creación de las imágenes de fondo de pantalla renderizadas y esta animación. Esperamos que en la temporada 2022 de F1 tengamos la mejor de las suertes.

 

Por: Alexander Blake Davies de AMD

1.-Pruebas realizadas por AMD Performance Labs a partir del 26 de noviembre de 2021, en AMD Radeon™ PRO W6800 con el controlador "RC-13 21.Q4 beta Nov 8" de AMD Radeon™ PRO Software preliminar, en un sistema de prueba compuesto por un Intel ® Core™ i5-9400 CPU de 6 núcleos, 16 GB de RAM DDR4-2400, placa base ASRock Z390 Taichi con BIOS versión P4.30 en la configuración predeterminada y actualización de Windows® 10 Pro de octubre de 2020. Aplicación de referencia: Blender® 2.93.5 Cycles usando OpenCL™ y Blender® 3.0 Cycles X usando AMD HIP API renderizando Blender® “Agent 327 Barbershop”, “Cosmos Laundromat Demo”, “Classroom”, “Car Demo”, “Monster Escenas Bajo la cama”, “Monje solitario”, “Pabellón de Barcelona” y “Plano italiano” con 800, 600, 300, 1.225, 1.024, 4.096, 1.000, 576 muestras, respectivamente. Se registró el tiempo de proceso promedio de tres ejecuciones en segundos (cuanto menos, mejor). Las puntuaciones se basan en mediciones de laboratorio interno de AMD y pueden variar. RPS-139.

2.- Las pruebas no verificadas por independientes, solo por AMD. GD-182