PVInstance
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Un PVInstance ("Position Velocity Instance") est une classe abstraite qui ne peut pas être créée. Il est la base de tous les objets qui ont un emplacement physique dans le monde, spécifiquement BaseParts et Models.
Résumé
Propriétés
Méthodes
Obtient le pivot d'un PVInstance.
Transforme le PVInstance ainsi que tous ses descendants PVInstances afin que le pivot soit maintenant situé dans le CFrame spécifié.
Propriétés
Méthodes
GetPivot
Cette fonction obtient le pivot d'un PVInstance. Ceci est souvent utilisé avec PVInstance:PivotTo() pour déplacer un modèlisation.
Models and BaseParts are both PVInstances ("Position Velocity Instances") and so both have this function.
Retours
Échantillons de code
-- 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
Transforme le PVInstance ainsi que tous ses descendants PVInstances afin que le pivot soit maintenant situé dans le CFrame spécifié. C'est la fonction principale qui doit être utilisée pour déplacer 1> Class.Model|Modèles1> via le scripting.
BaseParts sont déplacées de cette façon en ayant leur CFrame transformé par le nécessaire décentrage. Models sont déplacées de cette façon en ayant leur 0> Class.Model.WorldPivot0> transformé par le décentragenécessaire.
Notez que pour des raisons d'efficacité, les événements Object.Changed ne sont pas déclenchés pour Position et Orientation de 2>Class.BasePart|BaseParts2> déplacés de cette façon ; ils ne sont déclenchés que pour 5>Datatype.CFrame5> .
Lorsque vous appelez PivotTo sur Models, les décalages des parties et des modèles descendantes sont stockés, afin que les appels suivants à PivotTo sur le même modèle ne se cumulent pas de dérive de point flottant entre les parties du modèlisation.
Models and BaseParts are both PVInstances ("Position Velocity Instances") and so both have this function.
Paramètres
Le CFrame que le PVInstance pivot doit être après le déplacement.
Retours
Échantillons de code
-- 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)