Appearance
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.
- Click a bone — in the list, or on the body itself.
- Drag it. The body turns the way your hand goes. Hold Shift for a quarter of the speed when you are close to right.
- 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 |
| straighten | put the bone back where the body's own rest pose had it |
| mirror | copy this rotation to the twin bone, reflected |
| bin | forget everything this bone was ever told to do |
| viewfinder | put 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 key | take hold of it, and go there |
| Shift + click | add it to what you are holding |
| drag over empty sheet | a rubber band: everything inside it |
| drag a key you are holding | move all of them, keeping their spacing |
| click a key on a limb row | the whole limb's keys at that frame |
| Del | delete 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 + C | copy what you are holding — or, holding nothing, this frame, or this pose |
| Ctrl + V | paste it at the playhead |
| Ctrl + Shift + V | paste 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.
| ramp | straight there | constant speed. A pendulum, a machine |
| S | eased | slows out of one key and into the next. What makes a wave look like a wave rather than a metronome |
| step | held | does 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
| Space | play and pause |
| ← → | one frame back / forward |
| Home End | first frame / last frame |
| K | key 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
.glbfrom 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
| Length | up to 60 seconds |
| Keys per bone | 240 |
| Frame rate | 12, 24, 30 or 60 |
| Bones | the 55 of the standard humanoid skeleton |
| Rotation only | a pose turns joints; it does not move them apart |
