Logo Makeyourgame
Accueil Les formations Créer un jeu Les ateliers Les tutoriels Blog Loterie
Logo Makeyourgame
Les formations Les financements Les exercices La certification Unity
Logo Makeyourgame
Mes objectifs Les jeux Les ressources Le glossaire
Logo Makeyourgame
Les tutos Les tutos Youtube

Les changements de la Physique dans Unity 2018.3 : par alto

Actualite

Avec l'arrivée imminente de Unity 2018.3, le moteur physique 3D est mis à jour, de PhysX 3.3.3 à PhysX 3.4.2. Les performances et la stabilité seront donc améliorés...Découvrez les changements de la Physique dans Unity 2018.3.


Juste en changeant de version ...cela semble peu mais la version PhysX 3.4 représente plusieurs années de progrès dans le domaine de la Physique informatique. D'habitude les développeurs de Unity attendent un peu avant de mettre à jour le moteur Physique...mais pour Unity 2018.3, nous allons, nous développeurs.ses, pouvoir profiter des dernières features.

Découvrez certaines nouveautés de cette version de PhysX que nous avons sélectionné pour vous..

Retrouvez le post complet issu du site officiel de Unity dont cet article est plus ou moins une traduction fidèle avec l'ajout de certains exemples ou remarques de notre cru !!

 

Mise à jour du moteur physique

PhysX 3.4 est une version majeure qui apporte une amélioration visible sur de nombreux points, tout en corrigeant une quantité importante de bugs.

De plus, cette version améliore considérablement la détection et le retour de collision convexe-convexe !!

Un autre exemple est l'amélioration de la précision du calcul des contacts avec le terrain....

















Peut-on alors espérer une meilleure détection lors d'une collision GameObject / Terrain ??








































































































































Enfin, la phase Broadphase, la détection de collision et le solveur ont été réécrits. De plus le module d'interrogation physique est maintenant jusqu'à deux fois plus rapide qu'auparavant.

 

Multi-scènes physiques

Auparavant nous n'avions qu'une seule scène en terme de physique, composée de tous les corps et colliders de toutes vos scènes d'Unity....ayant ainsi toujours les mêmes paramètres physiques.

Avec la version de Unity 2018.3, on disposera maintenant de la possibilité d'avoir plusieurs scènes Physiques.
















A quoi cela pourrait bien servir ?








































































































































On pourra indiquer si telle ou telle scène utilise, ou pas, la physique par défaut. Ainsi tout en utilisant SceneManagement , on peut imaginer un monde dont certaines parties n'ont pas la même Physique.

C'est énooorme, non ? On peut imaginer une zone réagissant comme la planète Terre, puis une autre zone réagissant comme Mars par exemple...ou pourquoi pas de la gravité inversée dans une troisième zone !!

Cette amélioration est disponible à la fois pour la physique 3D et 2D.

 

HeightMaps unifiées

Le TerrainCollider de Unity utilisait un algorithme spécial de détection de collision qui reposait sur des hypothèses inexactes lors du calcul des contacts, ainsi que sur quelques caractéristiques non évidentes, telles que l’épaisseur du Terrain.

Dans Unity 2018.3, l'approche de détection de collision utilisée est la même que pour le calcul des contacts avec des mesh.

On peut donc espérer pour la suite une bien meilleure détection à terme, des collisions entre les GameObject de la scène et le Terrain !!

Aviez vous déjà testé avant Unity 2018.3, de laisser tomber une pierre d'une bonne hauteur sur votre Terrain ? ....non ? Et bien testez le et vous serez fixés sur cette amélioration !!

 

Détection spéculative continue de collision

La détection continue des collisions est une option dans Unity depuis un certain temps.

Il faut savoir cependant que cela est plus gourmand en ressource, car on exige alors du moteur physique de réaliser des calculs en permanence !!

Cependant ce modèle n’autorisait pas le support des rotations. Dans la version 2018.3 les développeurs ont ajouté une alternative à l'algorithme permettant de régler certains comportements inacceptables !!

Avant

https://blogs.unity3d.com/wp-content/uploads/2018/11/ccd_normal.gif

 

Après

https://blogs.unity3d.com/wp-content/uploads/2018/11/ezgif-2-85bf3c1b36ff.gif

 

 

Pas de synchronisation de transformation automatique dans les nouveaux projets

Par défaut, toutes les modifications apportées aux transformations Unity étaient synchronisées avec le moteur physique juste avant leur utilisation. C'est-à-dire que chaque fois qu'un rayon est exécuté, chaque fois qu'une simulation est exécutée, etc.

Ainsi dès qu'un Transform est déplacé, on demande au moteur Unity de synchroniser avec le moteur Physique, mais il semble plus logique de réduire le nombre de fois qu’elle est appelée.

De plus puisque Unity tend à être un moteur multithread et comme la synchronisation elle-même ne peut se produire que sur le thread principal, le besoin de désactiver cette synchronisation auto devient évident !!

Ainsi la valeur par défaut de Physics.autoSyncTransforms passe de true à false pour tous les nouveaux projets commençant avec Unity 2018.3.

Cette amélioration est disponible à la fois pour la physique 3D et 2D.

 

Avec cette mise à jour, Unity "s'équipe" d'un moteur Physique performant et de plus en plus précis, permettant de plus en plus de réaliser des scènes respectant les lois physiques que nous connaissons toutes et tous en terme de collision par exemple !!

Vous avez déjà téléchargé la version de Unity 2018.3 ??


Photo de profil

Alexandre Taurisano

Développeur web, C# et certifié Unity. Formateur Unity et Fondateur du studio Event Orizon sur Carcassonne.