PVInstance
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
概要
方法
Class.PVInstance のピボットを取得します。
Class.PVInstance とそのすべての子孫 PVInstances は、ピボットが指定の CFrame に移動します。
プロパティ
方法
GetPivot
この関数は、PVInstance のピボットを取得します。これは、PVInstance:PivotTo() を使用してモデルを移動するのによく使用されます。
Models と BaseParts は両方とも PVInstances (「ポジション速度インスタンス」)であり、それゆえ両方ともこの機能を持っています。
戻り値
コードサンプル
-- 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
Class.PVInstance' とそのすべての子供 Class.PVInstance|PVInstances は、Datatype.CFrame のピボットが現在置かれている 1>Class.Model|Model1> に移動するために、スクリプトで使用する必要があります。これは、4>Class.Model|Model4> をスクリプト作成ク
BaseParts は、必要なオフセットにより CFrame を変換し、Models は、必要なオフセットにより 0> Class.Model.WorldPivot0> を変換します。
効率性の目的で、 Object.Changed イベントは、 Position および Orientation の移動に対しては発動しません。彼らは、 1>Class.BasePart|BaseParts1> が移動したこの方法にのみ発動します。��
Class.PVInstance:PivotTo()|PivotTo を Models で呼び出すと、子孫パーツとモデルのオフセットはキャッシュされ、PivotTo のモデルに対する次の呼び出しでモデルのフローティングポイントドリフトが累�
Models と BaseParts は両方とも PVInstances (「ポジション速度インスタンス」)であり、それゆえ両方ともこの機能を持っています。
パラメータ
移動後にピボットする PVInstance の Datatype.CFrame が等しくなる必要があります。
戻り値
コードサンプル
-- 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)