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 ("Instans Kecepatan Posisi") 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 titik pivot dari PVInstance . Ini sering digunakan dengan PVInstance:PivotTo() untuk memindahkan model.

Models dan BaseParts adalah keduanya PVInstances ("Instans Kecepatan Posisi") dan 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

()

Mengubah PVInstance bersama dengan semua keturunannya PVInstances sehingga pivot sekarang terletak di lokasi yang ditentukan CFrame .Ini adalah fungsi utama yang harus digunakan untuk memindahkan Models melalui scripting.

BaseParts dipindahkan dengan cara ini dengan memiliki transformasi CFrame mereka oleh offset yang diperlukan. Models dipindahkan dengan cara ini dengan memiliki transformasi Model.WorldPivot mereka oleh offset yang diperlukan.

Perhatikan bahwa untuk tujuan efisiensi, acara Object.Changed tidak ditembak untuk Position dan Orientation dari BaseParts dipindahkan dengan cara ini; mereka hanya ditembak untuk CFrame .

Saat menelepon PivotTo pada Models , offset bagian dan model turunan disimpan, sehingga panggilan berikutnya ke PivotTo pada model yang sama tidak mengumpulkan ketidakpastian mengambang antara bagian yang membentuk model.

Models dan BaseParts adalah keduanya PVInstances ("Instans Kecepatan Posisi") dan keduanya memiliki fungsi ini.

Parameter

targetCFrame: CFrame

The CFrame yang harus sama setelah dipindahkan adalah PVInstance pivot.

Nilai Default: ""

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)

Acara