Le moteur de physique inclut ce qui suit Constraints qui applique une force ou un couple pour déplacer une ou plusieurs assemblages.En outre, diverses contraintes mécaniques sont disponibles qui se comportent comme des connexions mécaniques conceptuelles, y compris des charnières, des ressorts, des cordes et plus encore.
Visualisation des contraintes
Pour visualiser précisément les contraintes dans Studio, vous pouvez utiliser les options suivantes de l'onglet modèle de la barre d'outils :


Afficher les soudures — Afficher WeldConstraints, séparément de la visualisation des autres contraintes.

Détails des contraintes — Afficher les détails visuels complets des contraintes non soudées.

Échelle — Échelle relative des visualisations.
Créer des contraintes
Les contraintes de déplacement connectent généralement une ou deux Attachments ou Bones .Lorsqu'il est connecté à Bones, la contrainte utilisera sa position et son orientation animées.
Pour créer une contrainte de mouvement, vous pouvez utiliser l'outil Créer ou la fenêtre Explorateur.
Dans l'onglet modèle , accédez au menu du bouton créer et sélectionnez le type de contrainte souhaité, par exemple vitesse angulaire .
Dans la fenêtre 3D, passez la souris sur n'importe quel Part ou MeshPart et cliquez pour ajouter une nouvelle Attachment à la partie au point visualisé.Alternativement, survolez et cliquez sur un existant Attachment ou Bone pour l'utiliser pour la contrainte.
Certaines contraintes de mouvement utilisent ou supportent une attache secondaire dans leur fonctionnalité, de sorte que l'outil pourrait vous demander de répéter l'étape précédente sur un autre Part, MeshPart, ou Attachment, ou Bone.
Vitesse angulaire en utilisant une seule pièce jointe AlignPosition en utilisant deux pièces jointes
Simulation physique
Pour simuler la physique pendant que vous déplacez ou tournez des pièces, vous pouvez passer au mode physique dans la barre d'outils du studio, en forçant efficacement les pièces à obéir aux limites physiques.Par exemple, si vous faites glisser une partie autour de la scène et qu'elle se heurte à une autre partie, elle poussera physiquement cette partie hors de la voie.

Conversion du mouveur hérité
Si votre expérience repose sur des contraintes héritées BodyMover basées, examinez les notes suivantes lors de la conversion vers des contraintes modernes de déplacement.
AlignPosition satisfait la majorité des cas d'utilisation couverts par le déménageur obsolète BodyPosition.Pour s'aligner sur la façon dont le déménageur hérité a traité chaque composant de manière indépendante et a permis une force différente le long de chaque dimension, la propriété ForceLimitMode de AlignPosition permet à la contrainte de fonctionner en mode Magnitude ou en mode PerAxis:
En mode PerAxis, la force le long de chaque axe peut être spécifiée indépendamment.Comme la force maximale est spécifiée en tant que vecteur, le cadre de référence de la force peut également être spécifié via la propriété ForceRelativeTo avec World , Attachment0 et Attachment1 options.En outre, la formulation pour le contrôleur interne est modifiée pour correspondre à celle de BodyPosition .
AlignOrientation satisfait la majorité des cas d'utilisation couverts par le déménageur obsolète BodyGyro.Les modes AlignType de AlignOrientation fournissent suffisamment de liberté pour la plupart des applications et la combinaison de plusieurs contraintes peut reproduire la limite de couple vectoriel.De plus, le mode PrimaryAxisLookAt force toujours l'axe principal de la première attache de la contrainte ( Attachment0 ) à se diriger vers la deuxième attache ( Attachment1 ), ce qui facilite beaucoup l'ajout de choses telles que des caméras de sécurité de suivi de mouvement ou des missiles guidés.
LinearVelocity satisfait la majorité des cas d'utilisation couverts par le déménageur obsolète BodyVelocity.Bien que le déplacement hérité permette un vecteur MaxForce, le type d'application typique de ce vecteur était de zéro un composant spécifique, permettant de désactiver la contrainte le long de cette dimension.LinearVelocity atteint un effet similaire en opérant dans des modes distincts VelocityConstraintMode qui correspondent à une ( Line ), deux ( Plane ) et trois ( Vector ) dimensions.
En outre, la propriété ForceLimitMode avec l'option de PerAxis accueille toutes les applications de la force vectorielle avec tous les composants non nuls, comme une augmentation de la force le long d'un seul axe pour contrer la gravité.
Bien que AngularVelocity ait quelques désaccords avec le déménageur obsolète BodyAngularVelocity, des cas spécifiques liés à ces désaccords n'ont pas été mis en évidence par la communauté, ni internement.
En amélioration séparée, fonctionne avec et la propriété vous permet de spécifier la force dans laquelle elle est spécifiée, par exemple ou .
VectorForce satisfait tous les cas d'utilisation offerts par les déménageurs obsolètes BodyForce et BodyThrust.La contrainte moderne fonctionne avec Attachments et sa propriété RelativeTo vous permet d'appliquer une force à un décalage relatif du centre, semblable à la façon dont BodyThrust.Location fonctionnait.
Une combinaison de LineForce et AlignOrientation satisfait la majorité des cas d'utilisation couverts par le déprecated RocketPropulsion mouveur.Dans l'exemple d'un missile guidé, LineForce peut être utilisé pour contrôler le comportement "suivre la cible" de RocketPropulsion alors que AlignOrientation et sa propriété LookAtPosition peuvent être utilisés pour contrôler le comportement "visage cible".