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

Eine PVInstance ("Positiongeschwindigkeitsinstanz") 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 Models.

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 den Pivot eines PVInstance . Dies wird oft mit PVInstance:PivotTo() verwendet, um ein Modell zu verschieben.

Models und BaseParts sind beide PVInstances ("Positiongeschwindigkeitsinstanzen") und haben daher beide diese Funktion.


Rückgaben

Code-Beispiele

This code sample is a simple teleport script that moves your character 10 studs forwards in the direction you're currently facing when you press the F key. It does so by getting the current pivot with PVInstance:GetPivot() and calling PVInstance|PivotTo to move the character forwards.

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

()

Verwandelt die PVInstance zusammen mit all ihren Nachkommen PVInstances, so dass der Pivot jetzt an der angegebenen CFrame position ist.Das ist die Hauptfunktion, die verwendet werden sollte, um Models über Scriptingzu verschieben.

BaseParts werden auf diese weise verschoben, indem ihre CFrame transformiert werden, durch die erforderliche versatz.Models werden auf diese weise verschoben, indem ihre Model.WorldPivot transformiert werden, durch die erforderliche versatz.

Beachten Sie, dass aus Effizienzgründen keine Object.Changed-Ereignisse für Position und Orientation von BaseParts in dieser Weise abgefeuert werden; sie werden nur für CFrame abgefeuert.

Wenn du PivotTo auf Models aufrufst, werden die Versätze der abstehenden Teile und Modelle zwischengespeichert, so dass nachfolgende Aufrufe von PivotTo auf demselben Modell keinen Treibersprung zwischen den Teilen verursachen, aus denen sich das Modell zusammensetzt.

Models und BaseParts sind beide PVInstances ("Positiongeschwindigkeitsinstanzen") und haben daher beide diese Funktion.

Parameter

targetCFrame: CFrame

Die CFrame, die der PVInstance Pivot nach dem Verschieben gleich sein sollte.

Standardwert: ""

Rückgaben

()

Code-Beispiele

This code sample is a simple teleport script that moves your character 10 studs forwards in the direction you're currently facing when you press the F key. It does so by getting the current pivot with PVInstance:GetPivot() and calling PVInstance|PivotTo to move the character forwards.

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