Aller au contenu principal

Physique

La physique fait tomber, s'entrechoquer et rebondir les objets. Voici ce qui est solide, d'où viennent les formes de collision, et comment déplacer un objet physique.

L'essentiel fonctionne tout seul. Le sol est solide sans aucun réglage, et les objets que vous rendez dynamiques tombent.

Ce qui compte comme solide​

Un objet est solide si vous lui avez donné un corps rigide. Il est aussi solide s'il a une forme et ne fait pas déjà partie d'un corps situé plus haut dans l'arbre. Le sol vous arrête donc parce que c'est un sol. Vous n'avez pas besoin de le marquer.

Pour savoir si un objet est solide :

L'objet a…Résultat
un corps rigideil forme son propre corps
un corps rigide réglé sur Nonerien n'est solide ici, y compris ses enfants
un collider, même invisiblesolide
une géométrie, et il est visiblesolide
une géométrie, mais il est masquépas solide
rien de tout cela (un groupe, une lumière)pas solide

Il en découle deux règles utiles :

  • Un collider reste solide quand il est invisible. C'est ainsi qu'on construit un mur invisible : ajoutez un collider et aucune géométrie. Les visiteurs s'y heurtent sans rien voir.
  • Une géométrie n'est solide que tant qu'elle est visible. Masquez une forme décorative, et elle cesse aussi de bloquer quoi que ce soit.
Masquer une partie d'un corps ne l'en retire pas

Une fois qu'une forme a rejoint un corps plus grand, elle y reste, même masquée. Pour l'en retirer, supprimez l'objet ou réglez son corps rigide sur None.

Formes de collision​

Si un objet a un collider, la physique l'utilise. Sinon, le moteur crée une forme à partir de la géométrie :

GéométrieForme de collision
boîte, sphère, cylindre, capsule, cônela forme correspondante
les trois polyèdresune forme extérieure exacte
plan, cercle, anneau, triangleune plaque fine, solide des deux côtés
toreun anneau approximatif
extrusion, révolutionune forme qui suit exactement le maillage
un modèle 3D importéaucune — voir ci-dessous
Un modèle importé n'est pas solide sans collider

C'est la surprise la plus fréquente avec la physique. Déposez un modèle GLB dans une scène, rendez-le dynamique, et il traverse le monde en tombant. Ajoutez un collider, et il se comporte normalement. Une boîte ou une capsule est presque toujours le bon choix.

Réservez les formes de maillage exactes à ce qui ne bouge jamais

Une forme de maillage (issue d'une extrusion, d'une révolution ou d'une géométrie importée) convient à un sol ou à un mur statique. Sur un objet en mouvement, elle traverse les autres objets et tremble. Utilisez plutôt une boîte, une sphère, une capsule ou un cylindre. Les formes simples sont aussi bien plus rapides.

Mettre un objet à l'échelle met aussi à l'échelle sa forme de collision.

Déplacer un objet physique​

Changer la position d'un corps dynamique ne fait rien

C'est la physique qui décide où se trouve un corps dynamique. Elle écrase votre changement à l'étape suivante : on a l'impression qu'il a été ignoré.

  • Pour pousser le corps, utilisez une impulsion ou une force.
  • Pour le placer quelque part, utilisez une téléportation : pour une réapparition, un point de passage ou un retour au départ.

Dans un script, utilisez ctx.physics.teleport(...) et ctx.physics.applyImpulse(...). Voir la référence ctx. Pour un personnage qui marche, utilisez les contrôles de jeu. Ils s'occupent de tout cela pour vous.

Lire la vitesse d'un objet ne coûte presque rien, mais la valeur a environ une image de retard. Elle suffit pour savoir « est-ce qu'il bouge ? », pas pour des calculs précis.

Réglages du monde​

La gravité, le frottement par défaut, le rebond et la qualité du solveur se règlent pour le projet. Vous pouvez les remplacer pour chaque espace. Les changements s'appliquent tout de suite, sans redémarrage.

Chaque corps peut avoir son propre frottement et son propre rebond. Si vous n'y touchez pas, le corps utilise les réglages du monde.

Collisions​

Quand deux objets se touchent, chacun reçoit un événement on-collide et apprend ce qu'il a heurté. Dans l'événement, vous pouvez le limiter à certains objets ou le laisser ouvert à n'importe quel objet.

Les collisions ne remontent pas aux parents

Un appui sur un objet remonte jusqu'à ses parents, mais pas une collision. Elle ne se déclenche que sur les objets qui se sont réellement touchés. Placez l'événement sur l'objet qui entre en collision.

Où la physique fonctionne​

  • Dans le navigateur : oui.
  • Dans l'application AR Clip (mobile) : oui.
  • Dans l'éditeur : non. Rien ne tombe pendant que vous travaillez.

Quand votre projet tourne, la physique ne démarre que si une scène en a besoin. C'est le cas quand elle contient un objet dynamique ou kinematic, des contrôles de jeu, ou un corps accompagné d'un script. Une scène qui ne contient que des objets statiques n'a pas besoin de la physique : elle s'ouvre donc plus vite.

Si un script crée une balle en cours de session, la physique démarre à ce moment-là.


Suivant : Lumières — les types de lumière et ce qui change en douceur pendant les transitions.