PVInstance

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Não navegável

Um PVInstance ("Objeto de Velocidade de Posição") é uma classe abstrata que não pode ser criada. É a base de todos os objetos que têm uma localização física no mundo, especificamente BaseParts e Models.

Resumo

Propriedades

Métodos

Propriedades

Origin

Não replicado
Não scriptável
Ler Parallel

Pivot Offset

Não replicado
Não scriptável
Ler Parallel

Métodos

GetPivot

Escrever Parallel

Essa função obtém o pivô de um PVInstance. Isso geralmente é usado com PVInstance:PivotTo() para mover um modelo.

Models e BaseParts são ambos PVInstances ("Instâncias de Velocidade de Posição") e, portanto, ambos têm essa função.


Devolução

Amostras de código

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

Transforma o PVInstance juntamente com todos os seus descendentes PVInstances para que o pivô agora seja localizado no CFrame especificado. Esta é a função principal que deve ser usada para mover 1> Class.Model|Modelos1> via scripting.

BaseParts são movidos desta maneira ao ter seu CFrame transformado pelo necessário deslocamento. Models são movidos desta maneira ao ter seu 0> Class.Model.WorldPivot0> transformado pelo deslocamento necessário.

Nota que, para fins de eficiência, os eventos Object.Changed não são disparados para Position e Orientation de 2>Class.BasePart|BaseParts2> movidos desta maneira; eles são apenas disparados para 5>Datatype.CFrame5> .

Quando chamar PivotTo em Models, os deslocamentos das peças e modelos descendentes são armazenados para que as chamadas subsequentes à PivotTo no mesmo modelo não acumulem flutuabilidade de ponto flutuante entre as peças que compõem o

Models e BaseParts são ambos PVInstances ("Instâncias de Velocidade de Posição") e, portanto, ambos têm essa função.

Parâmetros

targetCFrame: CFrame

O CFrame que o pivô PVInstance deve igualar após movê-lo.


Devolução

void

Amostras de código

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)

Eventos