Model

Group parts into one thing you can move, pose and animate: a character, a prop, a whole set. Give a character a face and play clips on its joints.

A Model groups 3D instances inside a DataModel. Its pivot is its PrimaryPart's when that is set, else WorldPivot, and PivotTo moves everything in it rigidly, as in Roblox. Rig clips in a CookVideo play keyframe sets on its Motor6Ds. Face, an ImageContent, is drawn on its face part (FacePart, else the part named Head; MeshParts only) as a face image or a head atlas. Onion skin ghosts the selected Model's pose before and after the playhead.

Example

Move a model by its pivotLuau
--!strict
local studio = Root.Sandbox.DataModels.Studio
local tower = studio.Tower
tower:PivotTo(CFrame.new(0, 0, -12))
local p: CFrame = tower:GetPivot()

Properties

Face

NameTypeDefaultDescription
FaceImageContentAn image drawn over the Model's face part like Roblox's face Decal; the rest of the head keeps its own texture.
FacePartBasePartThe part inside the Model that shows its Face; when empty, the first descendant part named Head.
FaceShownOnread-only textProperties window onlySays so when the face part is a plain Part, since only MeshParts show faces.

Pivot

PrimaryPartBasePartWhen set, the Model's pivot is this part's CFrame times its PivotOffset, and a stored WorldPivot is ignored.
WorldPivotCFrame0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1The Model's pivot when it has no PrimaryPart; never set, the pivot is the centre of its parts' box.

Methods

NameArgumentsReturnsDescription
GetPivot()CFrameWith a PrimaryPart, returns exactly its CFrame times its PivotOffset, ignoring a stored WorldPivot, as in Roblox.
PivotTo(targetCFrame: CFrame)()Moves the Model rigidly, with its parts, NullObjects, Shaders and Clouds, and stores the pivot.
From Instance 22