Reference API Roblox

Engine API

Website

Related

Reference API Roblox

WorldModel

Extends limited physics for its children on to a parent ViewportFrame.

Member index 0

HistoryMember
No members defined by WorldModel.
inherited from WorldRoot
648ArePartsTouchingOthers(partList: Instances, overlapIgnored: float = 0.000199999995): bool
638Blockcast(cframe: CFrame, size: Vector3, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult?
648BulkMoveTo(partList: Instances, cframeList: Array, eventMode: BulkMoveMode = FireAllEvents): null
552CacheCurrentTerrain(id: string, center: Vector3, radius: float): string
552ClearCachedTerrain(id: string): bool
726FindPartOnRay(ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple
726FindPartOnRayWithIgnoreList(ray: Ray, ignoreDescendantsTable: Instances, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple
726FindPartOnRayWithWhitelist(ray: Ray, whitelistDescendantsTable: Instances, ignoreWater: bool = false): Tuple
726FindPartsInRegion3(region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20): Instances
726FindPartsInRegion3WithIgnoreList(region: Region3, ignoreDescendantsTable: Instances, maxParts: int = 20): Instances
726FindPartsInRegion3WithWhiteList(region: Region3, whitelistDescendantsTable: Instances, maxParts: int = 20): Instances
678GetAwakeContactNormals(): Array
678GetAwakeContactParts(): Array
678GetAwakeContactPositions(): Array
678GetAwakeRootParts(): Instances
690GetPartBoundsInBox(cframe: CFrame, size: Vector3, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances
690GetPartBoundsInRadius(position: Vector3, radius: float, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances
690GetPartsInPart(part: BasePart, overlapParams: OverlapParams = OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): Instances
573IKMoveTo(part: BasePart, target: CFrame, translateStiffness: float = 0.5, rotateStiffness: float = 0.5, collisionsMode: IKCollisionsMode = OtherMechanismsAnchored): null
726IsRegion3Empty(region: Region3, ignoreDescendentsInstance: Instance = Instance): bool
726IsRegion3EmptyWithIgnoreList(region: Region3, ignoreDescendentsTable: Instances): bool
638Raycast(origin: Vector3, direction: Vector3, raycastParams: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult?
638RaycastCachedTerrain(id: string, origin: Vector3, direction: Vector3, ignoreWater: bool): RaycastResult?
667SetInsertPoint(point: Vector3): null
638Shapecast(part: BasePart, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult?
638Spherecast(position: Vector3, radius: float, direction: Vector3, params: RaycastParams = RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}): RaycastResult?
648StepPhysics(dt: float, parts: Instances = {}): null
726findPartOnRay(ray: Ray, ignoreDescendantsInstance: Instance = Instance, terrainCellsAreCubes: bool = false, ignoreWater: bool = false): Tuple
726findPartsInRegion3(region: Region3, ignoreDescendantsInstance: Instance = Instance, maxParts: int = 20): Instances
inherited from Model
726LevelOfDetail: ModelLevelOfDetail
726ModelStreamingMode: ModelStreamingMode
726PrimaryPart: BasePart
726Scale: float
726WorldPivot: CFrame
573AddPersistentPlayer(playerInstance: Player = Player): null
573BreakJoints(): null
607GetBoundingBox(): (CFrame, Vector3)
462GetExtentsSize(): Vector3
726GetModelCFrame(): CFrame
726GetModelSize(): Vector3
648GetPersistentPlayers(): Instances
726GetPrimaryPartCFrame(): CFrame
562GetScale(): float
573MakeJoints(): null
573MoveTo(position: Vector3): null
573RemovePersistentPlayer(playerInstance: Player = Player): null
726ResetOrientationToIdentity(): null
573ScaleTo(newScaleFactor: float): null
726SetIdentityOrientation(): null
726SetPrimaryPartCFrame(cframe: CFrame): null
573TranslateBy(delta: Vector3): null
726breakJoints(): null
726makeJoints(): null
726move(location: Vector3): null
726moveTo(location: Vector3): null
inherited from PVInstance
726Origin: CFrame
726Pivot Offset: CFrame
576GetPivot(): CFrame
573PivotTo(targetCFrame: CFrame): null
inherited from Instance
726Archivable: bool
726Capabilities: SecurityCapabilities
726IsInSandbox: bool
726Name: string
726Parent: Instance
726PredictionMode: PredictionMode
726Sandboxed: bool
726UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
726children(): Instances
726clone(): Instance
726destroy(): null
726findFirstChild(name: string, recursive: bool = false): Instance
726getChildren(): Instances
726isDescendantOf(ancestor: Instance): bool
726remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
726childAdded(child: Instance)
inherited from Object
726ClassName: string
726className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
726isA(className: string): bool
647Changed(property: string)

Description

When parented to a ViewportFrame, WorldModel extends limited physics for its children on to that ViewportFrame. For example, BaseParts that are parented to the WorldModel can be animated and spatially queried (for example by raycasts) but those parts are not simulated. Furthermore, you can put Humanoid characters in the WorldModel and their joints will be set up correctly for animation.

To avoid possible performance issues, make sure to only create WorldModels when you want to show them and to delete WorldModels that are currently not in use.

History 5

Settings