Workspace

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst

Die rendern

Dieses Verhalten zu verstehen ist wichtig, da es bedeutet, dass Objekte aus dem Arbeitsbereich entfernt werden können, wenn sie nicht benötigt werden. Zum Beispiel kann die Karte Models aus dem Workspace entfernt werden, wenn eine andere Karte gespielt wird. Ob

In seiner Rolle als Halter von aktiven 3D-Objekten enthält Workspace eine Reihe von nützlichen Funktionen, die sich auf Teile, ihre Positionen und Verbindungen zwischen ihnen beziehen.

Zugriff auf den Arbeitsbereich

Workspace kann auf mehrere Wege zugänglich gemacht werden, alle von denen sind gültig.

  • workspace
  • game.Workspace
  • game:GetService("Workspace")

Notizen

Zusammenfassung

Eigenschaften

Eigenschaften von Model übernommen
  • Setzt die Detaillierungsstufe auf dem Modell für Erlebnisse mit eingeschaltetem Instanz- Streaming.

  • Steuert das Modell- Streaming-Verhalten auf Models, wenn das Instanz- Streaming aktiviert ist.

  • Parallel lesen

    Der Hauptteil des Model , oder nil wenn nicht explizit festlegen.

  • Nicht repliziert
    Nicht skriptfähig
    Parallel lesen

    Editor-only-Eigenschaft, die verwendet wird, um das Modell um seine Achse zu skalieren. Wenn Sie diese Eigenschaft einstellen, bewegt sich die Skala, als ob Model/ScaleTo auf sie aufgerufen wurde.

  • Nicht repliziert
    Parallel lesen

    Bestimmt, wo sich der Pivot eines Model , der nicht hat, befindet.

Eigenschaften von PVInstance übernommen

Methoden

Methoden von WorldRoot übernommenMethoden von Model übernommen
  • AddPersistentPlayer(playerInstance : Player):void

    Setzt dieses Modell so ein, dass es für den angegebenen Spieler:indauerhaft ist. Model.ModelStreamingMode muss so eingestellt sein, dass PersistentPerPlayer für das Verhalten als Ergebnis der Zugabe geändert wird.

  • Bietet eine Beschreibung eines Volumes, das alle Teile eines Modells enthält.

  • Gibt die Größe der kleinsten Kernkiste zurück, die alle BaseParts in der Model enthält, mit dem Alignment auf die Model.PrimaryPart , wenn es festlegenist.

  • Rückgibt alle Player -Objekte, für die dieses Modell-Objekt persistent ist. Das Verhalten variiert basierend darauf, ob diese Methode aus einem Script oder einem LocalScript aufgerufen wird.

  • Gibt die Skalierung des Modells zurück, die standardmäßig 1 für neu erstellte Modelle beträgt und sich ändern wird, wenn sie über Model/ScaleTo skaliert wird.

  • MoveTo(position : Vector3):void

    Bewegt den PrimaryPart an die angegebene Position. Wenn eine Primärteil nicht angegeben wurde, wird die Wurzelteil des Modells verwendet.

  • RemovePersistentPlayer(playerInstance : Player):void

    Macht dieses Modell für bestimmten Spieler:innicht mehr persistent. Model.ModelStreamingMode muss auf PersistentPerPlayer eingestellt sein, damit das Verhalten als Ergebnis der Entfernung geändert wird.

  • ScaleTo(newScaleFactor : number):void

    Setzt den Skalierungsfaktor des Modells, um die Größe und den Standort aller Nachkommen zuzuschneiden, damit sie diesen Skalierungsfaktor in Relation zu ihren ursprünglichen Größen und Standorten haben, wenn der Skalierungsfaktor 1 war.

  • TranslateBy(delta : Vector3):void

    Verschiebt ein Model durch den angegebenen Vector3 Versatz, wobei die Orientierung des Modells erhalten bleibt. Wenn ein weiterer BasePart oder 2>Class.Terrain2> bereits in der neuen Position existiert, wird das 5>Class.Model5> mit dem überschriebenen 8>Class.Model8> kollidieren.

Methoden von PVInstance übernommen

Ereignisse

Eigenschaften

AirDensity

Parallel lesen

Die Bodenebenen ( Y von 0) Luftdichte in RMU/stud³ Einheiten (siehe Roblox-Einheiten), die verwendet werden, um die aer

AllowThirdPartySales

Nicht repliziert
Parallel lesen

Diese Workspace Eigenschaft bestimmt, ob Assets, die von anderen Anwendungen erstellt wurden, im Spiel verkauft werden können.

Was sind Third-Party-Verkäufe?

Wenn dieser Wert falsch ist, wie es standardmäßig der Fall ist, können nur die Assets des Platzes, die von der Platzschöpferin (egal, ob sie ein Spieler oder eine Gruppe ist) und Roblox erstellt wurden, mit MarketplaceService verkauft werden.

In den meisten Fällen müssen Spiele keine Dritt-Assets verkaufen. jedoch erfordern einige Spiele wie Handelshängen diesen Feature und daher als Option zum Opt-in.

Welche Drittprodukte kann ich verkaufen?

Beachten Sie, dass Entwicklerprodukte nur in dem Spiel verkauft werden können, mit dem sie verbunden sind, unabhängig davon, was AllowThirdPartySales ist. Dies beeinflusst Spielpässe und 1>Kleidung1>.

AvatarUnificationMode

Nicht skriptfähig
Parallel lesen

CSGAsyncDynamicCollision

Nicht skriptfähig
Parallel lesen

ClientAnimatorThrottling

Parallel lesen

Gibt die Enum.ClientAnimatorThrottlingMode an, die für den lokalen Client verwendet wird.

Wenn aktiviert, beginnen Animationen auf entfernt simulierten Model Instanzen zu verlangsamen. Der Verlängerer berechnet die Verlängerungsintensität mit:

  • Sichtbarkeit eines Model in Bezug auf die Camera
  • Ego-Shooterim Spiel
  • Anzahl der aktiven Animationen

CurrentCamera

Nicht repliziert
Parallel lesen

Das Camera -Objekt, das von dem lokalen Spieler:inverwendet wird.

Wie verwende ich die aktuelle Kamera

Wenn Sie nach dem Client-Objekt Camera suchen, verwenden Sie diese Eigenschaft, anstatt nach einem Kind von Workspace mit dem Namen "Camera" zu suchen.

Wenn Sie diese Eigenschafteneinstellen, werden alle anderen Camera -Objekte in der Workspace zerstört, einschließlich der vorherigen CurrentCamera. Wenn Sie diese Eigenschaft auf null oder auf eine Kamera setzen, die nicht ein Nachkommen des Workspace (oder der 1> CurrentCamera1> ist

For more information, see Scripting der Kamera .

DistributedGameTime

Nicht repliziert
Parallel lesen

Die Menge der Zeit, in Sekunden, die das Spiel ausgeführt hat.

Trotz des Titels wird dieser Wert derzeit nicht 'verteilt' über den Client und den Server. Stattdessen repräsentiert er auf dem Server, wie lange der Server ausgeführt wurde. Auf dem Client repräsentiert er, wie lange der Client mit dem Server verbunden ist.

Entwickler sollten nicht auf das obige Verhalten angewiesen, und es ist möglich, dass diese Eigenschaft in Zukunft über Clients und den Server synchronisiert wird.

Diejenigen, die die Zeit seit dem Start des Programms suchen, sollten stattdessen die 'time'-Funktion verwenden. Siehe unten für einen Vergleich zwischen DistributedGameTime und seinen Alternativen.


print(workspace.DistributedGameTime) --> Time the game started running
print(os.time()) --> Time since epoch (1 January 1970, 00:00:00) UTC
print(tick()) --> Time since epoch (1 January 1970, 00:00:00) system time
print(time()) --> Time the game started running
print(elapsedTime()) --> Time since Roblox started running

FallenPartsDestroyHeight

Parallel lesen
Plugin-Sicherheit

Dieses Eigenschaft bestimmt die Höhe, bei der die Roblox-Engine automatisch fällende BaseParts und ihre Vorfahren Models von Workspace durch Elternteile von 1> nil1> fortfällen. Dies verhindert Teile, die von der Karte fallen, für immer.

Wenn ein Teil aufgrund dieses Verhaltens entfernt wird, ist das Modell das letzte Modell in einem Model , das Modell wird auch entfernt. Dies gilt für alle Modellvorfahren des Teils.

Diese Eigenschaft wird zwischen -50.000 und 50.000 eingeklemmt, da BaseParts nicht richtig simuliert oder gerendert werden, da die Schwimmungspunkte intransparent sind.

Diese Eigenschaft kann von Skripten gelesen, aber nur von Plugins, der Kommandoleiste oder dem Eigenschaften-Fenster in Studio festgelegt werden.

FluidForces

Nicht skriptfähig
Parallel lesen

Mit dieser Eigenschaft aktiviert, berechnet der Physikmotor auf BaseParts , deren EnableFluidForces -Eigenschaft wahr ist. Die Standard, Default, deaktiviert aerodynamische Kräfte. Beachten Sie, dass diese Eigenschaft nicht über Skripte gesetzt werden kann und stattdessen

GlobalWind

Parallel lesen

Diese Eigenschaft gibt die Richtung und Stärke an, in die der Wind durch die Erlebniswehen wird, was das Gelände, dynamische Wolken und Partikel beeinflusst. Siehe den Globalen Wind-Artikel für Details.

Gravity

Parallel lesen

Bestimmt die Beschleunigung aufgrund der Schwerkraft, die auf fallende BaseParts angewendet wird. Dieser Wert wird in Studs pro Sekunde berechnet und standardmäßig auf 196,2 Studs/Sekunde 2 festgelegt. Indem Sie diesen Wert ändern, können Entwickler die Effekte von niedrigerer oder höherer Schwerkraft im Spiel simulieren.

Code-Beispiele

Low Gravity Button

local MOON_GRAVITY_RATIO = 1.62 / 9.81
local DEFAULT_GRAVITY = 196.2
local MOON_GRAVITY = DEFAULT_GRAVITY * MOON_GRAVITY_RATIO
-- Create a touch pad
local pad = Instance.new("Part")
pad.Size = Vector3.new(5, 1, 5)
pad.Position = Vector3.new(0, 0.5, 0)
pad.Anchored = true
pad.BrickColor = BrickColor.new("Bright green")
pad.Parent = workspace
-- Listen for pad touch
local enabled = false
local debounce = false
local function onPadTouched(_hit)
if not debounce then
debounce = true
enabled = not enabled
workspace.Gravity = enabled and MOON_GRAVITY or DEFAULT_GRAVITY
pad.BrickColor = enabled and BrickColor.new("Bright red") or BrickColor.new("Bright green")
task.wait(1)
debounce = false
end
end
pad.Touched:Connect(onPadTouched)

IKControlConstraintSupport

Nicht skriptfähig
Parallel lesen

Aktiviert Unterstützung für Einschränkungen für IKControls. Der Default ist dasselbe wie Enabled. Wenn deaktiviert, ignorieren IKControls physische Einschränkungen. Siehe IKControl für weitere Details.

InsertPoint

Nicht repliziert
Parallel lesen

MeshPartHeadsAndAccessories

Nicht skriptfähig
Parallel lesen

Setzt, ob Charakter Köpfe und Zubehör als MeshParts heruntergeladen werden sollen. Der Default-Wert ist dieselbe wie Enabled. Wenn diese Funktion aktiviert ist, verwenden integrierte Avatare 1> Class.MeshPart|MeshParts1> für den Kopf und die Zubehör des Charakters.

ModelStreamingBehavior

Nicht skriptfähig
Parallel lesen

MoverConstraintRootBehavior

Nicht skriptfähig
Parallel lesen

Steuert die Logik, die verwendet wird, um den Montagemaschinen-Root-Teil für Mechanismen auszuwählen, die eines der folgenden Einschränkungen verwenden:

Wenn diese Eigenschaft auf Enum.MoverConstraintRootBehaviorMode.Enabled eingestellt ist, werden diese Einschränkungen ignoriert, wenn Sie die Montagemaschinenrückseite auswählen, wenn die Einschränkung keine Kr

Wenn diese Eigenschaft auf Enum.MoverConstraintRootBehaviorMode.Disabled eingestellt ist, können diese Einschränkungen beim Auswählen des Assemblage-Root-Teils falsch betrachtet werden, was zu einer Unzgodenen Netzwerkbesitz und Verzögerungen bei der Addition dieser Einschränkungen zu einem Mechanismus führt.

PathfindingUseImprovedSearch

Nicht skriptfähig
Nicht durchsuchbar
Parallel lesen

PhysicsSteppingMethod

Nicht skriptfähig
Parallel lesen

Setzt, wie der Solver die Physiksimulation im Laufe der Zeit voranträgt. Diese Option ist nicht skriptbar und muss von der PhysicsStepping Method-Eigenschaft von Arbeitsbereich innerhalb von Studio festgelegt sein. Siehe Adaptive Timestepping für Details.


<tbody>
<tr>
<td><b>Anpassbar</b></td>
<td>Der Engine versucht, für einzelne Montageplatten mit 240, 120 oder 60Hz die besten Simulationsraten zuzuweisen. Diese Einstellung wird für die Erfüllungoptimiert.</td>
</tr>
<tr>
<td><b>Repariert</b></td>
<td>Alle simulierten Montagemaschinen innerhalb des Arbeitsbereichs bewegen sich mit 240 Hz vorwärts. Diese Option ist am besten für eine optimale Stabilität und Simulationsgenauigkeit.</td>
</tr>
<tr>
<td><b>Standard</b></td>
<td>Der aktuelle Standard ist <b>Fixed</b> .</td>
</tr>
</tbody>
OptionBeschreibung

Beachten Sie, dass wenn Simulationsaggregate von verschiedenen Simulationsraten über Verbindungen via Constraints oder Kollisionen miteinander verbunden werden, der kombinierte Mechanismus standardmäßig auf die höchste Simulationsrate für Stabilität zurückgreift.

PlayerCharacterDestroyBehavior

Nicht skriptfähig
Parallel lesen

PrimalPhysicsSolver

Nicht skriptfähig
Parallel lesen

RejectCharacterDeletions

Nicht skriptfähig
Parallel lesen

RenderingCacheOptimizations

Nicht skriptfähig
Parallel lesen

ReplicateInstanceDestroySetting

Nicht skriptfähig
Parallel lesen
Parallel lesen

SandboxedInstanceMode

Nicht skriptfähig
Parallel lesen

SignalBehavior

Nicht skriptfähig
Parallel lesen

Dieses Eigenschaft bestimmt, ob Ereignishändler sofort nach dem Auslösen des Ereignisses wieder aufgenommen werden, oder differiert und dann zu einem späteren Zeitpunkt wieder aufgenommen werden. Aufnahmepunkte enthalten derzeit:

For more information, see Verzögerte Ereignisse .

StreamOutBehavior

Nicht skriptfähig
Parallel lesen

Die StreamOutBehavior -Steuerelemente, in denen die Inhalte aus dem ReplicationFocus basierend auf Geräte-Memory-Bedingungen oder basierend auf dem Streaming-Radius geladen werden.

Siehe auch:

StreamingEnabled

Parallel lesen
Plugin-Sicherheit

Die StreamingEnabled-Eigenschaft bestimmt, ob das Spielinhalt- Streaming für den Ort aktiviert ist. Diese Eigenschaft ist nicht skriptbar und muss deshalb auf dem Workspace-Objekt in Studio festgelegt sein.

Siehe auch:

StreamingIntegrityMode

Nicht skriptfähig
Parallel lesen

Wenn Streaming aktiviert ist, kann ein Erlebnis unbeabsichtigte Weise auf unintensive Weise in eine Region der Welt streamen, die nicht auf ihrem Client streamed wurde. Die Streaming- Integrität-Funktion bietet einen Weg, diese potenziell problematischen Situationen zu vermeiden.

StreamingMinRadius

Nicht skriptfähig
Parallel lesen

Die StreamingMinRadius Eigenschaft zeigt den Radius um den Charakter des Spieler:inoder die aktuelle ReplicationFocus in der die Inhalte streamt, in der höchsten Priorität. Standards auf 64 Studs.

Die Sorge sollte erhoben werden, wenn der Standard-Minimalradius erhöht wird, da dies mehr Speicher und mehr Server-Bandbreite kostet, während andere Komponenten auf Kosten anderer Komponenten.

Siehe auch:

StreamingTargetRadius

Nicht skriptfähig
Parallel lesen

Die StreamingTargetRadius -Eigenschaft kontrolliert die maximale Entfernung vom Charakter des Spieler:inoder der aktuellen ReplicationFocus in dem Inhalt, in dem der Inhalt streamed wird. Standard sind 1024 Studs.

Beachten Sie, dass der Engine die zuvor geladene Inhalte jenseits des Zielbereichs speichern darf, Memory- Berechtigung.

Siehe auch:

Terrain

Schreibgeschützt
Nicht repliziert
Parallel lesen

Dieses Eigenschaft ist eine Verweisung auf das Terrain -Objekt, das der Workspace zugewiesen ist.

Terrain object within the Workspace hierarchy

Siehe Umwelt/Terrain für mehr Informationen.

TouchEventsUseCollisionGroups

Nicht skriptfähig
Parallel lesen

TouchesUseCollisionGroups

Nicht skriptfähig
Parallel lesen

Dieses Eigenschaft bestimmt, ob parts in verschiedenen Gruppen, die nicht kollidieren sollen, kollisionen ignorieren und berühren-Ereignisse ignorieren. Standardmäßig ist der Wert dieser Eigenschaft auf false gesetzt.

Wenn diese Eigenschaft aktiviert ist, ignorieren Teile in verschiedenen Gruppen, die nicht kollidieren sollen, auch die Class.BasePart.CanTouch|CanTouch Eigenschaften, ähnlich wie die Class.BasePart.CanCollide -Eigenschaft. Für weitere Informationen über das Verhalten von CanTouch besuchen Sie bitte seine Eigenschaftsseite.

Methoden

GetNumAwakeParts

Parallel schreiben

Gibt die Anzahl der BaseParts, die als physisch aktiv betrachtet werden, aufgrund der kürzlich unter dem Einfluss von Physik.

Diese Funktion liefert einen Anhaltspunkt dafür, wie viele BaseParts letztlich von physischen Kräften beeinflusst werden, oder kürzlich unter dem Einfluss von Kräften.


print(workspace:GetNumAwakeParts()) -- prints the number of 'awake' parts

Schlafende vs Awake-Teile

Um eine gute Erfüllungzu gewährleisten, setzt Roblox


Rückgaben

Die Anzahl der wachen Teile.

GetPhysicsThrottling

Parallel schreiben

Gibt einen ganzzahligzurück, zwischen 0 und 100, die den Prozentsatz der Echtzeit darstellt, den die Physik-Simulation derzeit durchtritt.

Diese Funktion kann verwendet werden, um zu bestimmen, ob und in welchem Umfang Physik-Throttling stattfindet.

Was ist Physik eingeschränkt?

Physics throttling occurs when the physics engine detects it cannot keep up with the game in realtime. When physics is throttling, it will update less frequently causing BaseParts to appear to move slower.

Ohne die gedrosselten Physiksimulation würde die Spiel-Physik weiter zurückfallen, wodurch die Bildrate und andere unerwünschte Verhalten entstehen können.

Objekte, die mit Humanoids verbunden sind, sind von der Physik-Schleuse befreit.

Siehe auch Workspace:SetPhysicsThrottleEnabled() .

Physikalische Einschränkungen demonstrieren

Entwickler sollten immer vermeiden, Orte zu erstellen, die den Physikmotor überlasten, da dies zu einer Untererfahrung für Spieler führt. Diejenigen, die jedoch den Physikmotor für Forschungszwecke simulieren möchten, müssen nur viel Parts sehr schnell erstellen.


local i = 0
while true do
i += 1
if i % 5 == 0 then
task.wait()
end
local part = Instance.new("Part", workspace)
end

Rückgaben

Der Prozentsatz der Echtzeit, der derzeit durch Physiksimulation gedrosselt wird.

GetRealPhysicsFPS

Parallel schreiben

Gibt die Anzahl der Frames pro Sekunde zurück, bei der die Physik derzeit simuliert wird.

Verwendung von GetRealPhysicsFPS, um Exploiter zu bekämpfen

Eine häufige Verwendung dieser Funktion ist es, zu überprüfen, ob Exploiter ihre lokale Physikrate erhöhen, um schneller zu bewegen. Dies wird normalerweise durch Vergleich der von einem Client's GetRealPhysicsFPS zurückgegebenen Ergebnis mit einem Maximum, das nicht in üb


Rückgaben

Gibt die Anzahl der Frames pro Sekunde zurück, bei der die Physik derzeit simuliert wird.

Code-Beispiele

Workspace:GetRealPhysicsFPS

local Players = game:GetService("Players")
local player = Players.LocalPlayer
while task.wait(1) do
if workspace:GetRealPhysicsFPS() > 65 then
player:Kick()
end
end

GetServerTimeNow

Parallel schreiben

GetServerTimeNow gibt die Epochenzeit auf dem Server mit Mikro秒-Präzision zurück. Die Zeit wird für Flow und Glättung aufgeschlüsselt (es ist garantiert, dass es nicht abnimmt). Der Server-Clock fortschreitet nicht schneller als 1.006× Geschwindigkeit und nicht weniger als 0.994× Geschwindigkeit.

Gibt eine Unix-Timestamp zurück, die mit os.date() oder mit DateTime.fromUnixTimestamp() verwendet werden kann.

Diese Funktion ist nützlich für die Erstellung synchronisierter Erlebnisse, da sie drei Eigenschaften hat, die für die Erstellung derselben erforderlich sind: eine reale Welt-Zeituhr, eine Monotonie und eine anständige Präzision.

Diese Funktion basiert auf dem Server, so dass das Aufrufen von ihm aus einem Client, das nicht verbunden ist, einen Fehler wird werfen.

Siehe auch:


Rückgaben

Die geschätzte Epochenzeit auf dem Server.

JoinToOutsiders

void

Diese Funktion erstellt Verbindungen zwischen dem angegebenen Parts und allen berührenden Teilen, abhängig von den Oberflächen der Teile und dem angegebenen Joint-Erstellungsmodus.

Diese Funktion erstellt Verbindungen zwischen den angegebenen Teilen und allen planaren berührenden Oberflächen, abhängig von den Oberflächen der Teile und dem angegebenen Verbindungsmodus.

  • Kleber, Schrauben, Steckverbindungen, Universal, Schmelzen und Glätten werden alle Weld-Instanzen erstellen.
  • Kugeln werden nicht auf irgendetwas schweißen. Die abgerundeten Seiten von Zylindern werden nicht aufschweißen, aber die flachen Endseiten werden.
  • Die Verzahnungen und Motoroberflächen erzeugen immer noch Rotate und RotateP gemeinsame Instanzen, unabhängig von der Teild形.

Der erste Parameter ist ein Array von BaseParts . Joints werden nur zwischen den Teilen in dem Array erstellt und nicht in dem Array. Joints werden nicht zwischen den Teilen in dem Array erstellt.

Der zweite Parallelter ist ein Enum.JointCreationMode, der bestimmt, wie Joints erstellt werden. Wenn Sie einen Enumer-Wert, Enum.JointCreationMode.All oder Enum.JointCreationMode.Surface übergeben, hat das gleiche Verhalten, was dem immer beitreten gleichkommt

Diese Funktion wird von dem Roblox Studio Move-Werkzeug verwendet, wenn der Benutzer die Auswahl eines Elements beendet hat. In Zusammenarbeit mit Plugin:GetJoinMode() und Workspace:UnjoinFromOutsiders() kann sie verwendet werden, um die Funktion "Join" zu entwickeln, wenn Benutzer benutzerdefinierte Studio-Build-Tools entwickeln. Siehe die Schnipets unten für ein Beispiel.


-- finished moving a selection, make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end

-- hat begonnen, eine auswahl zu bewegen, zusammenhänge zu brechen
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end

Parameter

objects: Instances

Ein Array von BaseParts für wen Gemeinschaften getroffen werden sollen.

Der Enum.JointCreationMode wird verwendet. Wenn Sie in Enum.JointCreationMode.All oder Enum.JointCreationMode.Surface passieren, haben Sie dasselbe Verhalten, das der Beitritt immer gleich ist.


Rückgaben

void

PGSIsEnabled

Kehrt wahr zurück, wenn das Spiel den PGS Physics-Solver aktiviert hat.

Da Workspace.PGSPhysicsSolverEnabled Skripten nicht zugänglich ist, kann die Funktion PGSIsEnabled den Entwicklern sagen, welcher Physik-Solver das Spiel verwendet.


print(workspace:PGSIsEnabled()) -- true = PGS solver enabled
print(workspace:PGSIsEnabled()) -- false = Legacy solver enabled

Rückgaben

Gilt, wenn der PGS-Solver aktiviert ist.

UnjoinFromOutsiders

void

Bricht alle Verbindungen zwischen dem angegebenen BaseParts und anderen BaseParts.

Diese Funktion erfordert ein Array von BaseParts . Beachten Sie, dass sich die Verbindungen zwischen diesen BaseParts (einander) nicht brechen, nur zwischen diesen BaseParts und anderen 1> Class.BasePart|BaseParts1> nicht in dem Array.

Diese Funktion wird von dem Roblox Studio Move-Werkzeug verwendet, wenn der Benutzer eine Auswahl beginnt zu bewegen. In Kombination mit Plugin:GetJoinMode() und Workspace:JoinToOutsiders() kann sie verwendet werden, um die Funktion "Beitreten" beim Entwickeln benutzerdefinierter Studio-Build-Tools zu beibehalten. Siehe die Schnipets unten für ein Beispiel.


-- finished moving a selection, make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end

-- started moving a selection, break joints
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end

Parameter

objects: Instances

Ein Array von BaseParts für wen Joints zerbrochen werden sollen.


Rückgaben

void

ZoomToExtents

void
Plugin-Sicherheit

Positioniert und zoomt die Workspace.CurrentCamera, um die Extensität von BaseParts im Workspace zu zeigen.

Diese Funktion wurde in der, jetzt entfernten, 'Zoom To Extents' -Schaltfläche in Roblox Studio verwendet. Es zeigt ähnliches Verhalten wie die 'Zoom To' -Funktion (Tastenkombination), zeigt jedoch die Extents des Workspace anstelle des aktuell ausgewählten Objekts an.

Diese Funktion kann in Skripts nicht verwendet werden, aber in der Befehlsleiste oder Plugins funktionieren.


Rückgaben

void

Ereignisse

PersistentLoaded

Dieses Ereignis feuert jedes Mal, wenn ein Spieler alle verfügbaren persistenten Modelle und teilweise atomaren Modelle erhalten hat, ab. Der player-Parameter zeigt an, welcher Spieler alle verfügbaren Instanzen erhalten hat.

Beachten Sie, dass das Erlebnis-Laden vor dem persistente-Laden-Ereignis stattfindet, und das Feuern des DataModel.Loaded -Ereignisses zeigt nicht an, dass alle persistenten Modelle vorhanden sind.

Parameter

player: Player