Engine-klasse
WorldRoot
*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
Overgenomen leden
26 overgenomen van Model
4 overgenomen van PVInstance
58 overgenomen van Instance
6 overgenomen van Object
Overgenomen door
API-referentie
Methoden
ArePartsTouchingOthers
Parameters
partList:Instances |
| 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)) -- OnwaarBlockcast
WorldRoot:Blockcast(
Parameters
| 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)
endBulkMoveTo
Parameters
partList:Instances |
| Standaardwaarde: FireAllEvents |
Teruggaves
()
CollisionGroupsAreCollidable
CollisionGroupSetCollidable
FindPartOnRay
findPartOnRay
FindPartOnRayWithIgnoreList
FindPartOnRayWithWhitelist
FindPartsInRegion3
findPartsInRegion3
FindPartsInRegion3WithIgnoreList
FindPartsInRegion3WithWhiteList
GetPartBoundsInBox
Parameters
| Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}} |
Teruggaves
{BasePart}
GetPartBoundsInRadius
WorldRoot:GetPartBoundsInRadius(
Parameters
| Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}} |
Teruggaves
{BasePart}
GetPartsInPart
Parameters
| Standaardwaarde: OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}} |
Teruggaves
{BasePart}
IKMoveTo
WorldRoot:IKMoveTo(
part:BasePart, target:CFrame, translateStiffness:number, rotateStiffness:number, collisionsMode:Enum.IKCollisionsMode
):()
Parameters
| Standaardwaarde: 0.5 |
| Standaardwaarde: 0.5 |
| Standaardwaarde: OtherMechanismsAnchored |
Teruggaves
()
IsCollisionGroupRegistered
IsRegion3Empty
IsRegion3EmptyWithIgnoreList
Raycast
Parameters
| 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)
endRegisterCollisionGroup
RenameCollisionGroup
Shapecast
WorldRoot:Shapecast(
part:BasePart, direction:Vector3, params:RaycastParams, cframeOverride:CFrame?, sizeOverride:Vector3?
Parameters
| Standaardwaarde: RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}} |
| Standaardwaarde: nil |
| Standaardwaarde: nil |
Teruggaves
Spherecast
WorldRoot:Spherecast(
Parameters
| 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)
endStepPhysics
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)