PVInstance

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tidak Dapat Dibuat
Tidak Dapat Dijelajahi

A PVInstance ("Position Velocity Instance") adalah kelas abstrak yang tidak dapat dibuat. Ini adalah dasar untuk semua objek yang memiliki lokasi fisik di dunia, khususnya BaseParts dan Models .

Rangkuman

Properti

Metode

Properti

Origin

Tidak Direplikasi
Tidak Dapat Ditulis Skripnya
Baca Paralel

Pivot Offset

Tidak Direplikasi
Tidak Dapat Ditulis Skripnya
Baca Paralel

Metode

GetPivot

Tulis Paralel

Fungsi ini mendapatkan pivot dari PVInstance . Ini sering digunakan dengan PVInstance:PivotTo() untuk menggerakkan model.

Models dan BaseParts keduanya PVInstances ("Position Velocity Instances") dan jadi keduanya memiliki fungsi ini.


Memberikan nilai

Contoh Kode

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

Mengubah PVInstance bersama dengan semua anak cendawan PVInstances sehingga pivot sekarang berada di CFrame yang ditentukan. Ini adalah fungsi utama yang harus digunakan untuk menggerakkan 1> Class.Model|Model1> melalui scripting

BaseParts digerakkan dengan cara ini dengan membuat CFrame mereka berubah olehOffset yang diperlukan. Models digerakkan dengan cara ini dengan membuat 0> Class.Model.WorldPivot0> mereka berubah denganOffset yang diperlukan.

Catat bahwa untuk tujuan efisiensi, Object.Changed acara tidak diaktifkan untuk Position dan Orientation dari 2>Class.BasePart|BaseParts2> yang pindah dengan cara ini; mereka hanya diaktifkan untuk 5>Datatype.CFrame

Ketika memanggil PivotTo di Models, makaOffset dari bagian dan model turunan diaktifkan untuk menghindari mengumpulkan mundur poin mengambang antara bagian yang membuat model.

Models dan BaseParts keduanya PVInstances ("Position Velocity Instances") dan jadi keduanya memiliki fungsi ini.

Parameter

targetCFrame: CFrame

Datatype.CFrame yang pivotnya setelah pindahnya harus sama setelah pindahnya.


Memberikan nilai

void

Contoh Kode

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)

Acara