PVInstance
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
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
Ottiene il pivot di un PVInstance .
Transforms the PVInstance along with all of its descendant PVInstances such that the pivot is now located at the specified CFrame .
Proprietà
Metodi
GetPivot
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
-- 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
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
Il CFrame che il PVInstance pivot dovrebbe essere pari dopo averlo spostato.
Restituzioni
Campioni di codice
-- 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)