Animación basada en la física - Physically based animation

La animación basada en la física es un área de interés dentro de los gráficos por computadora que se ocupa de la simulación de comportamientos físicamente plausibles a velocidades interactivas. Los avances en la animación basada en la física suelen estar motivados por la necesidad de incluir comportamientos complejos e inspirados físicamente en los videojuegos, las simulaciones interactivas y las películas. Aunque existen métodos de simulación fuera de línea para resolver la mayoría de los problemas estudiados en la animación basada en la física, estos métodos están pensados ​​para aplicaciones que requieren precisión física y cálculos lentos y detallados. A diferencia de los métodos comunes en la simulación fuera de línea, las técnicas de la animación basada en la física se refieren a la plausibilidad física, la estabilidad numérica y el atractivo visual sobre la precisión física. La animación basada en la física a menudo se limita a aproximaciones vagas de los comportamientos físicos debido a las estrictas limitaciones de tiempo impuestas por las aplicaciones interactivas. La velocidad de fotogramas objetivo para aplicaciones interactivas como juegos y simulaciones suele ser de 25 a 60 hercios , y solo queda una pequeña fracción del tiempo asignado a un fotograma individual para la simulación física. Los modelos simplificados de comportamientos físicos generalmente se prefieren si son más eficientes, más fáciles de acelerar (mediante pre-cálculo, estructuras de datos inteligentes o SIMD / GPGPU ), o satisfacen propiedades matemáticas deseables (como estabilidad incondicional o conservación de volumen cuando un cuerpo blando sufre deformación). Los detalles finos no son importantes cuando el objetivo primordial de una visualización es el atractivo estético o el mantenimiento de la inmersión del jugador, ya que estos detalles a menudo son difíciles de notar para los humanos o son imposibles de distinguir a escala humana.

Historia

La animación basada en la física es ahora común en películas y videojuegos, y muchas técnicas fueron pioneras durante el desarrollo de las primeras escenas de efectos especiales y motores de juegos. Star Trek II: The Wrath of Khan utilizó sistemas de partículas en la escena de la explosión de Génesis para crear el efecto visual de una onda de choque en llamas que envolvía un planeta. A pesar de haber sido lanzado antes de que los motores de física fueran una característica común en los juegos, System Shock incorporó la física rígida del cuerpo en su motor y fue ampliamente considerado innovador por esta característica y la novedosa sensación de interacción que brindaba a los jugadores. Más tarde, Valve desarrolló Half-Life y utilizó la física del cuerpo rígido para crear acertijos ambientales para el jugador, como obstáculos que no se podrían alcanzar sin apilar cajas. Half-Life 2 presentó un motor de física más avanzado que incorporó sistemas restringidos como poleas o palancas con más acertijos ambientales para mostrar estas características. Los motores de física son ahora mucho más comunes en los juegos, y su aparición frecuente ha motivado la investigación de la animación basada en la física por parte de empresas como Nvidia .

Animación de base física en juegos y simulaciones

La animación basada en la física es común en juegos y simulaciones donde los usuarios esperan interactuar con el entorno. Los motores de física como Havok , PhysX y Bullet existen como productos desarrollados por separado para ser licenciados e incluidos en los juegos. En juegos como Angry Birds o World of Goo , la animación física es en sí misma la mecánica principal del juego y se espera que los jugadores interactúen o creen sistemas físicamente simulados para lograr los objetivos. Los aspectos de los juegos de rompecabezas de física existen en muchos juegos que pertenecen a otros géneros pero cuentan con simulación basada en la física. Permitir la interacción física con el entorno a través de la animación basada en la física promueve soluciones no lineales a los acertijos por parte de los jugadores y, a veces, puede dar como resultado soluciones a problemas presentados en juegos que no fueron incluidos deliberadamente por los diseñadores de niveles. Las simulaciones que se utilizan para fines distintos al entretenimiento, como las simulaciones militares, también utilizan animaciones basadas en la física para representar situaciones realistas y mantener la inmersión de los usuarios. Muchas técnicas de animación física están diseñadas teniendo en cuenta las implementaciones de GPGPU o pueden extenderse para beneficiarse del hardware de gráficos, que se puede utilizar para realizar simulaciones físicas lo suficientemente rápidas para los juegos. Sin embargo, el tiempo de la GPU a menudo se reserva para la renderización, y las transferencias de datos frecuentes entre el host y el dispositivo pueden convertirse fácilmente en un cuello de botella para el rendimiento.

Animación basada en la física en películas

Las simulaciones se pueden realizar sin conexión (aparte de cuando se ven) en el desarrollo de efectos especiales para películas. Por lo tanto, la velocidad no es estrictamente una necesidad en la producción de efectos especiales, pero sigue siendo deseable para una respuesta razonablemente sensible y porque el hardware necesario para los métodos más lentos es más caro. Sin embargo, todavía se prefiere la animación basada en elementos físicos porque los métodos más lentos y precisos pueden ser costosos y limitantes. La precisión física de los pequeños detalles en un efecto especial no es significativa para su atractivo visual, restringe la cantidad de control que los artistas y directores pueden ejercer sobre el comportamiento y aumenta el costo monetario y el tiempo requerido para lograr resultados. Es necesario poder dictar el comportamiento de alto nivel de los efectos de inspiración física en las películas para lograr la dirección artística deseada, pero escribir un guión de comportamientos físicos en el nivel de los pequeños detalles puede ser inviable cuando hay fluidos, humo o muchos objetos individuales. involucrado. La animación basada en la física generalmente brinda más control al artista sobre la apariencia de los resultados simulados y también es más conveniente cuando los efectos deseados pueden doblar o desafiar la física.

Subtemas

Simulación de cuerpo rígido

La física simplificada del cuerpo rígido es relativamente barata y fácil de implementar, razón por la cual apareció en juegos interactivos y simulaciones antes que la mayoría de las otras técnicas. Se supone que los cuerpos rígidos no se deforman durante la simulación, por lo que el movimiento del cuerpo rígido entre los pasos de tiempo se puede describir como una traslación y rotación, tradicionalmente utilizando transformaciones afines almacenadas como matrices 4x4. Alternativamente, los cuaterniones se pueden usar para almacenar rotaciones y los vectores se pueden usar para almacenar los objetos desplazados desde el origen. Los aspectos computacionalmente más costosos de la dinámica de cuerpos rígidos son la detección de colisiones , la corrección de la interpenetración entre los cuerpos y el entorno y el manejo del contacto en reposo. Los cuerpos rígidos se simulan comúnmente de forma iterativa, con retroceso para corregir el error utilizando intervalos de tiempo más pequeños. El contacto en reposo entre múltiples cuerpos rígidos (como es el caso cuando los cuerpos rígidos caen en pilas o se apilan) puede ser particularmente difícil de manejar de manera eficiente y puede requerir gráficos complejos de contacto y propagación de impactos para resolver utilizando métodos basados ​​en impulsos. Al simular un gran número de cuerpos rígidos, a menudo se utilizan geometrías simplificadas o cascos convexos para representar sus límites con el fin de detectar y responder a colisiones (ya que este es generalmente el cuello de botella en la simulación).

Simulación de cuerpo blando

Los cuerpos blandos se pueden implementar fácilmente utilizando sistemas de malla de resorte. Los sistemas de malla de resorte están compuestos de partículas simuladas individualmente que se atraen entre sí mediante fuerzas de resorte simuladas y experimentan la resistencia de los amortiguadores simulados. Las geometrías arbitrarias se pueden simular más fácilmente aplicando fuerzas de resorte y amortiguador a los nodos de una celosía y deformando el objeto con la celosía. Sin embargo, las soluciones explícitas para estos sistemas no son muy estables numéricamente y son extremadamente difíciles de controlar el comportamiento de los parámetros del resorte. Las técnicas que permiten cuerpos blandos físicamente plausibles y visualmente atractivos, son numéricamente estables y pueden ser configuradas bien por los artistas eran prohibitivamente caras en la historia del juego temprano, por lo que los cuerpos blandos no eran tan comunes como los cuerpos rígidos. La integración con los métodos de Runge-Kutta se puede utilizar para aumentar la estabilidad numérica de técnicas inestables como las mallas de resorte o se pueden usar pasos de tiempo más finos para la simulación (aunque esto es más costoso y no puede hacer que las mallas de resorte sean estables para fuerzas arbitrariamente grandes). Técnicas como la combinación de formas y la dinámica basada en la posición abordan estos problemas con juegos interactivos y simulaciones en mente. La dinámica basada en la posición se utiliza en los principales motores de juegos como Bullet (software) , Havok y PhysX . La estabilidad incondicional y la facilidad de configuración son propiedades particularmente deseables de las simulaciones de cuerpos blandos que pueden ser difíciles de lograr con los sistemas de malla de resorte, aunque todavía se usan a menudo en los juegos debido a su simplicidad y velocidad.

Simulación de fluidos

La dinámica de fluidos computacional puede ser costosa y las interacciones entre múltiples cuerpos de fluidos o con objetos / fuerzas externos pueden requerir una lógica compleja para evaluar. La simulación de fluidos generalmente se logra en los videojuegos simulando solo la altura de los cuerpos de agua para crear el efecto de olas, ondulaciones u otras características de la superficie. Para cuerpos de líquido relativamente libres, los métodos lagrangianos o semilagrangianos se utilizan a menudo para acelerar la simulación al tratar las partículas como elementos finitos de fluido (o portadores de propiedades físicas) y aproximar las ecuaciones de Navier-Stokes . Es poco común simular cuerpos de fluidos en juegos, aunque las características de la superficie se pueden simular usando métodos similares y las simulaciones de fluidos se pueden usar para generar texturas o campos de altura para representar agua en tiempo real sin simulación en tiempo real (esto se hace comúnmente para grandes masas de agua en juegos). Las simulaciones de fluidos se pueden calcular utilizando hardware de gráficos básicos a través de GPGPU , y los campos de altura se pueden calcular de manera eficiente que dan como resultado un comportamiento ondulatorio utilizando los métodos Lattice Boltzmann . Alternativamente, las características de la superficie y las ondas se pueden simular como partículas y un campo de altura generado a partir de las partículas simuladas en tiempo real. Esto también permite una interacción bidireccional eficiente entre el fluido y los objetos flotantes.

Sistemas de partículas

Los sistemas de partículas son una técnica extremadamente popular para crear efectos visuales en películas y juegos debido a su facilidad de implementación, eficiencia, extensibilidad y control del artista. El ciclo de actualización de los sistemas de partículas generalmente consta de tres fases: generación, simulación y extinción. Estas fases consisten respectivamente en la introducción de nuevas partículas, simulándolas a través del siguiente paso de tiempo y eliminando las partículas que han excedido su vida útil. Los atributos físicos y visuales de las partículas generalmente se asignan al azar en la generación con el rango y distribución de atributos controlados por el artista. Además, los sistemas de partículas se pueden hacer para generar sistemas de partículas ellos mismos para crear efectos más complejos y dinámicos, y su comportamiento de alto nivel se puede coreografiar a través de un marco de operadores como en el artículo canónico de Sims. Los primeros juegos que representaban sistemas de partículas sufrían de artefactos de recorte cuando las partículas se cruzaban parcialmente con la geometría del entorno, y este artefacto era especialmente notable para las partículas grandes (que a menudo se usaban para representar el humo). Las partículas blandas abordan estos artefactos mediante el sombreado cuidadoso y la manipulación de la transparencia de las partículas, de modo que las partículas se vuelven más transparentes a medida que se acercan a las superficies.

Flocado

En la animación de base física, el agrupamiento se refiere a una técnica que modela el comportamiento complejo de aves, bancos de peces y enjambres de insectos utilizando fuerzas virtuales. Estas fuerzas virtuales simulan la tendencia de las bandadas a centrar sus velocidades, evitar colisiones y aglomeraciones y moverse hacia el grupo. En estas simulaciones, los miembros individuales de la bandada (a veces llamados boids, abreviatura de bird-oid) actúan sin colaboración utilizando solo información sobre la posición y la velocidad de sus compañeros para crear la ilusión de un comportamiento grupal sincronizado de manera eficiente. El agrupamiento también se puede utilizar para aproximar de manera eficiente el comportamiento de multitudes de humanos, y los métodos basados ​​en el agrupamiento se utilizan a menudo para multitudes de NPC en los juegos. Unreal y Half-Life estuvieron entre los primeros juegos en implementar el flocado, que se utilizó para modelar el comportamiento de las aves y las criaturas voladoras presentes en los niveles al aire libre.

Animación de personajes basada en la física

Los personajes en juegos y simulaciones se animan tradicionalmente a través de métodos como los fotogramas clave que definen animaciones a través de composiciones de movimientos estáticos más pequeños secuenciados para transmitir un comportamiento más complejo. Visualmente, estos métodos estáticos no pueden transmitir fácilmente interacciones complejas con el entorno y dificultan la realización del movimiento realista de los personajes. Las técnicas de animación de personajes con base física logran animaciones dinámicas que responden a la interacción del usuario, eventos externos y el entorno mediante la optimización de movimientos hacia objetivos específicos dadas las limitaciones físicas como la minimización de energía. La adopción de la animación de personajes basada en la física, a diferencia de los métodos más estáticos, ha sido lenta en la industria del juego debido al mayor costo y la complejidad asociados con su uso. La animación de personajes basada en la física se ha utilizado en la serie de videojuegos Skate (videojuego) y en el juego de disparos en primera persona desarrollado de forma independiente StarForge .

Referencias