PVInstance

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Brak możliwości tworzenia
Brak możliwości przeglądania

A PVInstance ("Klasa prędkości pozycji") jest abstraktną klasą, która nie może być utworzona. Jest to podstawa dla wszystkich obiektów, które mają fizyczną lokalizację w świecie, w szczególności BaseParts i Models.

Podsumowanie

Właściwości

  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy
  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy

Metody

Właściwości

Origin

Bez replikacji
Brak możliwości dodawania do skryptu
Odczyt równoległy

Pivot Offset

Bez replikacji
Brak możliwości dodawania do skryptu
Odczyt równoległy

Metody

GetPivot

Zapis równoległy

Funkcja ta otrzymuje pivot of a PVInstance . Często używana jest z PVInstance:PivotTo() , aby przenieść model.

Models i BaseParts są obie PVInstances ("Position Velocity Instances") i więc obie mają tę funkcję.


Zwroty

Przykłady kodu

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

Transformuje PVInstance wraz z wszystkimi jego potomnymi PVInstances, tak aby pivot teraz znajdował się w określonym CFrame . To jest główna funkcja, która powinna być używana do przesuwania 1> Class.Model|Modeli1> za pośrednictwem

BaseParts są przesuwane w ten sposób, mając, że ich CFrame zostanie przesunięte przez konieczny odchód. Models są przesuwane w ten sposób, mając, że ich 0> Class.Model.WorldPivot0> zostanie przesunięte przez konieczny odchód.

Uwaga, że ze względów wydajnościowych Object.Changed wydarzenia nie są uruchamiane dla Position i Orientation Class.BasePart ; są one uruchamiane tylko dla 2>Datatype.CFrame2>, gdy są one przesuwane w ten sposób; są one uruchamiane tyl

Podczas wzywania PivotTo na Models, odchwytywane są przesunięcia od części i modeli potomnych, aby zapobiec zaleganiu punktów płynących między częściami modelu.

Models i BaseParts są obie PVInstances ("Position Velocity Instances") i więc obie mają tę funkcję.

Parametry

targetCFrame: CFrame

Datatype.CFrame, który pivotuje się po przesunięciu go.


Zwroty

void

Przykłady kodu

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)

Zdarzenia