Aller au contenu principal

Physique

La physique est facultative et largement automatique : le sol est solide sans que vous le demandiez, et ce que vous marquez comme dynamique tombe. Les règles ci-dessous expliquent les deux ou trois cas où elle ne se comporte pas comme on l'attend.

Ce qui compte comme solide

Une chose est solide si vous lui avez donné un corps rigide, ou si elle a une forme et que rien au-dessus d'elle n'en a déjà revendiqué une. Le sol vous arrête parce que c'est un sol — vous n'avez pas à penser à le marquer.

En remontant depuis un objet :

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

Deux choses en découlent, et toutes deux sont utiles :

Un collider signifie que c'était voulu, il reste donc solide même invisible. C'est exactement ainsi qu'on fait un mur invisible : un collider et pas de géométrie. Les visiteurs se cognent à rien du tout.

La géométrie n'est solide que tant qu'on la voit. Masquez une forme décorative et elle cesse aussi de bloquer les choses.

Masquer une partie d'un corps assemblé 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 sortir, supprimez l'objet ou réglez son corps rigide sur none.

D'où viennent les formes de collision

Donnez un collider à un objet et c'est celui-là qu'il utilise. Sans collider, le moteur déduit une forme de la géométrie :

GéométrieVous obtenez
box, sphere, cylinder, capsule, conela forme correspondante
les trois polyèdresune enveloppe exacte
plane, circle, ring, triangleune dalle fine à double face
torusun anneau de sphères qui se chevauchent
extrude, latheune forme de maillage exacte
un modèle 3D importérien — voir ci-dessous
Un modèle importé n'est pas solide tant que vous ne lui donnez pas de collider

C'est de très loin la surprise la plus fréquente en physique. Déposez un GLB dans une scène, marquez-le dynamique, et il traverse le monde. Ajoutez un collider — une boîte ou une capsule est presque toujours la bonne réponse — et il se comporte bien.

Les formes de maillage exactes sont pour ce qui ne bouge jamais

Une forme de maillage (issue d'extrude, de lathe ou d'une géométrie importée) convient à un sol ou un mur statique. Sur quoi que ce soit qui bouge, elle traverse les choses et tressaute. Prenez plutôt une boîte, une sphère, une capsule ou un cylindre — les formes simples sont aussi bien plus rapides.

L'échelle est cuite dans la forme : redimensionner un objet redimensionne ce avec quoi il entre en collision.

Déplacer un corps physique

Fixer la position d'un corps dynamique ne fait rien

La physique possède la position d'un corps dynamique et réécrit votre modification au pas suivant. On dirait que l'éditeur vous ignore.

Déplacez-le avec une impulsion ou une force, et posez-le quelque part avec un teleport — réapparitions, points de passage, « retour au début ».

Depuis un script, c'est ctx.physics.teleport(...) et ctx.physics.applyImpulse(...) — voir la référence ctx. Si vous voulez un personnage qui marche, les contrôles de jeu s'occupent de tout cela.

Lire la vitesse de quelque chose ne coûte presque rien et accuse environ une image de retard — parfait pour « est-ce que je bouge ? », pas pour des calculs exacts.

Réglages du monde

Gravité, friction par défaut, rebond et qualité du solveur se règlent par projet et peuvent être surchargés par space. Les changements s'appliquent immédiatement, sans redémarrage.

Un corps individuel peut surcharger friction et rebond ; laissez-les tranquilles et il hérite de ceux du monde.

Collisions

Quand deux choses se touchent, les deux sont prévenues : un événement on-collide se déclenche sur chacune, et chacune apprend ce qu'elle a heurté. Dans un événement vous pouvez restreindre cela à des objets précis, ou le laisser ouvert.

Une collision ne remonte pas aux parents

Contrairement à un toucher, elle ne se déclenche que sur les objets qui se sont réellement touchés. Posez l'événement sur la chose qui entre en collision.

Quand la physique tourne

Physique ?
Lecteur (web)oui
Application ARClipoui
Éditeurnon — rien ne tombe pendant que vous travaillez

Même dans le lecteur, le moteur ne démarre la physique que si une scène en a besoin : quelque chose de dynamique ou de kinématique, des contrôles de jeu, ou un corps plus un script. Une scène de décor statique ne la paie pas — sur le web, cela épargne à vos visiteurs un téléchargement de plusieurs mégaoctets.

La vérification est vivante : une balle qu'un script crée en cours de session fait démarrer la physique pour elle-même.


Suite : Lumières — et ce qui s'anime en douceur.