Unity e Havok Physics para projetos baseados em DOTS

Crie mundos elaborados, interativos e dinâmicos com o suporte do Data-Oriented Technology Stack (DOTS) C# do Unity.

Physics colliders

Make games that matter

Physics solutions help you give weight to the elements of your game. Whether you’re building in 2D or 3D, a first-person camera or a side-scroller, your characters and objects can react realistically to the game world around them.

Unity Physics e Havok Physics

O Unity Physics e o Havok Physics são criados em cima da estrutura do Data-Oriented Technology Stack (DOTS). Você pode converter um projeto de uma solução para outra e eles podem ser executados simultaneamente. Seus dados são compatíveis e permitem que você use as ferramentas e os fluxos de trabalho avançados do Unity.

Unity Physics

Rápido. Leve. Sem estado. Personalizável. Esse é o mantra por trás de nossa nova solução Unity Physics.

Criada em cima da estrutura DOTS C# do Unity, ela está pronta para rede, é completamente personalizável e foi criada para desempenho imediato. Esteja você criando o próximo sucesso para dispositivos móveis ou uma nova experiência de console com vários participantes em rede, o Unity Physics potencializa o compilador Burst e o sistema de trabalho para escalar através de uma variedade de hardwares.

O Unity Physics está atualmente em lançamento de visualização, disponível por meio do Package Manager e compatível com Unity 2019.1 e versões posteriores.

Havok Physics

Havok Physics
Havok Physics representa uma solução de alta qualidade para clientes que precisam produzir simulações físicas complexas. Ela tem o suporte da engine Havok Physics líder do setor, que alimenta mais da metade dos principais títulos da geração atual de consoles. É escrita usando a mesma estrutura C# DOTS do Unity Physics, mas inclui os recursos, o desempenho, a estabilidade e a funcionalidade da engine proprietária Havok Physics de código fechado, escrita em C++ nativo.

Confira a documentação sobre como acessar o Havok Physics.

Desempenho 
Havok Physics é profundamente otimizado para casos de uso de jogos típicos. Os algoritmos essenciais foram refinados ao longo de muito anos e diversas estratégias de armazenamento em cache automático (incluindo a habilitação de repouso para objetos inativos) significam que os recursos da CPU só são gastos onde são necessários. 

Veja Havok Physics Unity integration : Performance - YouTube 

Comportamento
Havok Physics é uma engine física robusta projetada para lidar com as demandas de desempenho dos jogos de maior intensidade gráfica, que geralmente incluem cenas complexas com muitas interações físicas. Ao trabalhar com parceiros do setor por mais de vinte anos, a Havok viu, resolveu e continua a iterar muitos dos problemas mais difíceis voltados a simulações físicas. Isso significa empilhamento estável de corpos físicos, artefatos mínimos onde há corpos dinâmicos e comportamento geralmente mais controlado, especialmente ao trabalhar com geometria de colisão não otimizada. 

Veja Stacking Stability - YouTube e Mesh Welding - YouTube

Physics for object-oriented projects

If you’re working on an object-oriented project, there are two built-in physics engines to consider that cover both 3D and 2D game development.

Rust with PhysX

Built-in 3D physics: NVIDIA PhysX integration

Unity’s built-in 3D physics engine is an integration of the PhysX engine in close partnership with NVIDIA. PhysX is available directly through the Editor.

NVIDIA PhysX SDK is an open source, scalable real-time physics engine that enables advanced simulations for more immersive game play with true-to-life simulations and real-time dynamic effects. PhysX is a library for representing 3D worlds that lets you create and destroy actors and tracks their explicit or proximity-based interactions. 

PhysX SDK’s dynamics simulation capability includes support for collision, joints, and actuation using maximal and/or reduced coordinates. You can also query the world using a number of different tools, ranging from simple ray casts to sweep and overlap tests.

Learn about 3D physics
2D Physics

Built-in physics for 2D games

Unity comes with dedicated and optimized 2D physics, with many more features and optimizations to power your game.

2D Colliders enable accurate detection of your sprites’ shapes, from primitive to custom shapes. If they also include a Rigidbody 2D, the objects will react to gravity and behave as solid objects.

Objects anchored to another object also can benefit from physics with 2D Joints, adding realism to a sliding platform, chain, spring, or car. To simulate buoyancy or magnets, 2D Effectors can add non-contact physics effects.

Learn about 2D physics
O que significa “determinístico”?

Determinismo se trata de obter o mesmo resultado em uma simulação física quando é fornecido o mesmo conjunto de informações. O Unity Physics e o Havok Physics fornecem resultados determinísticos. Porém, como diferentes arquiteturas de CPU (x86, ARM etc.) produzem pequenas diferenças em seus cálculos matemáticos, os resultados determinísticos da simulação podem variar em diferentes hardwares.

Como o Burst resolverá o problema do determinismo de arquitetura cruzada no fim deste ano, o Unity Physics se beneficiará automaticamente desse benefício recurso também, o que significa que a simulação será a mesma em qualquer dispositivo.

Nota: para o determinismo de arquitetura única, o Unity Physics exigirá uma atualização futura do Burst.

O que significa “física sem estado”?

A maioria dos mecanismos físicos, incluindo o Havok, atinge desempenho e estabilidade com otimizações inteligentes, como o armazenamento em cache de partes do estado mundial para contornar ou estabilizar diferentes cálculos. Componentes de física sem estado, por sua vez, atingem desempenho por meio de otimizações forçadas. Por causa disso, e como as versões futuras do Burst poderão operar entre múltiplas arquiteturas, isso pode beneficiar vários cenários diferentes em rede. Por outro lado, há alguns cenários nos quais o Havok pode atingir desempenho e estabilidade maiores.

Como a física sem estado afeta jogos de rede?

Como a física sem estado poderá operar deterministicamente em múltiplas arquiteturas de CPU em futuras versões do Burst, ele estará pronto e será fácil de usar em uma variedade de configurações de rede, incluindo previsão do lado do cliente (p.ex., FPS), simulação inflexível de cliente (p.ex., RTS) e também GGPO/rollback (p.ex., jogos de luta).

Quais são os benefícios do uso do Havok Physics nos meus jogos?

Como o Havok Physics armazena diferentes informações de estado em cache para desempenhar otimizações inteligentes, ele pode atingir um desempenho superior em jogos de larga escala ou que usem sistemas físicos complexos. O Havok Physics também oferece maior estabilidade no tratamento de objetos interpenetrantes e corpos de empilhamento. O comportamento também será aprimorado devido a um modelo avançado de fricção que requer armazenamentos em cache.

Posso aplicar retroativamente o Havok Physics ao meus jogos existentes? Em caso positivo, qual o grau de dificuldade disso?

O Havok Physics e o Unity Physics usam o mesmo modelo de dados no Unity Editor. Você pode criar conteúdos de uma única maneira e optar por um ou pelos dois back ends de física, dependendo das necessidades específicas ou dos subconjuntos dos mundos do seu jogo.

O novo sistema decifrará algo ou introduzirá complexidade a projetos atuais ou futuros?

Não. O Unity Physics e o Havok Physics são pacotes opcionais baseados em DOTS. Nenhum conteúdo existente decifrará, embora talvez seja necessário ressintonizar seu conteúdo existente se você migrar para um dos novos back ends.

Usamos cookies para garantir a melhor experiência no nosso site. Visite nossa página da política de cookies para obter mais informações.

Eu entendi