Unity y Havok Physics para proyectos basados en DOTS

Crea mundos dinámicos, interactivos y llenos de detalles con C# Data-Oriented Technology Stack de Unity.

Dos sistemas de física, un protocolo de datos

La solución de física consiste en dos ofertas: Unity Physics y Havok Physics. Ambas están basadas en el marco de trabajo de DOTS, por lo que utilizan el mismo protocolo de datos.

Esto te permitirá hacer una transición sencilla de tus proyectos entre los sistemas de física sin tener que rediseñar tu contenido o reescribir el código de tu juego.

Independientemente de si utilizas Unity Physics, Havok Physics o ambos al mismo tiempo, el protocolo unificado de datos te permite crear el contenido una sola vez y simularlo con cualquier sistema habilitado para DOTS.

Detrás de las cámaras: la sociedad entre Unity y Havok

En colaboración con Havok, desarrollamos un nuevo motor de física basado en la tecnología de DOTS.

Escucha a Shawn McClelland (gerente de producto de Unity) y Joel Van Eenwyk (ingeniero de aplicaciones de campo de Havok) mientras explican la manera en que nos asociamos para crear los sistemas sobre el marco de trabajo de DOTS, el cual te permite crear simulaciones de física con un rendimiento excepcional y compatibles con las necesidades de las redes modernas.

Unity Physics y Havok Physics

Unity Physics y Havok Physics están creados sobre el marco de trabajo de pila de tecnología basada en datos (Data-Oriented Technology Stack, o DOTS). Puedes hacer la transición de un proyecto de una solución a la otra, y estas se pueden ejecutar simultáneamente. Son compatibles con los datos y te permiten utilizar las herramientas y los flujos de trabajo potentes de Unity.

Unity Physics

Rápida. Ligera. Sin estado. Personalizable. Este es el lema de nuestra nueva solución Unity Physics.

Está creada sobre el marco de trabajo C# DOTS de Unity, está lista para trabajar en red, es completamente personalizable y está diseñada para ofrecer el mejor rendimiento con la configuración de fábrica. Si estás diseñando el próximo éxito móvil o una nueva experiencia de multijugador en red para consolas, Unity Physics aprovecha el compilador Burst y el sistema Job System para permitir el escalamiento en una gran variedad de hardware.

Unity Physics está en la versión de vista previa, disponible mediante el Package Manager, y es compatible con la versión 2019.1 de Unity y posteriores.

Havok Physics

Havok Physics
Havok Physics representa una solución de alto nivel para los clientes que necesitan producir simulaciones complejas de física. Está impulsada por el motor de Havok Physics, que es el líder de su sector y se utiliza en más de la mitad de los títulos más importantes de esta generación de consolas. Está escrito con el mismo marco de trabajo de C# DOTS que Unity Physics, pero incluye las funciones, el rendimiento, la estabilidad y la funcionalidad del motor original de código cerrado de Havok Physics, que está escrito en C++ nativo.

Consulta la documentación para averiguar cómo puedes obtener acceso a Havok Physics.

Rendimiento 
Havok Physics está altamente optimizado para los casos de uso más frecuentes en los juegos. Los algoritmos básicos se han refinado con el paso de los años y las diferentes estrategias de almacenamiento automático en caché, como la habilitación del modo de suspensión para los objetos inactivos, permiten que los recursos del CPU se utilicen únicamente donde se necesitan. 

Mira el video titulado "Integración de Havok Physics con Unity: rendimiento" en YouTube 

Comportamiento
Havok Physics es un motor de física sólido diseñado para cubrir las demandas de rendimiento de los juegos con mayor intensidad de gráficos, los cuales suelen incluir escenas complejas con mucha interacción de física. Al trabajar con diferentes socios del sector durante más de 20 años, Havok ha descubierto y resuelto muchos de los problemas más difíciles que enfrentan las simulaciones de física, además de que continúa iterando en varios de ellos. Esto permite un apilamiento estable de los cuerpos de física, errores mínimos cuando los cuerpos se mueven rápidamente y un comportamiento más controlado en general, especialmente al trabajar con geometría de colisión no optimizada. 

Mira los videos titulados "Estabilidad de apilamiento" y "Soldadura de mallas" en YouTube

Preguntas frecuentes

¿Qué significa "determinista"?

El concepto de "determinismo" se refiere al intento de obtener el mismo resultado en una simulación física cuando se ingresa el mismo conjunto de datos. Tanto Unity Physics como Havok Physics ofrecen resultados deterministas. Sin embargo, debido a que las diferencias en las arquitecturas del CPU (x86, ARM, etc.) producen pequeñas diferencias en sus cálculos matemáticos, los resultados deterministas de la simulación pueden ser diferentes en distintos tipos de hardware.

Debido a que Burst resolverá el problema del determinismo entre diferentes arquitecturas en los próximos meses, Unity Physics también se beneficiará automáticamente de esta función, lo que significa que la simulación será la misma en cualquier dispositivo.

Nota: para el determinismo en una sola arquitectura, Unity Physics requerirá una actualización posterior de Burst.

¿Qué significa "física sin estado"?

La mayoría de los motores de física, incluyendo a Havok, logran un buen rendimiento y estabilidad al realizar optimizaciones inteligentes, como el almacenamiento en caché de varias partes del estado del mundo para omitir o estabilizar diferentes cálculos. En lugar de esto, la física sin estado alcanza un buen rendimiento por medio de las optimizaciones de fuerza bruta. Debido a esto, y debido a que las versiones futuras de Burst serán capaces de ejecutarse entre diferentes arquitecturas, puede representar un beneficio para varios casos de red diferentes. Por otro lado, hay algunos casos en los que Havok puede alcanzar un mayor nivel de rendimiento y estabilidad.

¿Cómo afecta la física sin estado a los juegos en red?

Ya que la física sin estado se podrá ejecutar de forma determinística en diferentes arquitecturas de CPU en las versiones futuras de Burst, estará lista y será fácil de usar para diferentes configuraciones de red, como la predicción del lado del cliente (p. ej., FPS), simulación del cliente de paso fijo (p. ej., RTS), y GGPO/reversión (p. ej., juegos de peleas).

¿Cuáles son los beneficios de utilizar Havok Physics en mis juegos?

Debido a que Havok Physics almacena en caché la información de diferentes estados para realizar optimizaciones inteligentes, puede alcanzar un mayor nivel de rendimiento en los juegos de gran escala o los juegos que utilizan sistemas de física complejos. Havok Physics también ofrece una mayor estabilidad al manejar objetos interpenetrantes y cuerpos que se apilan. El comportamiento también mejorará gracias al modelo de fricción avanzada que requiere almacenamiento en caché.

¿Puedo aplicar Havok Physics de forma retroactiva en mis juegos actuales? Y en caso afirmativo, ¿qué tan difícil es el proceso?

Tanto Havok Physics como Unity Physics utilizan el mismo modelo de datos de Unity Editor. Puedes crear contenido de una sola manera y decidir si quieres utilizar uno solo o ambos entornos de administración, según las necesidades específicas de tu juego o los subconjuntos de mundos de tu juego.

¿El nuevo sistema puede dañar el contenido o introducir complejidad en la corriente de proyectos futuros?

No. Tanto Havok Physics como Unity Physics son paquetes basados en DOTS que se pueden elegir. No se dañará ningún contenido existente, aunque es posible que necesites refinar algunos detalles si haces la migración hacia uno de los nuevos entornos de administración.

Usamos cookies para brindarte la mejor experiencia en nuestro sitio web. Visita nuestra página de política de cookies si deseas más información.

Listo