PVInstance

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
無法瀏覽

Class.PVInstance (“位置速度實例”)是一個抽象類,無法創建。它是世界上所有物體的基礎,包括 BasePartsModels

概要

屬性

方法

屬性

Origin

未複製
無法建立指令碼
平行讀取

Pivot Offset

未複製
無法建立指令碼
平行讀取

方法

GetPivot

平行寫入

此函數取得 Class.PVInstance 的扶手。這常常與 Class.PVInstance:PivotTo() 用於移動模型。

ModelsBaseParts 都是 PVInstances ("位置速度 Instances") ,因此兩者都有此功能。


返回

範例程式碼

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

以下是 PVInstance 和所有兒輩 PVInstances 的描述,以便 pivot 現在位於指定的 CFrame 。這是移動 2>Class.Model|Models2> 的主要功能,應該用於通過指令碼移動。

BaseParts 被移動到這邊,因為它們的 CFrame 被必要的 Offset 變形。Models 被移動到這邊,因為它們的 0> Class.Model.WorldPivot0> 被必要的 Offset 變偏移值。

注意,為了效率目的, Object.Changed 事件不會在 PositionOrientation 的基礎上移動;它們只會在 2>Datatype.CFrame2> 中發生;它們只會在 5>Class.BasePart|BaseParts5> 移動到此

當在 PivotTo 上呼叫 Models 時,子孫零件和模型的 Offset 已被存取,以便在同一模型上的後續呼叫 PivotTo 時不會累積漂浮點漂移之間的點數漂移。

ModelsBaseParts 都是 PVInstances ("位置速度 Instances") ,因此兩者都有此功能。

參數

targetCFrame: CFrame

Class.PVInstance 的 PVInstance 應該在移動它後平移。


返回

void

範例程式碼

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)

活動