PVInstance

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Non navigable

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

Propriétés

Origin

Non répliqué
Non scriptable
Lecture parallèle

Pivot Offset

Non répliqué
Non scriptable
Lecture parallèle

Méthodes

GetPivot

Écrire en parallèle

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

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

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

targetCFrame: CFrame

Le CFrame que le PVInstance pivot doit être après le déplacement.


Retours

void

Échantillons de code

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)

Évènements