Projets Unity Physics et Havok Physics basés sur la DOTS

Créez des mondes riches, interactifs et dynamiques avec la pile technologique C# de Unity orientée vers les données (DOTS).

Deux systèmes physiques, un protocole de données

La solution physique comprend deux offres : Unity Physics et Havok Physics. Toutes deux sont basées sur le cadre de la DOTS et utilisent donc le même protocole de données.

Ceci permet une transition fluide de vos projets entre des systèmes physiques sans avoir à repenser votre contenu ni le code de vos jeux.

Que vous utilisiez Unity Physics, Havok Physics ou les deux ensemble, le protocole de données unifiées vous permet de rédiger une fois, puis d'effectuer des simulations en utilisant n'importe quel système compatible avec la DOTS.

En coulisses : Le partenariat entre Unity et Havok

En collaboration avec Havok, nous avons développé un tout nouveau moteur physique basé sur la technologie DOTS.

Écoutez Shawn McClelland (chef de produit chez Unity) et Joel Van Eenwyk (ingénieur d'application sur site chez Havok) expliquer comment nous avons collaboré pour créer des systèmes s'appuyant sur le cadre de la DOTS, pour vous permettre de créer des simulations physiques offrant des performances exceptionnelles compatibles avec les besoins de la mise en réseau moderne.

Unity Physics et Havok Physics

Unity Physics et Havok Physics s'appuient sur le cadre de la pile technologique orientée vers les données ou DOTS (Data-Oriented Technology Stack). Vous pouvez faire passer un projet d'une solution à l'autre et les deux peuvent fonctionner simultanément. Les données sont compatibles, ce qui vous permet d'utiliser les puissants outils et flux de travail de Unity.

Unity Physics

Rapide. Légère. Sans état. Personnalisable. Telles sont les caractéristiques clés de notre nouvelle solution Unity Physics.

S'appuyant sur le cadre de la DOTS C# de Unity, elle est prête pour fonctionner en réseau, entièrement personnalisable et conçue pour offrir des performances immédiates. Que vous soyez en train de créer le prochain jeu à succès sur mobile ou une nouvelle console multijoueur en réseau, Unity Physics exploite le compilateur Burst et le système Job pour s'adapter à toute une gamme d'appareils.

Unity Physics est actuellement en version aperçu, disponible via le gestionnaire de packages et compatible avec Unity 2019.1 et versions ultérieures.

Havok Physics

Havok Physics
Havok Physics est une solution haut de gamme destinée aux clients qui ont besoin de produire des simulations physiques complexes. Elle est soutenue par le moteur Havok Physics, leader sur le marché, qui alimente plus de la moitié des titres les plus populaires de cette génération de consoles. Cette solution est rédigée avec le même cadre de DOTS C# que Unity Physics, mais inclut les fonctions, les performances, la stabilité et les fonctionnalités du code source fermé, propriété exclusive de Havok Physics, rédigé en C++ natif.

Consultez la documentation pour savoir comment accéder à Havok Physics.

Performances 
La solution Havok Physics est spécialement optimisée pour les cas d'utilisation de jeu typiques. Les algorithmes principaux ont été perfectionnés au fil des ans et diverses stratégies de mise en cache automatique (y compris l’activation de la mise en veille pour les objets inactifs) garantissent que les ressources du CPU ne sont utilisées qu'en cas de besoin. 

Voir la vidéo Havok Physics Unity integration : Performance sur YouTube 

Comportement
Havok Physics est un moteur physique robuste conçu pour répondre aux exigences de performance des jeux les plus graphiques, qui incluent souvent des scènes complexes avec de nombreuses interactions physiques. En collaborant avec des partenaires du secteur depuis plus de vingt ans, la société Havok a rencontré et résolus les problèmes les plus difficiles auxquels sont confrontées les simulations physiques, et continue d'y faire face. Cela signifie un empilement stable des corps physiques, un minimum d'artefacts là où les corps se déplacent rapidement et un comportement généralement mieux contrôlé, en particulier lorsque vous travaillez avec une géométrie de collision non optimisée. 

Voir les vidéos Stacking Stability - YouTube et Mesh Welding - YouTube

Questions fréquentes

Que signifie le terme « déterministe » ?

Le déterminisme consiste à obtenir le même résultat dans une simulation physique quand elle reçoit le même ensemble d'entrées. Unity Physics et Havok Physics fournissent des résultats déterministes. Cependant, les diverses architectures de processeur (x86, ARM, etc.) produisant des différences mineures dans leurs calculs mathématiques, les résultats déterministes de la simulation peuvent être différents selon les appareils.

Burst ayant prévu de résoudre le problème du déterminisme inter-architectures ultérieurement cette année, Unity Physics bénéficiera automatiquement de cette fonctionnalité, ce qui signifie que la simulation sera la même sur tous les appareils.

Remarque : En ce qui concerne le déterminisme dans le cadre d'une architecture unique, Unity Physics nécessitera une prochaine mise à jour Burst.

Que signifie le terme « sans état » ?

La plupart des moteurs physiques, y compris Havok, offrent performances et stabilité grâce à des optimisations intelligentes, telles que la mise en cache de parties de l'état du monde de jeu afin de contourner ou de stabiliser différents calculs. La physique sans état réalise plutôt des performances grâce à des optimisations par force brute. Pour cette raison, et étant donné que les futures versions de Burst pourront s'exécuter sur plusieurs architectures, différents scénarios en réseau peuvent en bénéficier. Par ailleurs, il existe des scénarios dans lesquels Havok peut améliorer ses performances et sa stabilité.

Quel est l'impact de la physique sans état sur les jeux en réseau ?

Étant donné que la physique sans état sera capable de s'exécuter de manière déterministe sur plusieurs architectures de processeurs dans les futures versions de Burst, elle sera prête et facile à utiliser pour toute une série de configurations réseau, telles que la prédiction côté client (par exemple, FPS), la simulation client synchronisée (par exemple, RTS), ainsi que pour GGPO/la restauration (par exemple, pour les jeux de combat).

Quels sont les avantages à utiliser Havok Physics dans mes jeux ?

Havok Physics mettant en cache différentes informations d'état pour effectuer des optimisations intelligentes, cette solution peut enregistrer des performances supérieures dans les jeux à grande échelle ou utilisant des systèmes physiques complexes. Havok Physics offre également une plus grande stabilité lors de la manipulation d'objets s'interpénétrant et de l'empilement de corps. Le comportement sera également amélioré grâce à un modèle de friction avancé qui nécessite des caches.

Puis-je appliquer rétroactivement Havok Physics à mes jeux existants ? Si oui, à quel point est-ce difficile ?

Havok Physics et Unity Physics utilisent le même modèle de données dans l'Éditeur Unity. Vous pouvez créer du contenu d'une seule manière et opter pour l'une ou l'autre des solutions, ou pour les deux, selon les besoins spécifiques de votre jeu ou des sous-ensembles de vos mondes de jeu.

Le nouveau système endommagera-t-il quelque chose ou introduira-t-il de la complexité dans les projets actuels ou futurs ?

Non. Havok Physics et Unity Physics sont des packages optionnels basés sur la DOTS. Aucun contenu existant ne sera endommagé, mais vous devrez peut-être le réorganiser si vous migrez vers l'une des nouvelles solutions.

Ce site utilise des cookies dans le but de vous offrir la meilleure expérience possible. Consultez notre politique de cookies pour en savoir plus.

Compris