PVInstance

Veraltete anzeigen

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

Nicht erstellbar
Nicht durchsuchbar

Ein PVInstance ("Position Velocity Instance") ist eine abstrakte Klasse, die nicht erstellt werden kann. Es ist die Basis für alle Objekte, die eine physische Position in der Welt haben, insbesondere BaseParts und Class.Model|Model ".

Zusammenfassung

Eigenschaften

Methoden

Eigenschaften

Origin

Nicht repliziert
Nicht skriptfähig
Parallel lesen

Pivot Offset

Nicht repliziert
Nicht skriptfähig
Parallel lesen

Methoden

GetPivot

Parallel schreiben

Diese Funktion erhält die Achse eines PVInstance. Dies wird oft mit PVInstance:PivotTo() verwendet, um ein Modell zu bewegen.

Models und BaseParts sind beide PVInstances ("Position Velocity Instances") und haben daher diese Funktion.


Rückgaben

Code-Beispiele

Simple Character Teleportation

-- This code should be placed in a LocalScript under StarterPlayerScripts
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
local function doTeleport(_actionName, inputState, _inputObject)
local character = player.Character
if character and character.Parent and inputState == Enum.UserInputState.Begin then
-- Move the character 10 studs forwards in the direction they're facing
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)

PivotTo

void

Transformiert die PVInstance zusammen mit allen ihrer Nachkommen PVInstances, wodurch der Pivot jetzt an der angegebenen CFrame liegt. Dies ist die primäre Funktion, die verwendet werden sollte, um 1> Class.Model|Model1> über Scriptingzu bewegen.

BaseParts werden in dieser Weise verschoben, indem ihr CFrame durch den erforderlichen Versatzverwandelt wird. Models werden in dieser Weise verschoben, indem ihr 0> Class.Model.WorldPivot0> durch den erforderlichen Versatzverwandelt wird.

Beachten Sie, dass für Effizienz Zwecke Object.Changed -Ereignisse nicht für Position und Orientation von 1> Class.BasePart|BaseParts1> in dieser Weise bewegt werden; sie werden nur für 4> Datatype.CFrame4> .

Wenn Sie PivotTo auf Models aufrufen, werden die Abweichungen der absteigenden Teile und Modelle zwischen den Teilen, die das Modell bilden, zwischengespeichert, sodass nachfolgende Aufrufe von PivotTo auf dem gleichen Modell keine Schwimmel점-Verschiebung zwischen den Teilen

Models und BaseParts sind beide PVInstances ("Position Velocity Instances") und haben daher diese Funktion.

Parameter

targetCFrame: CFrame

Das CFrame, das die PVInstance nach dem Bewegen gleich sein sollte.


Rückgaben

void

Code-Beispiele

Simple Character Teleportation

-- This code should be placed in a LocalScript under StarterPlayerScripts
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
local function doTeleport(_actionName, inputState, _inputObject)
local character = player.Character
if character and character.Parent and inputState == Enum.UserInputState.Begin then
-- Move the character 10 studs forwards in the direction they're facing
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(0, 0, -10))
end
end
ContextActionService:BindAction("Teleport", doTeleport, true, Enum.KeyCode.F)

Ereignisse