Model
Models are container objects, meaning they group objects together. They are best used to hold collections of BaseParts and have a number of functions that extend their functionality.
Memory category | PhysicsParts |
---|
Member index 33
Removed member index 2
History | Member | |
---|---|---|
557 | World Pivot Orientation: Vector3 | |
557 | World Pivot Position: Vector3 |
Description
Models are container objects, meaning they group objects together. They are best used to hold collections of BaseParts and have a number of functions that extend their functionality.
Models are intended to represent geometric groupings. If your grouping has no geometric interpretation, for instance a collection of Scripts, use a Folder instead.
Models whose constituent parts are joined together with joints (so that they can move around or be destroyed via physics simulation) usually have a PrimaryPart set, as it specifies which part within the model the pivot and bounding box will "follow" as the model moves. Static models which stay in one place do not benefit from having a primary part set.
Models have a wide range of applications, including Roblox player characters. They also have a number of unique behaviors that are important to keep in mind:
- When a Humanoid and a Part named Head are parented under a model, a name/health GUI will appear over the model; see Character Name/Health Display for details.
- If a part's position on the Y axis hits the Workspace.FallenPartsDestroyHeight value, and it was the last object inside of a Model, the model will be destroyed as well.
- When used in a place with Workspace.StreamingEnabled set to true, the value of ModelStreamingMode controls various behaviors around how the model and any descendants are replicated and/or removed from clients. In addition, the value of LevelOfDetail impacts rendering of the model.
As with all Instance types, the fact that a parent Model is replicated to a client does not guarantee that all its children are replicated. This is particularly important if these instances are being accessed by code running on the client, such as in a LocalScript. Using ModelStreamingMode with values such as Atomic can ensure that the entire model and all of its descendants are present if the parent model exists on the client, or you can use WaitForChild() when atomicity is not desired.
History 113
- 648 Change ReturnType of GetPersistentPlayers from Objects to Instances
- 607 Change ReturnType of GetBoundingBox from Tuple to (CFrame, Vector3)
- 576 Change PreferredDescriptor of GetPrimaryPartCFrame from GetPivot to GetPivot
- 576 Add GetPersistentPlayers
- 573 Change ReturnType of moveTo from void to null
- 573 Change ReturnType of move from void to null
- 573 Change ReturnType of makeJoints from void to null
- 573 Change ReturnType of breakJoints from void to null
- 573 Change ReturnType of TranslateBy from void to null
- 573 Change ReturnType of SetPrimaryPartCFrame from void to null
- 573 Change ReturnType of SetIdentityOrientation from void to null
- 573 Change ReturnType of ScaleTo from void to null
- 573 Change ReturnType of ResetOrientationToIdentity from void to null
- 573 Change ReturnType of RemovePersistentPlayer from void to null
- 573 Change ReturnType of MoveTo from void to null
- 573 Change ReturnType of MakeJoints from void to null
- 573 Change ReturnType of BreakJoints from void to null
- 573 Change ReturnType of AddPersistentPlayer from void to null
- 564 Change Tags of MakeJoints from [] to [Deprecated]
- 564 Change Tags of BreakJoints from [] to [Deprecated]
- 562 Add ScaleTo
- 562 Add GetScale
- 562 Add
- 562 Add Scale
- 557 Add RemovePersistentPlayer
- 557 Add AddPersistentPlayer
- 557 Remove World Pivot Position
- 557 Remove World Pivot Orientation
- 554 Remove RemovePersistentPlayer
- 554 Remove AddPersistentPlayer
- 555 Add RemovePersistentPlayer
- 555 Add AddPersistentPlayer
- 553 Change PreferredDescriptor of moveTo from to MoveTo
- 553 Change PreferredDescriptor of move from to MoveTo
- 553 Change PreferredDescriptor of makeJoints from to MakeJoints
- 553 Change PreferredDescriptor of breakJoints from to BreakJoints
- 553 Change PreferredDescriptor of SetPrimaryPartCFrame from to PivotTo
- 553 Change PreferredDescriptor of SetIdentityOrientation from to SetPrimaryPartCFrame
- 553 Change PreferredDescriptor of ResetOrientationToIdentity from to SetPrimaryPartCFrame
- 553 Change PreferredDescriptor of GetPrimaryPartCFrame from to GetPivot
- 553 Change PreferredDescriptor of GetModelSize from to GetExtentsSize
- 553 Change PreferredDescriptor of GetModelCFrame from to GetPrimaryPartCFrame
- 553 Add
- 553 Change Default of WorldPivot from to
- 553 Change Default of World Pivot Position from to Vector3(0, 0, 0)
- 553 Change Default of World Pivot Orientation from to Vector3(0, 0, 0)
- 553 Change Default of PrimaryPart from to
- 553 Add
- 553 Change Default of ModelStreamingMode from to Default
- 553 Add
- 553 Add
- 553 Add
- 553 Add
- 553 Change Default of LevelOfDetail from to Automatic
- 548 Add ModelStreamingMode
- 538 Change Tags of SetPrimaryPartCFrame from [] to [Deprecated]
- 538 Change Tags of GetPrimaryPartCFrame from [] to [Deprecated]
- 538 Change Category of PrimaryPart from Data to Pivot
- 486 Change ThreadSafety of WorldPivot from ReadOnly to ReadSafe
- 486 Change ThreadSafety of World Pivot Position from ReadOnly to ReadSafe
- 486 Change ThreadSafety of World Pivot Orientation from ReadOnly to ReadSafe
- 486 Change ThreadSafety of PrimaryPart from ReadOnly to ReadSafe
- 486 Change ThreadSafety of LevelOfDetail from ReadOnly to ReadSafe
- 473 Change CanLoad of WorldPivot from true to false
- 473 Change Tags of WorldPivot from [] to [NotReplicated]
- 473 Change CanSave of WorldPivot from true to false
- 470 Add WorldPivot
- 470 Add World Pivot Position
- 470 Add World Pivot Orientation
- 462 Change ThreadSafety of moveTo from to Unsafe
- 462 Change ThreadSafety of move from to Unsafe
- 462 Change ThreadSafety of makeJoints from to Unsafe
- 462 Change ThreadSafety of breakJoints from to Unsafe
- 462 Change ThreadSafety of TranslateBy from to Unsafe
- 462 Change ThreadSafety of SetPrimaryPartCFrame from to Unsafe
- 462 Change ThreadSafety of SetIdentityOrientation from to Unsafe
- 462 Change ThreadSafety of ResetOrientationToIdentity from to Unsafe
- 462 Change ThreadSafety of MoveTo from to Unsafe
- 462 Change ThreadSafety of MakeJoints from to Unsafe
- 462 Change ThreadSafety of GetPrimaryPartCFrame from to Unsafe
- 462 Change ThreadSafety of GetModelSize from to Unsafe
- 462 Change ThreadSafety of GetModelCFrame from to Unsafe
- 462 Change ThreadSafety of GetExtentsSize from to Unsafe
- 462 Change ThreadSafety of GetBoundingBox from to Unsafe
- 462 Change ThreadSafety of BreakJoints from to Unsafe
- 462 Change ThreadSafety of PrimaryPart from to ReadOnly
- 462 Change ThreadSafety of LevelOfDetail from to ReadOnly
- 442 Add LevelOfDetail
- 357 Add GetBoundingBox
- 329 Change ValueType of PrimaryPart from Object to BasePart
- 152 Change Parameters of TranslateBy from (offset: Vector3) to (delta: Vector3)
- 152 Add SetPrimaryPartCFrame
- 152 Change Tags of SetIdentityOrientation from [] to [Deprecated]
- 152 Change Tags of ResetOrientationToIdentity from [] to [Deprecated]
- 152 Change Parameters of MoveTo from (location: Vector3) to (position: Vector3)
- 152 Add GetPrimaryPartCFrame
- 152 Change Tags of GetModelSize from [] to [Deprecated]
- 152 Change Tags of GetModelCFrame from [] to [Deprecated]
- 152 Add GetExtentsSize
- 51 Add SetIdentityOrientation
- 51 Add ResetOrientationToIdentity
- 50 Add moveTo
- 49 Add breakJoints
- 48 Add makeJoints
- 47 Add move
- 47 Add TranslateBy
- 47 Add MoveTo
- 47 Add MakeJoints
- 47 Add GetModelSize
- 47 Add GetModelCFrame
- 47 Add BreakJoints
- 47 Add PrimaryPart
- 47 Add Model
Members 33
AddPersistentPlayer
Parameters (1) | Default | |
---|---|---|
playerInstance | Player | Player |
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of AddPersistentPlayer from void to null
- 557 Add AddPersistentPlayer
- 554 Remove AddPersistentPlayer
- 555 Add AddPersistentPlayer
BreakJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Breaks connections between BaseParts
, including surface connections with
any adjacent parts, WeldConstraints, and all
Welds and other JointInstances.
When BreakJoints is used on a Player character Model, the character's Humanoid will die as it relies on the Neck joint.
Note that although joints produced by surface connections with adjacent Parts can technically be recreated using Model:MakeJoints(), this will only recreate joints produced by surfaces. Developers should not rely on this as following the joints being broken parts may no longer be in contact with each other.
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of BreakJoints from void to null
- 564 Change Tags of BreakJoints from [] to [Deprecated]
- 462 Change ThreadSafety of BreakJoints from to Unsafe
- 47 Add BreakJoints
GetBoundingBox
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (2) | ||
CFrame | ||
Vector3 |
This function returns a description of a volume that contains all BasePart children within a Model. The volume's orientation is based on the orientation of the PrimaryPart, and matches the selection box rendered in Studio when the model is selected. Mirroring the behavior of Terrain:FillBlock(), it returns a CFrame representing the center of that bounding box and a Vector3 representing its size.
If there is no PrimaryPart for the model, the bounding box will be aligned to the world axes.
1 2 3 4 5 6 7 |
|
Thread safety | Unsafe |
---|
History 3
- 607 Change ReturnType of GetBoundingBox from Tuple to (CFrame, Vector3)
- 462 Change ThreadSafety of GetBoundingBox from to Unsafe
- 357 Add GetBoundingBox
GetExtentsSize
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Vector3 |
Returns the size of the smallest bounding box that contains all of the BaseParts in the Model. If Model.PrimaryPart exists then the bounding box will be aligned to that part. If a primary part has not been set then the function will chose a part in the model to align the bounding box to. As the selection of this part is not deterministic it is recommended to set a Model.PrimaryPart to get consistent results with this function.
Note this function only returns the size of the smallest bounding box, and the developer must employ their own method to obtain the position of the bounding box.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of GetExtentsSize from to Unsafe
- 152 Add GetExtentsSize
GetModelCFrame
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
CFrame |
This value historically returned the CFrame of a central position in the model.
Thread safety | Unsafe |
---|
History 4
- 553 Change PreferredDescriptor of GetModelCFrame from to GetPrimaryPartCFrame
- 462 Change ThreadSafety of GetModelCFrame from to Unsafe
- 152 Change Tags of GetModelCFrame from [] to [Deprecated]
- 47 Add GetModelCFrame
GetModelSize
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Vector3 |
Thread safety | Unsafe |
---|
History 4
- 553 Change PreferredDescriptor of GetModelSize from to GetExtentsSize
- 462 Change ThreadSafety of GetModelSize from to Unsafe
- 152 Change Tags of GetModelSize from [] to [Deprecated]
- 47 Add GetModelSize
GetPersistentPlayers
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Instances |
When this method is called from a Script, it returns all the Player objects that this model is persistent for. When called from a LocalScript, this method only checks if this model is persistent for the LocalPlayer.
Thread safety | Unsafe |
---|
History 2
- 648 Change ReturnType of GetPersistentPlayers from Objects to Instances
- 576 Add GetPersistentPlayers
GetPrimaryPartCFrame
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
CFrame |
This function has been superseded by PVInstance:GetPivot() which acts as a replacement and does not change your code's behavior. Use PVInstance:GetPivot() for new work and migrate your existing Model:GetPrimaryPartCFrame() calls when convenient.
Returns the CFrame of the model's Model.PrimaryPart.
This function is equivalent to the following.
Model.PrimaryPart.CFrame
Note this function will throw an error if no primary part exists for the Model. If this behavior is not desired developers can do the following, which will be equal to nil if there is no primary part.
local cFrame = Model.PrimaryPart and Model.PrimaryPart.CFrame
Thread safety | Unsafe |
---|
History 5
- 576 Change PreferredDescriptor of GetPrimaryPartCFrame from GetPivot to GetPivot
- 553 Change PreferredDescriptor of GetPrimaryPartCFrame from to GetPivot
- 538 Change Tags of GetPrimaryPartCFrame from [] to [Deprecated]
- 462 Change ThreadSafety of GetPrimaryPartCFrame from to Unsafe
- 152 Add GetPrimaryPartCFrame
GetScale
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
float |
Models contain a persistent canonical scale factor, which starts out at 1
for newly created models and changes as the model is scaled by calling
Model/ScaleTo
. This function returns the current canonical scale factor
of the model.
The current scale factor does not directly impact the size of Instances under the model. It is used for content authoring and scripting purposes to remember how the model has been scaled relative to its original size.
Within a given session, the model will cache the precise original size
information of the descendant Instances after the first Model/ScaleTo
call. This means that calling ScaleTo(x)
followed by ScaleTo(1)
will
get you back exactly the original configuration of the model with no
floating point drift. Avoiding floating point drift is the motivation for
having a ScaleTo function instead of a ScaleBy function.
The scale factor does impact engine behavior in one way: The scale factor of a model will be applied to joint offsets of animations played on an AnimationController under that model, so that animated rigs will correctly play back animations even when scaled.
Thread safety | Unsafe |
---|
LevelOfDetail
Type | Default | |
---|---|---|
ModelLevelOfDetail | Automatic |
Sets the level of detail on the model for experiences with instance streaming enabled.
When set to StreamingMesh, a lower resolution "imposter" mesh (colored, coarse mesh that wraps around all child parts of the model) renders outside the streaming radius.
When set to Disabled or Automatic, lower resolution meshes will not be displayed.
Security | PluginSecurity |
---|---|
Thread safety | ReadSafe |
Category | Appearance |
Loaded/Saved | true |
History 4
- 553 Change Default of LevelOfDetail from to Automatic
- 486 Change ThreadSafety of LevelOfDetail from ReadOnly to ReadSafe
- 462 Change ThreadSafety of LevelOfDetail from to ReadOnly
- 442 Add LevelOfDetail
MakeJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
SurfaceType based joining is deprecated. Don't use MakeJoints for new projects. Use WeldConstraints and HingeConstraints instead.
Goes through all Parts in the Model and creates joints between the specified Parts and any planar touching surfaces, depending on the parts' surfaces.
- Smooth surfaces will not create joints
- Glue surfaces will create a Glue joint
- Weld will create a Weld joint with any surface except for Unjoinable
- Studs, Inlet, or Universal will each create a Snap joint with either of other the other two surfaces (e.g. Studs with Inlet and Universal)
- Hinge and Motor surfaces create Rotate and RotateV joint instances
This function doesn't work if the Part is not a descendant of Workspace. Therefore, you must first ensure the Model is parented to Workspace before using MakeJoints.
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of MakeJoints from void to null
- 564 Change Tags of MakeJoints from [] to [Deprecated]
- 462 Change ThreadSafety of MakeJoints from to Unsafe
- 47 Add MakeJoints
ModelStreamingMode
Type | Default | |
---|---|---|
ModelStreamingMode | Default |
Controls how Models are streamed in and out when instance streaming is enabled. Behavior depends on the selected enum. Has no effect when streaming is not enabled.
This property should only be changed in Studio via the Properties window when streaming is enabled, or in Scripts, but never in LocalScripts (doing so can result in undefined behavior).
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 2
- 553 Change Default of ModelStreamingMode from to Default
- 548 Add ModelStreamingMode
MoveTo
Parameters (1) | ||
---|---|---|
position | Vector3 | |
Returns (1) | ||
null |
Moves the PrimaryPart to the given position. If a primary part has not been specified, the root part of the model will be used, but the root part is not deterministic and it is recommended that you always set a primary part when using MoveTo().
If there are any obstructions where the model is to be moved, such as Terrain or other BaseParts, the model will be moved vertically upward until there is nothing in the way. If this behavior is not desired, PVInstance:PivotTo() should be used instead.
Note that rotation is not preserved when moving a model with MoveTo(). It is recommended to use either TranslateBy() or PVInstance:PivotTo() if the current rotation of the model needs to be preserved.
Thread safety | Unsafe |
---|
PrimaryPart
Type | Default | |
---|---|---|
BasePart |
Points to the primary part of the Model. The primary part is the BasePart that acts as the physical reference for the pivot of the model. That is, when parts within the model are moved due to physical simulation or other means, the pivot will move in sync with the primary part.
Note that Models do not have PrimaryPart
set by default.
If you are creating a model that needs to be acted upon by physics, you
should manually set this property in Studio or within a script. If the
primary part is not set, the pivot will remain at the same location in
world space, even if parts within the model are moved.
Also note that when setting this property, it must be a BasePart
that is a descendant of the model. If you try to set
Model.PrimaryPart to a BasePart that is not a
descendant of the model, it will be set to that part but reset to nil
during the next simulation step — this is legacy behavior to support
scripts which assume they can temporarily set the primary part to a
BasePart which isn't a descendant of the model.
The general rule for models is that:
- Models whose parts are joined together via physical joints such as WeldConstraints or Motor6Ds should have a primary part assigned. For example, Roblox character models have their Model.PrimaryPart set to the HumanoidRootPart by default.
- Static (usually Anchored) models which stay in one place unless a script explicitly moves them don't require a Model.PrimaryPart and tend not to benefit from having one set.
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | true |
History 6
- 553 Change Default of PrimaryPart from to
- 538 Change Category of PrimaryPart from Data to Pivot
- 486 Change ThreadSafety of PrimaryPart from ReadOnly to ReadSafe
- 462 Change ThreadSafety of PrimaryPart from to ReadOnly
- 329 Change ValueType of PrimaryPart from Object to BasePart
- 47 Add PrimaryPart
RemovePersistentPlayer
Parameters (1) | Default | |
---|---|---|
playerInstance | Player | Player |
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of RemovePersistentPlayer from void to null
- 557 Add RemovePersistentPlayer
- 554 Remove RemovePersistentPlayer
- 555 Add RemovePersistentPlayer
ResetOrientationToIdentity
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Resets the rotation of the model's parts to the previously set identity rotation, which is done through the Model:SetIdentityOrientation() method.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of ResetOrientationToIdentity from void to null
- 553 Change PreferredDescriptor of ResetOrientationToIdentity from to SetPrimaryPartCFrame
- 462 Change ThreadSafety of ResetOrientationToIdentity from to Unsafe
- 152 Change Tags of ResetOrientationToIdentity from [] to [Deprecated]
- 51 Add ResetOrientationToIdentity
Scale
Type | Default | |
---|---|---|
float | 1 |
Setting this property in the properties pane will scale the model as
though Model/ScaleTo
was called on it, scaling all descendant Instances
in the model such that the model has the specified scale factor relative
to its original size.
This property is only available in Studio and will throw an error if used
in a Script
or LocalScript
. Model/ScaleTo
and Model/GetScale
should be used from scripts.
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | false |
ScaleTo
Parameters (1) | ||
---|---|---|
newScaleFactor | float | |
Returns (1) | ||
null |
Models contain a persistent canonical scale factor, which starts out at 1 for newly created models. This function scales the model, around the pivot location, relative to how it would look at a scale factor of 1. To accomplish this it does two things:
- Sets the current scale factor of the model to the specified value
- Resizes and repositions all descendant Instances accordingly
The scaling of locations is done around the pivot location.
All "geometric" properties of descendant Instances will be scaled. That obviously includes the sizes of parts, but here are some other examples of properties which are scaled:
- The length of joints like WeldConstraints, and Ropes
- Physical velocities and forces like
Hinge.MaxServoTorque
- Visual properties like sizes of particle emitters
- Other length properties like
Sound.RollOffMinDistance
Thread safety | Unsafe |
---|
SetIdentityOrientation
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Sets the identity rotation of the given model, allowing you to reset the
rotation of the entire model later, through the use of the
ResetOrientationToIdentity
method.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of SetIdentityOrientation from void to null
- 553 Change PreferredDescriptor of SetIdentityOrientation from to SetPrimaryPartCFrame
- 462 Change ThreadSafety of SetIdentityOrientation from to Unsafe
- 152 Change Tags of SetIdentityOrientation from [] to [Deprecated]
- 51 Add SetIdentityOrientation
SetPrimaryPartCFrame
Parameters (1) | ||
---|---|---|
cframe | CFrame | |
Returns (1) | ||
null |
This function has been superseded by PVInstance:PivotTo() which acts as a more performant replacement and does not change your code's behavior. Use PVInstance:PivotTo() for new work and migrate your existing Model:SetPrimaryPartCFrame() calls when convenient.
Sets the BasePart.CFrame of the model's Model.PrimaryPart. All other parts in the model will also be moved and will maintain their orientation and offset respective to the Model.PrimaryPart.
Note, this function will throw an error if no Model.PrimaryPart exists for the model. This can cause issues if, for example, the primary part was never set or has been destroyed.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of SetPrimaryPartCFrame from void to null
- 553 Change PreferredDescriptor of SetPrimaryPartCFrame from to PivotTo
- 538 Change Tags of SetPrimaryPartCFrame from [] to [Deprecated]
- 462 Change ThreadSafety of SetPrimaryPartCFrame from to Unsafe
- 152 Add SetPrimaryPartCFrame
TranslateBy
Parameters (1) | ||
---|---|---|
delta | Vector3 | |
Returns (1) | ||
null |
Shifts a Model by the given Vector3 offset, preserving the model's orientation. If another BasePart or Terrain already exists at the new position then the Model will overlap said object.
The translation is applied in world space rather than object space, meaning even if the model's parts are orientated differently it will still move along the standard axis.
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of TranslateBy from void to null
- 462 Change ThreadSafety of TranslateBy from to Unsafe
- 152 Change Parameters of TranslateBy from (offset: Vector3) to (delta: Vector3)
- 47 Add TranslateBy
WorldPivot
Type | Default | |
---|---|---|
CFrame |
This property determines where the pivot of a Model which does not have a set Model.PrimaryPart is located. If the Model does have a PrimaryPart, the pivot of the Model is equal to the pivot of that primary part instead, and this WorldPivot property is ignored.
For a newly created Model, its pivot will be treated as the center of the bounding box of its contents until the first time its Model.WorldPivot property is set. Once the world pivot is set for the first time, it is impossible to restore this initial behavior.
Most commonly, moving the model with the Studio tools, or with model movement functions such as PVInstance:PivotTo() and Model:MoveTo(), will set the world pivot and thus end this new model behavior.
The purpose of this behavior is to allow Lua code to get a sensible pivot simply by creating a new model and parenting objects to it, avoiding the need to explicitly set Model.WorldPivot every time you create a model in code.
local model = Instance.new("Model")
workspace.BluePart.Parent = model
workspace.RedPart.Parent = model
model.Parent = workspace
print(model:GetPivot()) -- Currently equal to the center of the bounding box containing "BluePart" and "RedPart"
model:PivotTo(CFrame.new(0, 10, 0)) -- This works without needing to explicitly set "model.WorldPivot"
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | false |
History 6
- 553 Change Default of WorldPivot from to
- 486 Change ThreadSafety of WorldPivot from ReadOnly to ReadSafe
- 473 Change CanLoad of WorldPivot from true to false
- 473 Change Tags of WorldPivot from [] to [NotReplicated]
- 473 Change CanSave of WorldPivot from true to false
- 470 Add WorldPivot
breakJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of breakJoints from void to null
- 553 Change PreferredDescriptor of breakJoints from to BreakJoints
- 462 Change ThreadSafety of breakJoints from to Unsafe
- 49 Add breakJoints
makeJoints
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of makeJoints from void to null
- 553 Change PreferredDescriptor of makeJoints from to MakeJoints
- 462 Change ThreadSafety of makeJoints from to Unsafe
- 48 Add makeJoints
move
Parameters (1) | ||
---|---|---|
location | Vector3 | |
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
moveTo
Parameters (1) | ||
---|---|---|
location | Vector3 | |
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
Removed members 2
World Pivot Orientation
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | false |
History 4
- 557 Remove World Pivot Orientation
- 553 Change Default of World Pivot Orientation from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of World Pivot Orientation from ReadOnly to ReadSafe
- 470 Add World Pivot Orientation
World Pivot Position
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
Thread safety | ReadSafe |
---|---|
Category | Pivot |
Loaded/Saved | false |
History 4
- 557 Remove World Pivot Position
- 553 Change Default of World Pivot Position from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of World Pivot Position from ReadOnly to ReadSafe
- 470 Add World Pivot Position