Vue d’ensemble de la physique du maillage
Dans une expérience Mesh, la simulation physique est essentielle pour permettre l’engagement de contenu dynamique. Pour fournir aux participants Mesh des expériences de physique partagées de haute qualité et offrir aux développeurs un flux de travail productif dans la création de contenu personnalisé, nous avons créé le système de physique mesh. Mesh Physics est basé sur la simulation faisant autorité locale, ce qui entraîne une architecture très simple. Il n’est pas nécessaire d’utiliser une logique côté serveur et une logique spéciale sur les clients. Plus important encore, cette approche entraîne une expérience très réactive et à faible latence pour chaque joueur interagissant avec son environnement, même lorsqu’il est connecté à un réseau à latence élevée.
Simulation de physique distribuée
La physique du maillage synchronise les positions des corps rigides et doit travailler hors de la boîte, en supposant que tous les clients partagent la même scène. La plupart des fonctionnalités physiques Unity (par exemple, les rigides, les colliders, les matériaux et les contraintes) seront synchronisées sans effort supplémentaire pour les développeurs :
Remarques :
- Seules les positions rigides et les orientations sont synchronisées avec l’interpolation
- Les modifications d’état discrètes (par exemple, les contraintes cassables) et les événements de déclencheur doivent être évités
Chaque client est responsable de la simulation de certains corps, appelé propriété de simulation distribuée. Lorsqu’un joueur touche un corps rigide, la propriété de simulation est immédiatement transférée pour permettre une interaction à faible latence. Pour les corps voisins, le moteur de synchronisation physique effectue une prédiction locale, une interpolation et une redistribution automatique des propriétés pour réduire les artefacts visuels.
Mesh Physics offre une interaction et des fonctionnalités supplémentaires liées à la physique, telles que :
- différents champs pour influencer physiquement les corps à l’intérieur (bouée, gravité)
- différents composants pour modifier le comportement des corps individuels (magnétique, collant, lèveur)
- la possibilité de réinitialiser les corps à leurs positions de démarrage (nettoyage sélectif des scènes)
- Mode de lecture avec la prise en charge de l’émulation mesh pour les tests multi-utilisateurs des fonctionnalités ci-dessus
Voici d’autres choses que vous pouvez faire avec les fonctionnalités de physique mesh :
Permettre aux participants de saisir et de transporter des objets.
Contrôler la façon dont la gravité affecte les objets.
Faites d’un objet « collant », il colle à tout ce qu’il frappe. Exemples : lève un dart sur une carte de fléchettes, en attachant une image à un mur.
Ajoutez des animations de lecture automatique qui interagissent avec les corps physiques.
Autoriser les participants à réinitialiser des objets (par exemple, réinitialiser un tableau d’échecs ou nettoyer une salle après que les objets ont été dispersés).
Déclencher des événements lorsqu’un objet entre en collision avec un déclencheur.
Créez un champ de confinement. Les objets restent dans les limites du champ.
Contrôler la vitesse d’un objet.
Contrôler la flottabilité des objets ( par exemple, faire des bateaux et d’autres objets marins " flotter « .
Contrôler la vitesse angulaire d’un objet.
Créez une explosion, ce qui provoque un déplacement vers l’extérieur ou dans une direction spécifique.
Créez des objets « bouncés » qui rebondissent entre eux avec une vitesse prédéfinie.
Téléportez un objet à une nouvelle position et (facultatif) nouvelle rotation.
Terminologie
Dans les articles Mesh Physics, « body » est utilisé comme raccourci pour « Rigidbody ».