PVInstance

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Non Navigabile

Un PVInstance ("Position Velocity Instance") è una classe抽象 che non può essere creata. È la base di tutti gli oggetti che hanno una posizione fisica nel Mondo, in particolare BaseParts e Models .

Sommario

Proprietà

Metodi

Proprietà

Origin

Non Replicato
Non programmabile
Lettura Parallela

Pivot Offset

Non Replicato
Non programmabile
Lettura Parallela

Metodi

GetPivot

Scrivi Parallelo

Questa funzione ottiene il pivot di un PVInstance . Questo viene spesso utilizzato con PVInstance:PivotTo() per spostare un modello.

Models e BaseParts sono entrambi PVInstances ("Position Velocity Instances") e quindi entrambi hanno questa funzione.


Restituzioni

Campioni di codice

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

Transforms the PVInstance along with all of its descendant PVInstances such that the pivot is now located at the specified CFrame . This is the primary function that should be used to move 1> Class.Model|Models1> via scripting.

BaseParts vengono spostati in questo modo avendo il loro CFrame trasformato dall'Dislocamentonecessario. Models vengono spostati in questo modo avendo il loro 0> Class.Model.WorldPivot0> trasformato dall'Dislocamentonecessario.

Nota che per scopi di efficienza, gli eventi Object.Changed non vengono attivati per Position e Orientation di 2>Class.BasePart|BaseParts2> in questo modo; vengono attivati solo per 5>Datatype.CFrame5> .

Quando si chiama PivotTo su Models , gli offset delle parti e dei modelli discendenti vengono memorizzati in modo che le chiamate successive a PivotTo su lo stesso modello non accumulino il punto fluttuante tra le parti che compongono il modello.

Models e BaseParts sono entrambi PVInstances ("Position Velocity Instances") e quindi entrambi hanno questa funzione.

Parametri

targetCFrame: CFrame

Il CFrame che il PVInstance pivot dovrebbe essere pari dopo averlo spostato.


Restituzioni

void

Campioni di codice

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)

Eventi