Créer des objets tournants

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

Objets tournants sont des objets qui tournent sur un ou plusieurs axes dans l'espace 3D. En utilisant la puissance intégrée du moteur de simulation de Roblox, vous pouvez faire tourner les objets et interagir avec leur environnement de manière à ce que la conduite réelle soit physiquement attrayante pour les joueurs, tels que la gravité, l'aérodynamique et la friction.

En utilisant le fichier Spinning Objects.rbxl comme référence, ce tutoriel explique comment les forces physiques affectent la vitesse d'angle dans Studio, et vous montre diverses techniques pour faire pivoter les objets dans vos expériences avec différents comportements de rotation, y compris des conseils sur :

  • En utilisant une contrainte de mover AngularVelocity pour faire tourner une assemblage entière à une vitesse angulaire constante.
  • En utilisant une contrainte mécanique HingeConstraint pour faire pivoter une partie dans une assemblage à une vitesse angulaire constante alors que le reste de l'assemblage reste stationnaire.
  • En utilisant la méthode ApplyAngularImpulse pour faire pivoter une assemblage avec un impulsion initiale de force angulaire afin que l'assemblage ralentisse lentement au fil du temps.

Mouvement d'angle et forces physiques

Roblox Studio est un moteur de simulation de monde réel qui imite le comportement physique en temps réel, afin de prédire le comportement des objets tournants dans les expériences, il est important d'avoir une compréhension de haut niveau de la façon dont les objets tournent dans la vie réelle avec des mouvements angulaires.

La rotation de rotation est un mouvement autour d'un point ou d'un axe fixe. Par exemple, lorsqu'un propulseur a une rotation de rotation, il tourne autour de son axe de rotation au milieu du propulseur.

La rotation ne peut exister sans une force externe et physique poussant ou tirant des objets pour faire tourner l'objet. Selon la première loi de la motion de Newton, les objets stationnaires restent stationnaires et les objets en mouvement restent en mouvement avec une vitesse constante à moins qu'ils ne soient agités par une force externe. Par exemple, un propulseur stationnaire ne reste pas stationnaire à moins qu'une force physique comme le vent ne le pousse à tourner.

La valeur de couple est la mesure de la force physique qui cause les objets à tourner, et elle est responsable de l'obtention d'une accélération angulaire. Ce concept est particulièrement important pour les objets qui tournent dans Studio ; plus vous appliquez de couple aux objets, plus ils peuvent accélérer rapidement.

Ceci est parce que le couple de couple doit être plus grand que n'importe quelle force physique directionnelle poussant l'objet, comme la gravité ou la friction. Par exemple, si vous mettez le propulseur dans la poussière, la force physique du vent doit surmonter la quantité de friction de la poussière pour continuer à accélérer le propulseur tourbillant. Si la force du vent n'est pas beaucoup plus

La vitesse angulaire est la mesure de la évaluerde rotation d'un objet, ou à quelle vitesse l'objet tourne autour d'un point ou d'un axe au cours d'une période de temps. Studio mesure la vitesse angulaire en fonction du nombre de radians

Les sections suivantes explorent plus en détail ces notions à mesure que vous apprenez à faire pivoter des objets à une vitesse angulaire constante ou initiale avec la vitesse de rotation nécessaire pour surmonter n'importe quelle force physique opposée dans l'environnement. Avec les prochaines techniques, vous pouvez plus précisément prédire comment ajuster les valeurs de propriété pour obtenir un comportement de rotation idéal dans Studio.

Gestion d'une force angulaire constante

Pour qu'un objet atteigne et maintienne une vitesse angulaire constante, il a besoin d'une force angulaire pour surmonter n'importe quelle force physique opposante qui décèle la vitesse angulaire de l'objet, ou cause l'objet à rester stationnaire. Par exemple, si vous voulez qu'un objet ait une vitesse angulaire de 12

La quantité de couple que vous appliquez à vos objets ne dépend pas seulement des forces physiques adverses dans l'environnement lui-même, telles que la gravité et la friction, mais aussi de l'objet lui-même. Par exemple, si vous avez deux objets de la même forme qui tournent sur le même axe, le plus grand objet avec le plus grand moment d'inertie nécessite plus de couple pour obtenir la même accélération angulaire.

La petite partie triangulaire a un moment d'inertie plus bas, donc elle a besoin de moins de force angulaire pour atteindre la même accélération.
La grande partie triangulaire a un plus grand moment d'inertie, donc il nécessite plus de force angulaire pour atteindre la même accélération.

Les sous-sections suivantes utilisent des assemblages de différentes formes et tailles pour vous apprendre à tourner un objet entier ou une partie de l'objet. Avec l'expérience, vous apprendrez à estimer la quantité maximale de couple dont vous avez besoin pour les assemblages dans vos propres expériences.

Utilisation des contraintes de vitesse angulaire

AngularVelocity objets sont un type de contrôleur de mouvement qui applique la vitesse angulaire sur toute une assemblée pour maintenir une vitesse angulaire constante. Pour commencer à faire pivoter l'assemblage, le AngularVelocity contrôleur doit savoir :

  • La direction positive ou négative pour appliquer une force angulaire.
  • Le nombre de radians que vous souhaitez que la construction tourne par seconde.
  • La quantité maximale de couple que le moteur peut appliquer pour l'assemblage pour atteindre une vitesse angulaire constante.

Pour démontrer ce processus, vous ajouterez un bloc à votre espace de travail avec une pièce qui fait référence à un AngularVelocity contrôle restreint pour faire pivoter le bloc 6 radians par seconde le long de l'axe Y du monde à une vitesse d'angle constante, ou environ une rotation complète.

Ajouter une pièce

Vous pouvez spécifier le point fixe pour faire pivoter une assemblage en ajoutant un objet Attachment à l'assemblage, puis en configurant la position de l'point d'attachedans l'espace 3D. L'expérience de l'objet Spinning Objects place un objet dans le centre d'un bloc pour que le contrôle puisse faire pivoter la partie vers le centre du bloc.

Les accessoires incluent des aides visuelles pour vous aider à visualiser leurs axes de rotation. La flèche jaune représente l'axe principal de l'point d'attache, et la flèche orange représente l'axe secondaire de l'point d'attache. Bien que les deux axes de rotation n'affectent pas l'orientation de l'onglet dans les étapes de cette technique, il est important de comprendre ces aides visuelles pour l'avenir car elles peuvent vous aider

Pour ajouter une point d'attache:

  1. Dans la fenêtre Explorateur , insérez une partie bloque dans le Espace de travail .

  2. Insérez une pièce dans la nouvelle partie.

    1. Dans la fenêtre Explorateur , passez la souris sur la partie et cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
    2. Dans le menu, insérez un Attribution . L'attribution s'affiche au centre de la pièce.
    3. Renommez l'attribut à SpinAttribut .

Configurer la contrainte

Maintenant que votre bloc a un point fixe pour faire pivoter le bloc, vous pouvez configurer les propriétés d'un AngularVelocity contrôle pour spécifier la direction de rotation, l'axe ou les axes à appliquer pour appliquer une vitesse de rotation cible, le nombre de radians que vous souhaitez que le bloc tourne par seconde et la quantité de couple que le moteur peut appliquer pour le bloc pour atteindre une vitesse de rotation constante.

L'expérience « Objets tournants Spinning Objects » s'applique jusqu'à 1000 Rowton-studs de force angulaire constante pour faire tourner le bloc 6 radians par seconde le long de l'axe Y du monde à une vitesse angulaire constante. Les Rowton-studs sont les unités physiques de Roblox pour mesurer torsionde rotation. Pour référencer les unités physiques de Roblox et comment elles se

Pour configurer une contrainte AngularVelocity :

  1. (Facultatif) Faites le contrôle visible dans l'espace 3D afin que vous puissiez référencer sa direction de rotation.

    1. Dans la barre de menu, naviguez dans l'modèle onglet, puis dans la section contraintes.
    2. Si ce n'est pas actuellement activé, cliquez sur Détails des contraintes pour afficher les aides visuelles des contraintes.
  2. Insérez une contrainte AngularVelocity dans la partie.

    1. Dans la fenêtre Explorateur , passez la souris sur la partie, puis cliquez sur l'icône ⊕. Un menu contextuel s'affiche.
    2. Dans le menu contextuel, insérez AngularVelocity . L'aide visuelle du contrôle est affichée au milieu de la pièce.
  3. Attribuez l'attribut de la pièce à la nouvelle contrainte.

    1. Dans la fenêtre Explorateur , sélectionnez la contrainte.
    2. Dans la Fenêtre propriétés ,
      1. Définir Attachment0 à SpinRotation .
      2. Définir AngularVelocity à 0, 6, 0 pour faire pivoter la pièce 6 rayons par seconde le long de l'axe Y. Remarquez que si vous avez défini cette propriété à 0, -6, 0, le bloc tournerait dans le sens horaire.
      3. Définir MaxTorque à 1000 pour appliquer jusqu'à 1000 Rowton-studs de force angulaire constante par seconde pour atteindre la vitesse d'angle cible.
      4. Gardez RelativeTo pour World pour faire pivoter le bloc par rapport à la position et à l'orientation du monde.
  4. Vérifiez la quantité de couple que vous avez définie fait tourner le bloc 6 radians par seconde le long de l'axe Y du monde.

    1. Dans la barre de menu, naviguez jusqu'à l' Testez onglet.

    2. Dans la section Simulation, cliquez sur le Mode Picker. Un menu déroulant s'affiche.

      Rapid playtest options in Test tab of Studio
    3. Sélectionnez courir . Studio simule l'expérience à la position de caméra actuelle sans votre avatar dans l'espace 3D.

Vous devrez peut-être ajuster votre couple en fonction de l'échelle de votre bloc et de toute force physique opposée dans votre environnement. Par exemple, les propriétés de la contrainte AngularVelocity dans l'expérience d'échantillonnement fonctionnent pour une partie de bloc avec une taille par défaut de 4, 1, 2 sur une plate-forme plate avec un matériau en plastique, et un environnement avec la grav

Cependant, si votre bloc est de plus grande taille et sur le terrain herbeux, vous devez augmenter votre propriété AngularVelocity.MaxTorque car la force angulaire doit surmonter à la fois la masse et la friction du bloc de l'environnement. Par exemple, la grande partie du bloc qui est quadruple la taille de la partie d'échantillon nécessite au moins 3000

Utiliser les contraintes HingeConstraint

HingeConstraint objets sont un type de contrainte mécanique qui permet à deux accessoires de tourner autour d'un axe, en limitant les accessoires à la même position et leurs axes principaux dans la même direction. Lorsque vous avez HingeConstraint.ActuatorType défini sur 0> moteur 0>, cette contrôle appl

De plus, lorsque vous insérez des accessoires dans une assemblage avec deux objets, les objets s'enroulent et essaient de tourner ensemble selon l'axe principal fixe de l'point d'attache. Si vous attachez l'un de ces objets, la force angulaire continue de faire tourner l'autre objet à une vitesse angulaire constante alors que le reste de l'assemblage reste stationnaire.

Par exemple, pour commencer à faire pivoter un objet spécifique dans une assemblage, la contrainte HingeConstraint doit savoir :

  • La position où vous voulez que les accessoires se chevauchent.
  • La direction positive ou négative pour appliquer une force angulaire.
  • Le nombre de radians que vous souhaitez que l'attribut tourne par seconde.
  • La quantité maximale de couple que le moteur peut appliquer pour l'attribut pour atteindre une vitesse angulaire constante.

Pour démontrer ce processus, vous ajouterez une assemblage de deux objets à votre espace de travail avec des accessoires dans les deux objets que l'une des contraintes d'un HingeConstraint référence à tourner le propulseur 3 radians par seconde (environ la moitié d'une rotation par seconde) le long de l'axe Y à une vitesse de rotation constante tout en la base du propulseur restant stationnaire.

Obtenez la ressource propeller

La boutique des créateurs est un onglet de la boîte à outils que vous pouvez utiliser pour trouver toutes les ressources créées par Roblox et sa communauté pour utiliser dans vos projets, y compris les modèlisation, les images, les maillages, l'audio, le plugin, la vidéo et les ressources de police. Vous pouvez utiliser la boutique des créateurs pour ajouter une ressource ou une bibliothèque de ressources directement dans une expérience ouverte.

Ce tutoriel fait référence à un modèle de hélice que vous pouvez utiliser lorsque vous répliquez chaque étape de la technique HingeConstraint de rotation des objets. Vous pouvez ajouter ce modèle à votre inventaire dans Studio en cliquant sur le lien Ajouter à l'inventaire dans le composant suivant. Une fois que les ressources sont dans votre inventaire, vous pouvez les réutiliser dans n'importe quel projet sur la plateforme.

Pour obtenir cette ressource propulseur de votre inventaire dans votre expérience :

  1. Dans la barre de menu, sélectionnez l' Affichage onglet.

  2. Dans la section Afficher , cliquez sur Boîte à outils . La Boîte à outils fenêtre s'affiche.

  3. Dans la boîte à outils fenêtre, cliquez sur l'onglet Inventaire . L'affichage de mes modèles .

  4. Cliquez sur la pavé Propeller . Le modèle s'affiche dans votre fenêtre d'fenêtre de jeu.

Configurer les accessoires

Vous pouvez spécifier à la fois la position où vous voulez que les accessoires se chevauchent et la direction du mouvement de rotation pour faire pivoter un objet spécifique dans une assemblage en ajoutant deux objets Attachment à l'assemblage, puis en configurant leur alinéa et leur orientation dans l'espace 3D.

L'expérience d'objets tournants Spinning Objects fait correspondre deux accessoires près de l'emplacement de l'hélice non ancrée avec la base ancrée, et oriente leur axe de rotation principal vers le haut afin qu'ils tournent à contre-sens. La base d'attribut ne peut pas tourner dans cet exemple car la base est ancrée.

Pour configurer les accessoires pour la contrainte articulée :

  1. Insérez un objet Attachment dans Tête et Base.

    1. Dans la fenêtre Explorateur , passez la souris sur Tête et cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
    2. Dans le menu, insérez un Attribution de page .
    3. Répéter ce processus pour Base .
    4. Renommez les deux accessoires HeadRotation et BaseRotation , respectivement.
  2. Rotatez HeadRotation et BaseRotation afin que le rayon principal de chaque accessoire soit tourné vers le haut sur l'axe Y. Cela signale à Studio de faire pivoter les accessoires vers la gauche.

  3. Déplacez BaseAttribution à la base de Base , et HeadAttribution à la base de 1> Propeller1> . Ceci dit à Studio où connecter le hinge lui-même, et interrupter les deux hochets à l'temps d'exécution.

Configurer la contrainte

Maintenant que vos accessoires ont une position à superposer et une direction de rotation, vous pouvez configurer les propriétés d'une contrainte HingeConstraint pour spécifier le nombre de radians que vous souhaitez que l'attribut tourne par seconde, et le montant maximum de couple que le moteur peut appliquer pour que l'attribut atteigne une vitesse angulaire constante.

Semblable à la technique précédente, l'expérience de l'objet tourbillant s'applique jusqu'à 1000 Rowton-studs de force angulaire constante pour faire tourner l'attribut 3 radians par seconde le long de l'axe Y à une vitesse angulaire constante. Cependant, comme la base de l'attribut est dans un objet ancré, seuls les propulseurs peuvent tourner.

Pour configurer une contrainte de hinge :

  1. Insérez un objet HingeConstraint dans Tête.

    1. Dans la fenêtre Explorateur , passez la souris sur Tête , puis cliquez sur l'icône ⊕. Un menu contextuel s'affiche.
    2. Dans le menu contextuel, insérez un HingeConstraint .
  2. Attribuez les accessoires du propulseur à la nouvelle contrainte afin que le propulseur tourne en relation à la base ancrée.

    1. Dans la fenêtre Explorateur , sélectionnez la contrainte.
    2. Dans la Fenêtre propriétés ,
      1. Set Attachment0 to BaseAttachment .
      2. Définir Attachment1 à HeadRotation . Le ressort s'affiche dans la fenêtre d'affichage.
  3. Dans la fenêtre Explorateur , sélectionnez la contrainte, puis dans la fenêtre propriétés ,

    1. Définir ActuatorType sur Moteur . Les nouveaux champs de propriété sont affichés.
    2. Définir MotorMaxTorque à 1000 pour appliquer jusqu'à 1000 Rowton-studs de force angulaire constante pour atteindre la vitesse angulaire cible.
    3. Définir AngularVelocity à 3 pour faire pivoter la tête du propulseur 3 radians par seconde.
  4. Vérifiez la quantité de couple que vous avez définie fait tourner la hélice 3 rayons par seconde le long de l'axe Y.

    1. Dans la barre de menu, naviguez jusqu'à l' Testez onglet.

    2. Dans la section Simulation, cliquez sur le Mode Picker. Un menu déroulant s'affiche.

      Rapid playtest options in Test tab of Studio
    3. Sélectionnez courir . Studio simule l'expérience à la position de caméra actuelle sans votre avatar dans l'espace 3D.

Appliquer une force angulaire initiale

Une autre façon de modifier la vitesse angulaire d'un objet est d'appliquer un impulsion de force angulaire. Après l'impulsion de la force angulaire, l'objet décèle jusqu'à ce qu'il devienne stationnaire si une force angulaire telle que la friction est présente, ou reste en mouvement avec une vitesse constante si aucune force angulaire n'est présente.

Cette technique est utile pour faire pivoter des objets après un événement de jeu ou de météo important, comme un souffle de vent fort, car elle fournit aux joueurs des commentaires instantanés. Pour démontrer, la sous-section suivante vous apprend à faire pivoter une assemblage avec une force angulaire initiale que vous pouvez adaptée avec de nouveaux valeurs pour répondre à vos propres exigences de jeu.

Utiliser ApplyAngularImpulse

La méthode ApplyAngularImpulse applique la torque sur toute une assemblage pour obtenir une vitesse angulaire initiale avant de ralentir à une arrêt. Pour commencer à tourner l'assemblage, la méthode doit savoir :

  • L'assemblage à faire tourner.
  • L'axe à appliquer à la vitesse angulaire pour atteindre une vitesse angulaire initiale.
  • La quantité de couple à appliquer à chaque axe.

Vous pouvez définir tous ces valeurs dans un script. Par exemple, le script d'exemple définit l'assemblage à tourner en tant que parent du script, puis applique un impulsion aléatoire de force angulaire entre 0 et 100 Rowton-studs sur l'axe Y.

Pour faire pivoter une assemblage à l'aide de ApplyAngularImpulse :

  1. Insérez une partie sphère dans le espace de travail . L'échantillon utilise une sphère avec un MaterialVariant afin que vous puissiez visualiser clairement le mouvement de la sphère.

  2. Insérez un script dans la nouvelle partie.

    1. Dans la fenêtre Explorateur , passez la souris sur la partie et cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
    2. Dans le menu, insérez un Script .
  3. Remplacez le code par défaut par le code suivant :


local part = script.Parent
local impulse = Vector3.new(0, math.random(0, 100), 0)
part:ApplyAngularImpulse(impulse)