Skip to content

Poses and animations

Making a pose yourself, and playing it on somebody.

You do not need a modelling program and you do not upload a file. The animator is a page of the editor, and what it makes lands in your inventory as an item you can play straight away.

Making one

Open the editor, then the Animator tab in the bar at the top.

You are looking at your own body. The bones are on the left, the body in the middle, the selected bone's numbers on the right, and time along the bottom.

  1. Click a bone — in the list, or on the body itself.
  2. Drag it. The body turns the way your hand goes. Hold Shift for a quarter of the speed when you are close to right.
  3. Name it in the field top-left, and press Save.

That is the whole loop. Rotating a bone records it — there is no key to press afterwards and nothing to switch on first. If you go too far, Ctrl + Z; a whole drag comes back in one press.

Moving the camera

Drag the background to turn, drag with the right button to slide, and the wheel to zoom. F puts the camera on the bone you are working on.

When the view ends up somewhere you did not choose — and it will — the viewfinder button at the left of the stage puts it back exactly where the page opened, from wherever you are, including from inside first person. R does the same thing without the mouse.

Mirroring

Half of posing a body is doing the same thing to the other side. Mirror copies the selected bone's rotation to its twin, reflected — a left arm raised becomes a right arm raised, not a right arm pointing backwards.

The bone's six verbs

Under the three angles on the right there is a row of six marks. Hover any of them for its name.

key this bone here
take this bone's key here away
straightenput the bone back where the body's own rest pose had it
mirrorcopy this rotation to the twin bone, reflected
binforget everything this bone was ever told to do
viewfinderput the camera on this bone

More than one frame

A pose is an animation with one keyframe. Type a Length in frames at the right of the timeline's bar, and the ruler fills; move the playhead, pose again, and you have two. Everything in between is worked out for you.

The sheet

Under the ruler there is a row per limb and, inside it, a row per bone. Click the chevron to fold a limb you are not working on. The top row, All bones, is every key in the animation merged into one line — the row to scrub against when you want to know is there anything here at all.

Selecting a bone — in the list, or by clicking the joint on the body — brings its row into view.

Keys

click a keytake hold of it, and go there
Shift + clickadd it to what you are holding
drag over empty sheeta rubber band: everything inside it
drag a key you are holdingmove all of them, keeping their spacing
click a key on a limb rowthe whole limb's keys at that frame
Deldelete what you are holding

Dragging a key onto another one replaces it, which is what dragging one thing onto another means everywhere.

Copy, paste, and the other side of the body

Ctrl + Ccopy what you are holding — or, holding nothing, this frame, or this pose
Ctrl + Vpaste it at the playhead
Ctrl + Shift + Vpaste it mirrored

The mirrored paste is how a walk cycle is made. Pose the first half, select those keys, move the playhead to the middle of the clip and paste mirrored: the left leg's keys land on the right leg, reflected, and the second half of the cycle is done.

How a key travels

Three marks in the timeline's bar decide what happens between one key and the next. They act on the keys you are holding.

rampstraight thereconstant speed. A pendulum, a machine
Seasedslows out of one key and into the next. What makes a wave look like a wave rather than a metronome
stephelddoes not move at all, then jumps. Robot arms, blinking, a hand that snaps open

A key you make here is eased unless you say otherwise, because that is what a limb does. The shape of the mark says which is which at a glance: a circle with a halo is eased, a plain circle is straight, a square is held.

Playing it back

Spaceplay and pause
one frame back / forward
Home Endfirst frame / last frame
Kkey every posed bone, here

Looking closely

The ruler shows the whole clip, so "where am I" never needs a scrollbar to answer. On a long animation, roll the wheel over the ruler to zoom in on the part you are working on — a strip under the rows shows which part of the clip you are looking at — and the viewfinder in the timeline's bar puts the whole thing back on screen.

Changing the length rescales the ruler under the keys you already placed. Changing the frame rate does not move them: they keep the moment in time they were made at, so a finished animation never changes speed because you changed the ruler.

Playing it

It is an ordinary inventory item, so it plays exactly like an animation you uploaded:

luau
--!strict
local self = require("self")

-- Published on the world's shelf. It could also be an item dropped into this
-- object's contents, named plainly: "acenar".
local WAVE = "world/avatars/anim/acenar"

self:on_touch(function(p)
    p:play_animation(WAVE, { looped = false })
end)

You already have the player in p, so play it on p. The module spelling — players:play_animation(p.id, WAVE, …) — is the same call, and is what you write when what you are holding is an id.

See play_animation for speed, weight, masks and blending, and set_locomotion for replacing how somebody walks.

What a pose claims, and what it leaves alone

A pose only speaks for the bones you actually moved. Everything else keeps doing whatever it was doing — which is why a salute made on one arm plays over a walk without you making one version per gait. That is play_animation's default mask = "auto", and it is the reason to move as few bones as the pose needs.

If you want a pose to own the whole body — an emote, a sit — ask for it:

luau
p:play_animation(SIT, { mask = "all" })

It plays on every body, not just yours

You author against your own avatar, and what gets stored is the rotation you added to each bone rather than where that bone ended up. So a pose made on one body plays correctly on another with different proportions, and on a body uploaded after yours.

The consequence worth knowing: a pose is a set of joint angles, not a set of positions. Two hands meeting exactly on your avatar will meet approximately on a taller one.

Editing one you already have

Double-click any animation in your inventory.

  • One you made here opens for editing, and Save writes back to that same item.
  • One you uploaded — a .glb from Blender or Mixamo — opens as a starting point, converted into a new unsaved animation. Saving creates a new item and leaves your upload untouched. The conversion keeps rotations on the standard humanoid bones and nothing else, so it is a place to start from, not a round trip.

Limits

Lengthup to 60 seconds
Keys per bone240
Frame rate12, 24, 30 or 60
Bonesthe 55 of the standard humanoid skeleton
Rotation onlya pose turns joints; it does not move them apart

Hungrit scripting documentation.