Meer informatie
Engine-klasse
WorldRoot
Niet maakbaar

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.


Samenvatting

Methoden
ArePartsTouchingOthers(partList: Instances,overlapIgnored: number):boolean
Blockcast(cframe: CFrame,size: Vector3,direction: Vector3,params: RaycastParams):RaycastResult?
BulkMoveTo(partList: Instances,cframeList: {any},eventMode: Enum.BulkMoveMode):()
CollisionGroupSetCollidable(name1: string,name2: string,collidable: boolean):()
FindPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Verouderd
findPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Verouderd
FindPartOnRayWithIgnoreList(ray: Ray,ignoreDescendantsTable: Instances,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Verouderd
FindPartOnRayWithWhitelist(ray: Ray,whitelistDescendantsTable: Instances,ignoreWater: boolean):Tuple
Verouderd
FindPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Verouderd
findPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Verouderd
FindPartsInRegion3WithIgnoreList(region: Region3,ignoreDescendantsTable: Instances,maxParts: number):{BasePart}
Verouderd
FindPartsInRegion3WithWhiteList(region: Region3,whitelistDescendantsTable: Instances,maxParts: number):{BasePart}
Verouderd
GetPartBoundsInBox(cframe: CFrame,size: Vector3,overlapParams: OverlapParams):{BasePart}
GetPartBoundsInRadius(position: Vector3,radius: number,overlapParams: OverlapParams):{BasePart}
IKMoveTo(part: BasePart,target: CFrame,translateStiffness: number,rotateStiffness: number,collisionsMode: Enum.IKCollisionsMode):()
IsRegion3Empty(region: Region3,ignoreDescendentsInstance: Instance):boolean
Verouderd
IsRegion3EmptyWithIgnoreList(region: Region3,ignoreDescendentsTable: Instances):boolean
Verouderd
Raycast(origin: Vector3,direction: Vector3,raycastParams: RaycastParams):RaycastResult?
Shapecast(part: BasePart,direction: Vector3,params: RaycastParams,cframeOverride: CFrame?,sizeOverride: Vector3?):RaycastResult?
Spherecast(position: Vector3,radius: number,direction: Vector3,params: RaycastParams):RaycastResult?
StepPhysics(dt: number,parts: Instances):()
Overgenomen leden
Overgenomen door

API-referentie
Methoden
ArePartsTouchingOthers
Toegang tot simulatie
WorldRoot:ArePartsTouchingOthers(
partList:Instances, overlapIgnored:number
Parameters
partList:Instances
overlapIgnored:number
Standaardwaarde: 0.000199999995
Teruggaves
Codevoorbeelden
Controleren op Aanraakdelen
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)) -- Waar
print(workspace:ArePartsTouchingOthers(partList, 0.999)) -- Waar
print(workspace:ArePartsTouchingOthers(partList, 1)) -- Onwaar

Blockcast
Parallel schrijven
Toegang tot simulatie
WorldRoot:Blockcast(
cframe:CFrame, size:Vector3, direction:Vector3, params:RaycastParams
Parameters
cframe:CFrame
size:Vector3
direction:Vector3
Standaardwaarde: RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves
Codevoorbeelden
Blokcasting
local Workspace = game:GetService("Workspace")
local function castBlock()
-- De initiële positie en rotatie van de geworpen blokvorm
local originCFrame = CFrame.new(Vector3.new(0, 50, 0))
-- De grootte van de geworpen blokvorm
local size = Vector3.new(6, 3, 9)
-- De richting waarin het blok wordt geworpen
local direction = -Vector3.yAxis
-- De maximale afstand van de worp
local distance = 50
-- Werp het blok en maak een visualisatie ervan
local raycastResult = Workspace:Blockcast(originCFrame, size, direction * distance)
if raycastResult then
-- Druk alle eigenschappen van de RaycastResult af als deze bestaat
print(`Blok gekruist met: {raycastResult.Instance:GetFullName()}`)
print(`Kruispunt positie: {raycastResult.Position}`)
print(`Afstand tussen de initiële positie van het blok en het resultaat: {raycastResult.Distance}`)
print(`De normale vector van het gekruiste vlak: {raycastResult.Normal}`)
print(`Raakvlak: {raycastResult.Material.Name}`)
else
print("Niets is geraakt")
end
end
-- Blijf elke 2 seconden een blok werpen
while true do
castBlock()
task.wait(2)
end

BulkMoveTo
Toegang tot simulatie
WorldRoot:BulkMoveTo(
partList:Instances, cframeList:{any}, eventMode:Enum.BulkMoveMode
):()
Parameters
partList:Instances
cframeList:{any}
Standaardwaarde: FireAllEvents
Teruggaves
()

CollisionGroupsAreCollidable
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:CollisionGroupsAreCollidable(
name1:string, name2:string
Parameters
name1:string
name2:string
Teruggaves

CollisionGroupSetCollidable
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:CollisionGroupSetCollidable(
name1:string, name2:string, collidable:boolean
):()
Parameters
name1:string
name2:string
collidable:boolean
Teruggaves
()

FindPartOnRay
Verouderd

findPartOnRay
Verouderd

FindPartOnRayWithIgnoreList
Verouderd

FindPartOnRayWithWhitelist
Verouderd

FindPartsInRegion3
Verouderd

findPartsInRegion3
Verouderd

FindPartsInRegion3WithIgnoreList
Verouderd

FindPartsInRegion3WithWhiteList
Verouderd

GetMaxCollisionGroups
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:GetMaxCollisionGroups():number
Teruggaves

GetPartBoundsInBox
Parallel schrijven
Toegang tot simulatie
WorldRoot:GetPartBoundsInBox(
cframe:CFrame, size:Vector3, overlapParams:OverlapParams
Parameters
cframe:CFrame
size:Vector3
overlapParams:OverlapParams
Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves

GetPartBoundsInRadius
Parallel schrijven
Toegang tot simulatie
WorldRoot:GetPartBoundsInRadius(
position:Vector3, radius:number, overlapParams:OverlapParams
Parameters
position:Vector3
radius:number
overlapParams:OverlapParams
Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves

GetPartsInPart
Parallel schrijven
Toegang tot simulatie
WorldRoot:GetPartsInPart(
part:BasePart, overlapParams:OverlapParams
Parameters
overlapParams:OverlapParams
Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves

GetRegisteredCollisionGroups
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:GetRegisteredCollisionGroups():{any}
Teruggaves

IKMoveTo
Plugin-beveiliging
Toegang tot simulatie
WorldRoot:IKMoveTo(
part:BasePart, target:CFrame, translateStiffness:number, rotateStiffness:number, collisionsMode:Enum.IKCollisionsMode
):()
Parameters
target:CFrame
translateStiffness:number
Standaardwaarde: 0.5
rotateStiffness:number
Standaardwaarde: 0.5
collisionsMode:Enum.IKCollisionsMode
Standaardwaarde: OtherMechanismsAnchored
Teruggaves
()

IsCollisionGroupRegistered
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:IsCollisionGroupRegistered(name:string):boolean
Parameters
name:string
Teruggaves

IsRegion3Empty
Verouderd

IsRegion3EmptyWithIgnoreList
Verouderd

Raycast
Parallel schrijven
Toegang tot simulatie
WorldRoot:Raycast(
origin:Vector3, direction:Vector3, raycastParams:RaycastParams
Parameters
origin:Vector3
direction:Vector3
raycastParams:RaycastParams
Standaardwaarde: RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves
Codevoorbeelden
Raycasting
local Workspace = game:GetService("Workspace")
local function castRay()
-- Het oorsprongspunt van de straal
local originPosition = Vector3.new(0, 50, 0)
-- De richting waarin de straal wordt geworpen
local direction = -Vector3.yAxis
-- De maximale afstand van de straal
local distance = 50
-- Werp de straal en maak een visualisatie ervan
local raycastResult = Workspace:Raycast(originPosition, direction * distance)
if raycastResult then
-- Druk alle eigenschappen van de RaycastResult af als deze bestaat
print(`Ray kruiste met: {raycastResult.Instance:GetFullName()}`)
print(`Kruispunt positie: {raycastResult.Position}`)
print(`Afstand tussen straal oorsprong en resultaat: {raycastResult.Distance}`)
print(`De normale vector van het gekruiste vlak: {raycastResult.Normal}`)
print(`Materiaal geraakt: {raycastResult.Material.Name}`)
else
print("Niets is geraakt")
end
end
-- Blijf elke 2 seconden een straal werpen
while true do
castRay()
task.wait(2)
end

RegisterCollisionGroup
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:RegisterCollisionGroup(name:string):()
Parameters
name:string
Teruggaves
()

RenameCollisionGroup
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:RenameCollisionGroup(
from:string, to:string
):()
Parameters
from:string
Teruggaves
()

Shapecast
Toegang tot simulatie
WorldRoot:Shapecast(
part:BasePart, direction:Vector3, params:RaycastParams, cframeOverride:CFrame?, sizeOverride:Vector3?
Parameters
direction:Vector3
Standaardwaarde: RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
cframeOverride:CFrame?
Standaardwaarde: nil
sizeOverride:Vector3?
Standaardwaarde: nil
Teruggaves

Spherecast
Parallel schrijven
Toegang tot simulatie
WorldRoot:Spherecast(
position:Vector3, radius:number, direction:Vector3, params:RaycastParams
Parameters
position:Vector3
radius:number
direction:Vector3
Standaardwaarde: RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}
Teruggaves
Codevoorbeelden
Sferrecasting
local Workspace = game:GetService("Workspace")
local function castSphere()
-- De initiële positie van de geworpen bolvorm
local originPosition = Vector3.new(0, 50, 0)
-- De straal van de geworpen bolvorm in studs
local radius = 10
-- De richting waarin de bol wordt geworpen
local direction = -Vector3.yAxis
-- De maximale afstand van de worp
local distance = 50
-- Werp de bol en maak een visualisatie ervan
local raycastResult = Workspace:Spherecast(originPosition, radius, direction * distance)
if raycastResult then
-- Druk alle eigenschappen van de RaycastResult af als deze bestaat
print(`Bol kruiste met: {raycastResult.Instance:GetFullName()}`)
print(`Kruisingspositie: {raycastResult.Position}`)
print(`Afstand tussen de initiële positie van de bol en het resultaat: {raycastResult.Distance}`)
print(`De normale vector van het gekruiste vlak: {raycastResult.Normal}`)
print(`Raakvlak: {raycastResult.Material.Name}`)
else
print("Niets werd geraakt")
end
end
-- Blijf elke 2 seconden een bol werpen
while true do
castSphere()
task.wait(2)
end

StepPhysics
Plugin-beveiliging
WorldRoot:StepPhysics(
dt:number, parts:Instances
):()
Parameters
parts:Instances
Standaardwaarde: {}
Teruggaves
()
Codevoorbeelden
StapFysica
local RunService = game:GetService("RunService")
-- Optionele array van onderdelen om te simuleren; anders worden alle onderdelen gesimuleerd
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
-- Simuleer werkruimte onderdelen gedurende 5 seconden, stap voor stap per frame
simulateParts(5.0)

UnregisterCollisionGroup
Mogelijkheden: Physics
Toegang tot simulatie
WorldRoot:UnregisterCollisionGroup(name:string):()
Parameters
name:string
Teruggaves
()

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.