WorldRoot¶
Not yet Class NotCreatable
Base class for handling physics simulation and 3D spatial queries.
Not implemented yet
The modern base class that adds Raycast, GetPartBoundsInBox, GetPartsInPart, and spatial queries. Nova's Workspace inherits the older RootInstance chain.
Workaround: Use the legacy Workspace spatial-query methods listed on the Workspace page.
0 Nova members · 44 modern Roblox members not implemented yet
Description¶
This base class provides an API for any instance intended for handling 3D spatial queries and simulation, such as Workspace and WorldModel.
Inheritance¶
Object → Instance → PVInstance → Model → WorldRoot
Known subclasses: Workspace, WorldModel
Properties¶
| Member | Signature | Summary |
|---|---|---|
AutoSimulate |
AutoSimulate: bool |
— |
CollisionGroupData |
CollisionGroupData: BinaryString |
— |
GravityDirection |
GravityDirection: Vector3 |
— |
PhysicsStepTime |
PhysicsStepTime: float |
— |
SimulationRate |
SimulationRate: float |
— |
Wind |
Wind: float |
— |
WindDirection |
WindDirection: Vector3 |
— |
Methods¶
| Member | Signature | Summary |
|---|---|---|
ArePartsTouchingOthers |
WorldRoot:ArePartsTouchingOthers(partList: Instances, overlapIgnored: float = 0.000199999995): bool |
Returns true if any of the given BasePart are touching any other parts. |
Blockcast |
WorldRoot:Blockcast(cframe: CFrame, size: Vector3, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult? |
Casts a block shape in a given direction and returns a RaycastResult if the shape hits a BasePart or [Terrain](Terrain.md… |
BulkMoveTo |
WorldRoot:BulkMoveTo(partList: Instances, cframeList: Array, eventMode: BulkMoveMode = FireAllEvents): null |
Moves an array of BaseParts to an array of CFrames. |
CacheCurrentTerrain |
WorldRoot:CacheCurrentTerrain(id: string, center: Vector3, radius: float): string |
— |
ClearCachedTerrain |
WorldRoot:ClearCachedTerrain(id: string): bool |
— |
CollisionGroupsAreCollidable |
WorldRoot:CollisionGroupsAreCollidable(name1: string, name2: string): bool |
Returns whether the two groups will collide in this world. |
CollisionGroupSetCollidable |
WorldRoot:CollisionGroupSetCollidable(name1: string, name2: string, collidable: bool): null |
Sets the collision status between two groups in this world. |
FindPartOnRay |
WorldRoot:FindPartOnRay(ray: Ray, ignoreDescendantsInstance: Instance = nil, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple |
Returns the first BasePart or Terrain cell intersecting with the given Ray. |
findPartOnRay |
WorldRoot:findPartOnRay(ray: Ray, ignoreDescendantsInstance: Instance = nil, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple |
— |
FindPartOnRayWithIgnoreList |
WorldRoot:FindPartOnRayWithIgnoreList(ray: Ray, ignoreDescendantsTable: Instances, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple |
Returns the first BasePart or Terrain cell intersecting with the given Ray that isn't in, nor is a descendant of an o… |
FindPartOnRayWithWhitelist |
WorldRoot:FindPartOnRayWithWhitelist(ray: Ray, whitelistDescendantsTable: Instances, ignoreWater: bool = false): Tuple |
Returns the first BasePart or Terrain cell intersecting with the given Ray that is in, or is a descendant of an objec… |
FindPartsInRegion3 |
WorldRoot:FindPartsInRegion3(region: Region3, ignoreDescendantsInstance: Instance = nil, maxParts: int = 20): Instances |
Returns an array of BaseParts in the given Region3. |
findPartsInRegion3 |
WorldRoot:findPartsInRegion3(region: Region3, ignoreDescendantsInstance: Instance = nil, maxParts: int = 20): Instances |
— |
FindPartsInRegion3WithIgnoreList |
WorldRoot:FindPartsInRegion3WithIgnoreList(region: Region3, ignoreDescendantsTable: Instances, maxParts: int = 20): Instances |
Returns an array of BaseParts in the given Region3 that aren't in, or a descendant of an entry in, the given ignore list. |
FindPartsInRegion3WithWhiteList |
WorldRoot:FindPartsInRegion3WithWhiteList(region: Region3, whitelistDescendantsTable: Instances, maxParts: int = 20): Instances |
Returns an array of BaseParts in the given Region3 that are in, or descendant of an entry in, the given inclusion list. |
GetAwakeContactNormals |
WorldRoot:GetAwakeContactNormals(): Array |
— |
GetAwakeContactParts |
WorldRoot:GetAwakeContactParts(): Array |
— |
GetAwakeContactPositions |
WorldRoot:GetAwakeContactPositions(): Array |
— |
GetAwakeRootParts |
WorldRoot:GetAwakeRootParts(): Instances |
— |
GetMaxCollisionGroups |
WorldRoot:GetMaxCollisionGroups(): int |
Returns the maximum number of collision groups in this world. |
GetPartBoundsInBox |
WorldRoot:GetPartBoundsInBox(cframe: CFrame, size: Vector3, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances |
Returns an array of parts whose bounding boxes overlap a given box. |
GetPartBoundsInRadius |
WorldRoot:GetPartBoundsInRadius(position: Vector3, radius: float, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances |
Returns an array of parts whose bounding boxes overlap a given sphere. |
GetPartsInPart |
WorldRoot:GetPartsInPart(part: BasePart, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances |
Returns an array of parts whose occupied space is shared with the given part. |
GetRegisteredCollisionGroups |
WorldRoot:GetRegisteredCollisionGroups(): Array |
Returns a table with info on all of this world's collision groups. |
IKMoveTo |
WorldRoot:IKMoveTo(part: BasePart, target: CFrame, translateStiffness: float = 0.5, rotateStiffness: float = 0.5, collisionsMode: IKCollisionsMode = OtherMechanismsAnchored): null |
Moves the specified part to the specified location via inverse kinematics rather than moving it there directly, to ensure any joints, constraints, or collisions that par… |
IsCollisionGroupRegistered |
WorldRoot:IsCollisionGroupRegistered(name: string): bool |
Checks if a collision group is registered in this world. |
IsRegion3Empty |
WorldRoot:IsRegion3Empty(region: Region3, ignoreDescendentsInstance: Instance = nil): bool |
Returns a bool indicating whether there are no BaseParts within the given Region3. |
IsRegion3EmptyWithIgnoreList |
WorldRoot:IsRegion3EmptyWithIgnoreList(region: Region3, ignoreDescendentsTable: Instances): bool |
Returns a boolean indicating whether there are no BaseParts within the given Region3, ignoring any BaseParts tha… |
Raycast |
WorldRoot:Raycast(origin: Vector3, direction: Vector3, raycastParams: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult? |
Casts a ray using an origin, direction, and optional RaycastParams, then returns a RaycastResult if an… |
RaycastCachedTerrain |
WorldRoot:RaycastCachedTerrain(id: string, origin: Vector3, direction: Vector3, ignoreWater: bool): RaycastResult? |
— |
RegisterCollisionGroup |
WorldRoot:RegisterCollisionGroup(name: string): null |
Registers a new collision group in this world with the given name. |
RenameCollisionGroup |
WorldRoot:RenameCollisionGroup(from: string, to: string): null |
Renames specified collision group in this world. |
SetInsertPoint |
WorldRoot:SetInsertPoint(point: Vector3): null |
— |
Shapecast |
WorldRoot:Shapecast(part: BasePart, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult? |
Casts the shape of a given BasePart in a direction and returns a RaycastResult if the shape hits a [BasePart](BasePart.md… |
Simulate |
WorldRoot:Simulate(dt: float): null |
— |
Spherecast |
WorldRoot:Spherecast(position: Vector3, radius: float, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult? |
Casts a spherical shape in a given direction and returns a RaycastResult if the shape hits a BasePart or [Terrain](Terrai… |
StepPhysics |
WorldRoot:StepPhysics(dt: float, parts: Instances = {}): null |
Advances the simulation for parts in the world forward based on a specified time increment and an optional set of BaseParts. |
UnregisterCollisionGroup |
WorldRoot:UnregisterCollisionGroup(name: string): null |
Unregisters the collision group for the given name in this world. |
Events¶
| Member | Signature | Summary |
|---|---|---|
CollisionGroupCollidableChanged |
CollisionGroupCollidableChanged(collisionGroupIndex1: int, collisionGroupIndex2: int) |
— |
Roblox reference: WorldRoot
Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.