A construct used to group Parts and other objects together, also allows manipulation of multiple objects.
A Part that serves as a reference for the Model's CFrame. Used in conjunction with GetModelPrimaryPartCFrame and SetModelPrimaryPartCFrame. Use this to rotate/translate all Parts relative to the PrimaryPart.
Breaks all surface joints contained within
CoordinateFrame GetModelCFrame() [deprecated]
Returns a CFrame that has position of the centroid of all Parts in the Model. The rotation matrix is either the rotation matrix of the user-defined PrimaryPart, or if not specified then a part in the Model chosen by the engine.
Vector3 GetModelSize() [deprecated]
Returns a Vector3 that is union of the extents of all Parts in the model.
Returns the cframe of the Model.PrimaryPart. If PrimaryPart is nil, then this function will throw an error.
Creates the appropriate SurfaceJoints between all touching Parts contrained within the model. Technically, this function calls MakeJoints() on all Parts inside the model.
void MoveTo(Vector3 position)
Moves the centroid of the Model to the specified location, respecting all relative distances between parts in the model.
Rotates all parts in the model to the orientation that was set using SetIdentityOrientation(). If this function has never been called, rotation is reset to GetModelCFrame()'s rotation.
Takes the current rotation matrix of the model and stores it as the model's identity matrix. The rotation is applied when ResetOrientationToIdentity() is called.
void SetPrimaryPartCFrame(CoordinateFrame cframe)
Sets the cframe of the Model.PrimaryPart. If PrimaryPart is nil, then this function will throw an error. This also sets the cframe of all descendant Parts relative to the cframe change to PrimaryPart.
void TranslateBy(Vector3 delta)
Similar to MoveTo(), except instead of moving to an explicit location, we use the model's current CFrame location and offset it.
Use MakeJoints() instead
void move(Vector3 location) [deprecated]
Use MoveTo() instead