WorldRoot

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

Kelas dasar ini menyediakan API untuk instance apa pun yang dimaksudkan untuk menangani pencarian dan simulasi spasial 3D, seperti Workspace dan WorldModel.

Rangkuman

Properti

Properti diwarisi dari Model

Properti

  • Keamanan Plugin
    Baca Paralel

    Mengatur tingkat rincian pada model untuk pengalaman dengan streaming instansi diaktifkan.

  • Mengontrol perilaku streaming model di Models ketika streaming instansi diaktifkan.

  • Baca Paralel

    Bagian utama dari Model , atau nil jika tidak secara eksplisit ditetapkan.

  • Tidak Direplikasi
    Tidak Dapat Ditulis Skripnya
    Baca Paralel

    Properti hanya editor yang digunakan untuk memperluas model di sekitar titik pivotnya. Mengatur properti ini akan memindahkan skala seolah-olah Model/ScaleTo dipanggil di atasnya.

  • Tidak Direplikasi
    Baca Paralel

    Menentukan di mana titik pivot dari yang tidak memiliki set terletak.

Properti diwarisi dari PVInstance

Properti

Metode

Metode diwarisi dari Model

Metode

Metode diwarisi dari PVInstance

Metode

Properti

Metode

ArePartsTouchingOthers

Parameter

partList: Instances
Nilai Default: ""
overlapIgnored: number
Nilai Default: 0.000199999995

Memberikan nilai

Contoh Kode

Memeriksa Bagian yang Terkena

local part1 = Instance.new("Part")
part1.Name = "Part1"
part1.Anchored = true
part1.Transparency = 0.5
part1.Color = Color3.fromRGB(185, 100, 38)
part1.Size = Vector3.new(2, 2, 2)
part1.Position = Vector3.new(0, 4, 0)
part1.Parent = workspace
local part2 = Instance.new("Part")
part2.Name = "Part2"
part2.Anchored = true
part2.Transparency = 0.5
part2.Color = Color3.fromRGB(200, 10, 0)
part2.Size = Vector3.new(2, 2, 2)
part2.Position = Vector3.new(0, 5, 0)
part2.Parent = workspace
local partList = { part1 }
print(workspace:ArePartsTouchingOthers(partList, 0)) -- Benar
print(workspace:ArePartsTouchingOthers(partList, 0.999)) -- Benar
print(workspace:ArePartsTouchingOthers(partList, 1)) -- False

Blockcast

Tulis Paralel

Parameter

cframe: CFrame
Nilai Default: ""
size: Vector3
Nilai Default: ""
direction: Vector3
Nilai Default: ""
Nilai Default: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Contoh Kode

Blockcasting

local Workspace = game:GetService("Workspace")
local function castBlock()
-- The initial position and rotation of the cast block shape
local originCFrame = CFrame.new(Vector3.new(0, 50, 0))
-- The size of the cast block shape
local size = Vector3.new(6, 3, 9)
-- The direction the block is cast in
local direction = -Vector3.yAxis
-- The maximum distance of the cast
local distance = 50
-- Cast the block and create a visualization of it
local raycastResult = Workspace:Blockcast(originCFrame, size, direction * distance)
if raycastResult then
-- Print all properties of the RaycastResult if it exists
print(`Block intersected with: {raycastResult.Instance:GetFullName()}`)
print(`Intersection position: {raycastResult.Position}`)
print(`Distance between block's initial position and result: {raycastResult.Distance}`)
print(`The normal vector of the intersected face: {raycastResult.Normal}`)
print(`Material hit: {raycastResult.Material.Name}`)
else
print("Nothing was hit")
end
end
-- Continually cast a block every 2 seconds
while true do
castBlock()
task.wait(2)
end

BulkMoveTo

()

Parameter

partList: Instances
Nilai Default: ""
cframeList: Array
Nilai Default: ""
Nilai Default: "FireAllEvents"

Memberikan nilai

()

GetPartBoundsInBox

Instances
Tulis Paralel

Parameter

cframe: CFrame
Nilai Default: ""
size: Vector3
Nilai Default: ""
overlapParams: OverlapParams
Nilai Default: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Instances

GetPartBoundsInRadius

Instances
Tulis Paralel

Parameter

position: Vector3
Nilai Default: ""
radius: number
Nilai Default: ""
overlapParams: OverlapParams
Nilai Default: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Instances

GetPartsInPart

Instances
Tulis Paralel

Parameter

part: BasePart
Nilai Default: ""
overlapParams: OverlapParams
Nilai Default: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Instances

IKMoveTo

()
Keamanan Plugin

Parameter

part: BasePart
Nilai Default: ""
target: CFrame
Nilai Default: ""
translateStiffness: number
Nilai Default: 0.5
rotateStiffness: number
Nilai Default: 0.5
collisionsMode: Enum.IKCollisionsMode
Nilai Default: "OtherMechanismsAnchored"

Memberikan nilai

()
Tulis Paralel

Parameter

origin: Vector3
Nilai Default: ""
direction: Vector3
Nilai Default: ""
raycastParams: RaycastParams
Nilai Default: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Contoh Kode

Raycasting

local Workspace = game:GetService("Workspace")
local function castRay()
-- The origin point of the ray
local originPosition = Vector3.new(0, 50, 0)
-- The direction the ray is cast in
local direction = -Vector3.yAxis
-- The maximum distance of the ray
local distance = 50
-- Cast the ray and create a visualization of it
local raycastResult = Workspace:Raycast(originPosition, direction * distance)
if raycastResult then
-- Print all properties of the RaycastResult if it exists
print(`Ray intersected with: {raycastResult.Instance:GetFullName()}`)
print(`Intersection position: {raycastResult.Position}`)
print(`Distance between ray origin and result: {raycastResult.Distance}`)
print(`The normal vector of the intersected face: {raycastResult.Normal}`)
print(`Material hit: {raycastResult.Material.Name}`)
else
print("Nothing was hit")
end
end
-- Continually cast a ray every 2 seconds
while true do
castRay()
task.wait(2)
end

Shapecast

Parameter

part: BasePart
Nilai Default: ""
direction: Vector3
Nilai Default: ""
Nilai Default: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Spherecast

Tulis Paralel

Parameter

position: Vector3
Nilai Default: ""
radius: number
Nilai Default: ""
direction: Vector3
Nilai Default: ""
Nilai Default: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Memberikan nilai

Contoh Kode

Spherecasting

local Workspace = game:GetService("Workspace")
local function castSphere()
-- The initial position of the cast spherical shape
local originPosition = Vector3.new(0, 50, 0)
-- The radius of the cast spherical shape in studs
local radius = 10
-- The direction the sphere is cast in
local direction = -Vector3.yAxis
-- The maximum distance of the cast
local distance = 50
-- Cast the sphere and create a visualization of it
local raycastResult = Workspace:Spherecast(originPosition, radius, direction * distance)
if raycastResult then
-- Print all properties of the RaycastResult if it exists
print(`Sphere intersected with: {raycastResult.Instance:GetFullName()}`)
print(`Intersection position: {raycastResult.Position}`)
print(`Distance between sphere's initial position and result: {raycastResult.Distance}`)
print(`The normal vector of the intersected face: {raycastResult.Normal}`)
print(`Material hit: {raycastResult.Material.Name}`)
else
print("Nothing was hit")
end
end
-- Continually cast a sphere every 2 seconds
while true do
castSphere()
task.wait(2)
end

StepPhysics

()
Keamanan Plugin

Parameter

dt: number
Nilai Default: ""
parts: Instances
Nilai Default: "{}"

Memberikan nilai

()

Contoh Kode

StepPhysics

local RunService = game:GetService("RunService")
-- Optional array of parts to simulate; otherwise all parts will be simulated
local partsToSimulate = {
workspace.Part,
}
local function simulateParts(duration)
local time = 0.0
local stepJob
stepJob = RunService.RenderStepped:Connect(function(dt)
if time + dt > duration then
dt = duration - time
end
workspace:StepPhysics(dt, partsToSimulate)
time = time + dt
if time >= duration then
stepJob:Disconnect()
end
end)
end
-- Simulate workspace parts for 5 seconds, stepping the parts once per frame
simulateParts(5.0)

Acara