PVInstance
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
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
Erhalten Sie die Ausrichtung einer PVInstance.
Transformiert die PVInstance zusammen mit all ihren Nachkommen PVInstances, wodurch der Pivot jetzt an der angegebenen CFrame liegt.
Eigenschaften
Methoden
GetPivot
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
-- 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
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
Das CFrame, das die PVInstance nach dem Bewegen gleich sein sollte.
Rückgaben
Code-Beispiele
-- 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)