Contraintes de déplacement

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

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.

Vitesse linéaire

Vitesse linéaire applique une force sur une assemblage pour maintenir une vitesse constante le long d'un vecteur 3D, d'une ligne ou d'un plan 2D
Vitesse angulaire

AngularVelocity applique un couple sur une assemblage pour maintenir une vitesse angulaire constante
Aligner la position

AlignPosition applique une force pour déplacer deux accessoires ensemble ou pour déplacer un accessoire à une position d'objectif
Aligner l'orientation

Aligner l'orientation applique un couple pour aligner deux accessoires ou pour aligner un accessoire avec une orientation d'objectif
Force vecteur

VectorForce applique une force linéaire constante sur une assemblage
Couple

Couple s'applique un couple constant sur une assemblage de son centre de masse
Force de ligne

Force de ligne applique une force le long de la ligne théorique qui relie ses deux attachements

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 :

Constraints tools indicated in Model tab

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.

  1. 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 .

    Constraint picker indicated in Studio toolbar
  2. 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.

  3. 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.

    AngularVelocity using one attachment
    Vitesse angulaire en utilisant une seule pièce jointe
    AlignPosition using two attachments
    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 Magnitude, le comportement existant est préservé et MaxForce est interprété comme une magnitude.

  • 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".