Drehende Objekte sind Objekte, die auf einem oder mehreren Achsen innerhalb des Platzgedreht werden. Mit der integrierten Kraft des SimulationsEngine von Roblox können Sie Objekte drehen und mit ihrem Umgebung in einer Weise interagieren, die dem reellen physikalischen Verhalten ähnelt, die für Spieler vertraut und intuitiv ist, wie z. B. Schwerkraft, Luftdynamik und Reibung.
Dieses Tutorial verwendet die Spinning Objects.rbxl Datei als Referenz und erklärt, wie physische Kräfte die Winkelbewegung in Studio beeinflussen, und zeigt Ihnen verschiedene Techniken, Objekte in Ihren Erlebnissen mit verschiedenen Drehverhalten zu drehen, einschließlich Anleitung:
- Verwendung eines AngularVelocity Mover-Konstraints, um eine gesamte Konstruktion mit einer konstanten angelgeschwindigkeit zu drehen.
- Durch die Verwendung einer HingeConstraint mechanischen Einschränkung, um ein Teil innerhalb einer Montage mit einer konstanten angelgeschwindigkeit zu drehen, während der Rest der Montage stationär bleibt.
- Mit der Methode ApplyAngularImpulse wird ein Montage mit einem anfänglichen Impuls von Eckenkräfte gedreht, sodass die Montage langsam abnimmt, während sie im Laufe der Zeit.
Winkel Bewegungen und physische Kräfte
Roblox Studio ist ein realistischer Simulationsmotor, der das physische Verhalten in Echtzeit simuliert, so dass es wichtig ist, ein hohes Verständnis zu haben, wie Objekte in Erlebnissen drehen, mit einem Winkel Bewegung. Anguläre Bewegung , oder Rotationsbewegung, ist Bewegung um einen festen Punkt oder eine Achse. Zum Beispiel, wenn ein Propeller eine anguläre Bewegung hat, dreht es sich um seine rotatorische Achse in der Mitte des Propellers.
Anguläre Bewegung kann nicht ohne externe, physische Kräfte existieren, die Objekte zu drehen. Laut Newton's erste Gesetz des Bewegens bleiben stationäre Objekte stationär und bewegliche Objekte in Bewegung mit einer konstanten Geschwindigkeit, es sei denn, sie werden von einer externen Kraft wie dem Wind gedreht. Zum Beispiel bleibt ein stationärer Propeller still, es sei denn, eine physische Kraft wie der Wind ihn dazu zwingt, zu drehen.
Drehmoment ist die Messung der physischen Kraft, die Objekte drehen lässt, und ist für Objekte, die einen Winkelbeschleunigung erhalten, verantwortlich. Dieser Konzept ist besonders wichtig für Objekte, die in Studio drehen; je mehr Sie ein Objekt drehen, desto schneller kann es beschleunigen.
Dies liegt daran, dass der Drehmoment größer sein muss als alle Richtungskräfte, die gegen das Objekt ziehen, wie z. B. Schwerkraft oder Reibung. Zum Beispiel, wenn Sie den Propeller in den Dirt platzieren, muss die physische Kraft des Windes die Menge der Reibung aus dem Dirt überwinden, um den Spinning Propeller weiter zu beschleunigen. Wenn die Kraft des Windes nicht viel
Angular velocity ist die Messung der bewerteneines Objekts, oder wie schnell das Objekt um einen bestimmten Punkt oder eine Achse über einen Zeitraum dreht. Studio misst die Angular velocity nach der Anzahl der Radian pro Sekunde, die ein Objekt dreht. Es gibt
Die folgenden Abschnitte gehen tiefer in diese Konzepte ein, da du lernst, wie man Objekte mit einer konstanten oder anfangs angewinkelten Geschwindigkeit drehen kann, mit der notwendigen Drehmoment, um alle gegenwärtigen physischen Kräfte innerhalb der Umgebung zu überwinden. Wenn du diese Physik-Konzepte mit den bevorstehenden Techniken überprüfst, kannst du die Eigenschaftswerte besser vorhersagen, um ein ideal drehendes Verhalten in Studio zu erreichen.
Eine konstante Winkelkraft erhalten
Für ein Objekt, um eine konstante angelicale Geschwindigkeit zu erreichen und zu erhalten, braucht es eine angelicale Kraft, um jede entgegengesetzte physische Kräfte zu überwinden, die entweder die angelicale Geschwindigkeit des Objekts verlangsamen oder es stationär halten. Zum Beispiel, wenn Sie ein Objekt in Studio [0, 12, 0]
Die Menge des Drehmoments, die du auf deine Objekte anwendest, hängt nicht nur von physischen Kräften innerhalb der Umgebung selbst ab, wie z. B. Schwerkraft und Reibung, sondern auch von dem Objekt selbst. Zum Beispiel, wenn du zwei Objekte desselben Formats hast, die auf demselben Achse drehen, benötigt das größere Objekt mit dem größeren Moment der Inertie mehr Drehmoment, um die gleiche kinetische Beschleunigung zu erreichen.
Die folgenden Unterabschnitte verwenden Assemblies von verschiedenen Formen und Größen, um dir zu zeigen, wie du ein ganzes Objekt oder nur einen Teil des Objekts drehen kannst. Wenn du mit verschiedenen Eigenschaftswerten experimentierst, wirst du lernen, wie du die maximale Menge an Drehmoment schätzen kannst, die du für Assemblies in deinen eigenen Erlebnissen benötigst.
Verwendung von AngularVelocity-Beschränkungen
AngularVelocity Objekte sind eine Art Bewegungseinschränkung, die den Drehmoment auf eine gesamte Montage anwenden, um eine konstante lineare Geschwindigkeit zu erhalten. Um das Montieren der Montage zu beginnen, muss die AngularVelocity Beschränkung wissen:
- Der Punkt und die positive oder negative Richtung, in die ein Winkelkraft angewendet werden kann.
- Die Menge an Radian, die die Montagemaschine pro Sekunde drehen soll.
- Die maximale Menge an Drehmoment, die der Motor für die Montage anwenden kann, um eine konstante anguläre Geschwindigkeit zu erreichen.
Um diesen Prozess zu demonstrieren, fügst du einen Block zu deinem Arbeitsbereich mit einem Zubehör hinzu, das ein AngularVelocity-Einschränkung mit Verweisen auf einen 6-Rad pro Sekunde auf der Y-Achse in einer konstanten Winkelgeschwindigkeit oder etwa einer vollständigen Rotation demonстриert.
Anbauten hinzufügen
Du kannst den festen Punkt angeben, um eine Montagemaschine zu drehen, indem du ein Class.Rotation -Objekt an die Montagemaschine anfügst und dann die Position des Anhangs im Platzkonfigurierst. Die Sammlung Spinning Objects platziert ein Anhang in der Mitte eines Blockte, sodass der Beschränkung das Teil entgegen dem Uhrzeigersinn um die Mitte des Blocks drehen kann.
Zubehör sind visuelle Helfen, um Ihnen zu helfen, die Achsen ihrer Rotation zu sehen. Die gelbe Pfeil zeigt die Hauptachse des Anhangan, und die orange Pfeil zeigt die Sekundärachse des Anhangan. Während beide Achsen der Rotation den Blöckein den Schritten dieser Technik nicht beeinflussen, ist es wichtig, diese visuellen Helfen für zukünftige Referenzen zu verstehen,
Um ein Anhanghinzuzufügen:
In dem Explorer-Fenster fügen Sie einen Block Teil in den Arbeitsbereich ein.
Füge ein Zubehör an das neue Teil ein.
- In dem Explorer-Fenster bewegen Sie den Mauszeiger über das Teil und klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Von dem Menü, fügen Sie ein Zubehörteil ein. Das Zubehörteil wird in der Mitte des Teils angezeigt.
- Benennen Sie das Zubehör in SpinAttach um.
Konfigürieren Sie Constraint
Jetzt, da dein Block einen festen Punkt hat, um den Blöckezu drehen, kannst du die Eigenschaften eines AngularVelocity-Einschränkung konfigurieren, um die Richtungsrichtung, die Achse oder die Achsen anzuwenden, um eine Zielkonstante Geschwindigkeit anzuwenden, die Anzahl der Radian, die du möchtest, dass der Block pro Sekunde dreht, und die maximale Anzahl von Drehmoment, die der Motor für den Block anwenden kann, zu bestim
Die Erfahrung Spinning Objects für das Drehen des Blocks 6 Radians pro Sekunde auf der Y-Achse in einer konstanten Winkelgeschwindigkeit im ganzen Welt bei einer konstanten Winkelkraft von 1000 Rowton-Studs anhält bis zu 1000 Rowton-Studs. Rowton-Studs sind die primären physischen Einheiten von Roblox, um die Drehmoment zu messen. Um die Roblox-Phys
Um ein Class.AngularVelocityBeschränkungzu konfigurieren:
(Optional) Machen Sie den Constraint in der 3D-Ebene sichtbar, damit Sie auf seine drehende Richtung referenzieren können.
- In der Menüleiste, navigieren Sie zur Modell--Registerkarte, dann zur Einschränkungen--Sektion.
- Wenn es derzeit nicht aktiviert ist, klicken Sie auf Einschränkung-Details , um die Einschränkungsvisualhilfen anzuzeigen.
Fügen Sie einen AngularVelocity Einschränkung in das Teil ein.
- In dem Explorer-Fenster bewegen Sie den Mauszeiger über das Teil und klicken Sie dann auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Vom Kontextmenü, fügen Sie AngularVelocity ein. Die visuelle Hilfe des Beschränkungwird in der Mitte des Teils angezeigt.
Weisen Sie dem Teil die neue Beschränkungzu.
- In dem Explorer-Fenster , wählen Sie die Beschränkung.
- Im Eigenschaften -Fenster,
- Set Attachment0 to SpinAsset .
- Setzen Sie AngularVelocity auf 0, 6, 0 , um das Teil 6 Radian pro Sekunde entlang der Y-Achse zu drehen. Beachten Sie, dass wenn Sie diese Eigenschaft auf 0, -6, 0 setzen, der Block im Uhrzeiger drehen würde.
- Setzen Sie MaxTorque auf 1000 , um bis zu 1000 Rowton-Studs pro Sekunde an konstanter angularer Kraft zu erreichen, um die Zielgeschwindigkeit zu erreichen.
- Behalten Sie RelativeTo zu World um den Block in der Position und Ausrichtung der Welt zu drehen.
Überprüfen Sie die Menge des Torsions, die Sie einstellen, spins the block 6 Radians pro Sekunde auf der Y-Achse der Welt.
In der Menüleiste navigiere zur Test- -Registerkarte.
In der Simulation--Sektion klicken Sie auf die Modus-Auswahl-. Ein Dropdown-Menü wird angezeigt.
Wählen Sie Run . Studio simuliert die Erfahrung an der aktuellen Kameraposition ohne Ihren Avatar im Platz.
Du musst deinen Drehmoment anpassen, abhängig von der Skalierung deines Blöckeund any opportionalen physischen Kräfte in deiner Umgebung. Zum Beispiel funktionieren die Eigenschaften des AngularVelocity-Konstraints in der Beispiel-Erlebnissen auf einer flachen Plattform mit einem Standard-Größenbereich von 4, 1, 2 auf einer Plastik-Material- mit einem Umgebung mit der
Wenn dein Block jedoch größerer Größe und auf Geländeist, musst du deine Eigenschaft AngularVelocity.MaxTorque erhöhen, da die angelare Kraft sowohl die Masse als auch die Reibung des Blöckeaus der Umgebung überwinden muss. Zum Beispiel muss der große Blockpart, der das Quadruple der Größe des Blocks ist, mindestens
Verwendung von HingeConstraint-Einschränkungen
HingeConstraint Objekte sind eine Art mechanische Einschränkung, die es zwei Anhänge erlaubt, sich um einen Achse zu drehen, die Anhänge an derselben Position und ihre Primärachsen in derselben Richtung zu begrenzen. Wenn Sie Class.HingeConstraint auf Motor festlegen, gilt diese Einschränkung für
Darüber hinaus, wenn du Zubehör in eine Montage mit zwei Objekten platzierst, verriegeln die Objekte zusammen und versuchen, zusammen zu drehen, gemäß der feste Primärachse des Anhang. Wenn du eines dieser Objek ankerst, versucht die angelnde Kraft, das andere Objekt bei einer konstanten Angelgeschwindigkeit zu drehen, während der Rest der Montage stationär bleibt.
Zum Beispiel muss der HingeConstraint-Konstrunktion innerhalb einer Montagemaschine wissen, um das Drehen eines bestimmten Objekts zu beginnen:
- Die Position, in der Sie die Anhänge überschneiden möchten.
- Der Punkt und die positive oder negative Richtung, in die ein Winkelkraft angewendet werden kann.
- Die Menge an Radian, die du möchtest, dass das Zubehör pro Sekunde dreht.
- Die maximale Menge an Drehmoment, die der Motor für die Anbauten anwenden kann, um eine konstante anguläre Geschwindigkeit zu erreichen.
Um diesen Prozess zu demonstrieren, fügst du eine Propeller-Montage mit zwei Objekten zu deinem Arbeitsbereich mit Anhängen in beiden Objekten hinzu, die eine HingeConstraint-Einschränkung auf den Spinner 3 Radian pro Sekunde (etwa die Hälfte einer vollständigen Rotation pro Sekunde) entlang der Y-Achse bei konstanter angelicher Geschwindigkeit basierend auf der Basis des Propellers stationär bleibt.
Propeller-Asset erhalten
Der Creator-Store ist ein Tab der Toolbox, die Sie verwenden können, um alle Assets, die von Roblox und der Roblox-Community für den Gebrauch in Ihren Projekten erstellt wurden, zu finden, einschließlich Modell, Bild, Mesh, Audiodateien, Plug-in, Video und Schriften Assets. Sie können den Creator-Store verwenden, um ein einzelnes Asset oder Asset-Library direkt in eine offene Erlebnishinzuzufügen.
Dieses Tutorial bezieht sich auf ein Propeller-Modell, das Sie verwenden können, wenn Sie jeden Schritt der HingeConstraint -Technik der Spin-Objekte replizieren. Sie können dieses Modell zu Ihrem Inventar innerhalb von Studio hinzufügen, indem Sie auf die Schaltfläche Zum Inventar hinzufügen in der folgenden Komponente klicken. Sobald die Assets in Ihrem Inventar sind, können Sie sie in jedem Projekt
Um diesen Propeller-Asset aus deinem Inventar in deine Erlebniszu holen:
In der Menüleiste wählen Sie die Ansicht -Registerkarte.
In der Show -Sektion, klicken Sie auf Toolbox . Das Toolbox-Fenster wird angezeigt.
In dem Toolbox-Fenster , klicken Sie auf die Registerkarte Inventar . Die My Models Sortierungen werden angezeigt.
Klicken Sie auf die Propeller- -Kachel. Das Modell wird in Ihrem Ansichtsfenster angezeigt.
Anbauten konfigurieren
Du kannst sowohl die Position angeben, an der du die Anhänge überlappen möchtest, als auch die Richtung der Rotation, um ein bestimmtes Objekt innerhalb einer Montage durch zwei Attachment -Objekte zu konfigurieren, und dann die Ausrichtung und Ausrichtung in dem Platzzu konfigurieren.
Die Spinning Objects -Erlebnisrichtung misst zwei Anhänge in der Nähe der Position, in der sich der unverankerte Propeller mit der verankerten Basis überlässt, und orientiert ihre Hauptachse der Rotation nach oben, damit sie gegen den Uhrzeigersinn drehen. Die Basis-Anhängnis kann in diesem Beispiel nicht drehen, da die Basis verankert ist.
Um die Anhänge für die Beschränkungzu konfigurieren:
Fügen Sie ein Attachment Objekt in Kopf und Basis ein.
- In dem Explorer-Fenster bewegen Sie den Mauszeiger über Kopf und klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Von dem Menü, fügen Sie ein Zubehör ein .
- Wiederholen Sie diesen Prozess für Basis .
- Benennen Sie beide Anhänge Kopf-Anhang und Basis-Anhang , jeweils.
Drehen Sie Kopf-Anbauten und Basis-Anbauten , damit die primäre Achse jedes Anbautens in Richtung Y zeigt. Dies sagt Studio, dass die Anbauten gegen den Uhrzeigersinn drehen.
Bewegen Sie BaseAttachment an die Spitze von Base und HeadAttachment an die Unterseite von 1> Propeller1>. Dies sagt Studio, wo Sie das Hintereck des Hingezogenen ansteuern und beide Anhänge zur Laufzeit überlappen.
Konfigürieren Sie Constraint
Da Ihre Anhänge jetzt eine Position zum Überlappen haben und eine Richtung der Rotationsbewegung, können Sie die Eigenschaften eines HingeConstraint-Konstraints konfigurieren, um die Anzahl der Radian pro Sekunde zu spezifizieren, die Sie das Attribut eines Class.HingeConstraint-Konstraints angeben möchten, und die maximale Anzahl von Drehmoment, die der Motor für das Attribut anwenden kann, um die Wendegeschwindigkeit konstant zu verwalten.
Ganz ähnlich wie die vorherige Technik gilt die Erfahrung Spinning Objects für bis zu 1000 Rowton-Studs an konstanter Angriffsstärke, um das Attribut 3 Radians pro Sekunde entlang der Y-Achse bei einer konstanten Angriffsgeschwindigkeit zu drehen. Die Basis-Attribut jedoch ist in einem verankerten Objekt, kann nur der Propeller-Attribut drehen.
Um eine Beschränkungzu konfigurieren:
Fügen Sie ein HingeConstraint Objekt in Kopf ein.
- In dem Explorer-Fenster bewegen Sie den Mauszeiger über Kopf und klicken Sie dann auf das ⊕-Symbol. Ein Kontextmenü wird angezeigt.
- Vom Kontextmenü, fügen Sie einen HingeConstraint ein.
Weisen Sie den Anbauten des Propellers an den neuen Constraint, damit der Propeller in Beziehung zur verankerten Basis dreht.
- In dem Explorer-Fenster , wählen Sie die Beschränkung.
- Im Eigenschaften -Fenster,
- Set Attachment0 to BaseAttachment .
- Set Attachment1 zu Kopf-Anbauten . Die Schiene wird in der Ansichtsfenster angezeigt.
In dem Explorer-Fenster , wählen Sie die Beschränkung, dann in dem Eigenschaften-Fenster ,
- Set ActuatorType to Motor . New property fields display.
- Setzen Sie MotorMaxTorque auf 1000, um bis zu 1000 Rowton-Studs konstante Angriffsgeschwindigkeit zu erreichen.
- Set AngularVelocity auf 3 um den Kopf des Propellers 3 Radians pro Sekunde zu drehen.
Überprüfen Sie die Menge des Drehmoments, die Sie einstellen, dreht den Propeller 3 Radian pro Sekunde entlang der Y-Achse.
In der Menüleiste navigiere zur Test- -Registerkarte.
In der Simulation--Sektion klicken Sie auf die Modus-Auswahl-. Ein Dropdown-Menü wird angezeigt.
Wählen Sie Run . Studio simuliert die Erfahrung an der aktuellen Kameraposition ohne Ihren Avatar im Platz.
Angewende eine angewinkelte Kraft
Eine andere Möglichkeit, die Geschwindigkeit eines Objekts zu ändern, ist, einen Impuls von angulären Kraft anzuwenden. Nach dem Impuls von angulären Kraft wird das Objekt entweder abgesetzt, bis es stationär wird, wenn es einen gegenüberliegenden Kraft wie Reibung oder Bewegung mit konstanter Geschwindigkeit ist.
Diese Technik ist nützlich, um Objekte nach einem wichtigen Spiel oder einem Wetterereignis, wie einem starken Wind, zu drehen, da sie den Spielern sofortige Feedback bietet. Um zu zeigen, zeigt die folgende Untersektion, wie Sie eine Montage mit einer ursprünglichen zufälligen Kraft drehen können, die Sie mit neuen Werten anpassen können, um Ihren eigenen Spielanforderungen zu erfüllen.
Verwendung von ApplyAngularImpulse
Die Methode ApplyAngularImpulse gilt für den gesamten Montage, um eine anfängliche angehende Geschwindigkeit vor dem Bremsen zu einem Stopp zu erhalten. Um das Montieren des Assemblies zu beginnen, muss die Methode wissen:
- Die Montage zum Drehen.
- Die Achse, um den Drehgeschwindigkeit anzuwenden, um eine initiale Winkelgeschwindigkeit zu erreichen.
- Die Menge des Drehmoments, die auf jede Achse angewendet wird.
Sie können alle diese Werte in einem Skript, das. PL: die Skriptsdefinieren. Zum Beispiel definiert das Beispiel-Skript die Montagemaschine, um als übergeordnetes Teildes Skript, das. PL: die Skriptsgedreht zu werden, und dann wendet es einen zufälligen Impuls von angelica Kraft zwischen 0 und 100 Rowton-Studs auf der Y-Achse an.
Um eine Montagemaschine mit ApplyAngularImpulse zu drehen:
Fügen Sie einen Kugel Teil in den Arbeitsbereich ein. Die Probe verwendet eine Kugel mit einem MaterialVariant , damit Sie die Bewegung der Kugel gut sichtbar machen können.
Fügen Sie ein Skript in den neuen Teil ein.
- In dem Explorer-Fenster bewegen Sie den Mauszeiger über das Teil und klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Von dem Menü, fügen Sie ein Skript ein.
Ersetzen Sie den Standardcode durch den folgenden Codes:
local part = script.Parentlocal impulse = Vector3.new(0, math.random(0, 100), 0)part:ApplyAngularImpulse(impulse)