00:00 / 00:00

Persona

Live2D Models

Persona renders Cubism 3, 4 and 5 models, up to and including moc3 format v6 (Cubism 5.3 offscreens and blend modes), through a rendering engine maintained in-house

A Live2D model is a flat canvas placed in screen space: drag to move, scroll to zoom, Shift-scroll to rotate. Several can share a stage, stacked with images and video in one layer list, and one can ride another as an item

Rendering Engine

Live2D is drawn by a Cubism renderer written for Persona: it loads .model3.json models with their motions, expressions, physics, pose and hit areas, and fully supports Cubism's clipping masks and blend modes. Like the rest of the 3D stage it runs on WebGPU, falling back to WebGL on machines without it

Live2D composites into the 3D stage, so the whole effects chain reaches it: tone mapping, grading, bloom, chromatic aberration and the stylize effects. A Live2D-only scene can add effect layers too, and keeps its Look section

Bundled Models

One Live2D model ships with the application: Sony's RAYNOS-chan

Motions and Expressions

The Motions and Expressions sections list what the model provides, with the count next to each heading

Motions

Clicking a motion group plays a random motion from that group, and the button stays highlighted for as long as that motion is playing

Clicking a different motion replaces the running one, including a loop, matching VTube Studio

The running motion's own button is also its stop: clicking it again fades the motion out and hands the model back to its idle animation. A looping motion never finishes on its own, so this is the only thing that ends one, and a one-shot stops early the same way. The fade uses the model's own fade-out time. An avatar shortcut bound to that motion toggles the same way — press it again to stop

Groups whose motions loop are marked with a repeat icon

A group holding more than one motion carries a chevron beside its name. The dropdown behind it lists every motion in the group, with the running one checked, for when you want a specific motion rather than whichever one the group picks. Selecting the checked entry stops it

A playing motion outranks face tracking for the parameters it animates, as in VTube Studio, and those parameters ease back into tracking over about 0.3 seconds when it ends

Record Motion sits at the top of this section and captures what the model is doing right now as a new motion file — see Recording Motions

Expressions

Expressions toggle. Clicking one applies it and highlights the button; clicking it again removes it

Several can be active at once and they combine, so a model that separates, say, a blush from a mouth shape can wear both. Each is applied in the order you clicked, and removing one leaves the rest untouched

New Expression sits at the top of this section and writes a new expression file beside the model; the chevron beside each expression button edits, duplicates, renames or deletes one — see Expression Editor

Remembering Expressions

Remember Expressions, at the top of the Expressions section, is on by default. With it on, whatever you have applied is saved as you go and restored when you switch back to that model or restart the application. Restored expressions come back already settled rather than fading in, avoiding a visible transition at startup

The saved set lives with the model, not with Persona: in the model's .vtube.json when it has one — the same field VTube Studio writes, so the two agree — and otherwise in a <model>.persona.json sidecar beside the .model3.json. Turning the switch off clears the saved set

VTube Studio Models

Many models built for VTube Studio ship their .motion3.json and .exp3.json files loose on disk without declaring them in the model settings file, because VTube Studio reads them from its own .vtube.json hotkey configuration instead. A standard Cubism loader finds nothing in these models and shows empty lists

Persona discovers those loose files and presents them anyway, taking their display names from the model's .vtube.json when one is present. Your files on disk are never modified — the extra entries are synthesised in memory as the model loads

Loose files are listed even on a model that declares its own motion groups or expressions: each motion as a group named by the file, each expression after the ones the model declares. That is what keeps a recorded motion and a file written by the expression editor listed on any model

Idle Animation

Idle Animation, in the Idle section, is on by default: it loops one motion underneath everything else while nothing is playing

Motion, below it, chooses which one. The default Idle Group plays the model's own Idle group at random, which is what the Cubism engine does on its own. Pick a specific motion instead and it loops that one

The idle plays at the lowest priority, so any one-shot motion overrides it and face tracking writes over it per parameter. When it is released, it hands those parameters back over its own fade-out time

A chosen motion that a later model no longer lists falls back to the Idle group at random

When Tracking Is Lost

Also in the Idle section, this decides what the tracked parameters do while face tracking is gone:

OptionBehaviour
Keep Last PoseFreeze on the last frame received until tracking returns — the default
Return to IdleEase to whatever the idle animation writes over about 0.3 s, and back when the face returns

Live2D adds two more. Tracking-Lost Motion names one of the model's own motions to replace the idle animation once the face has been gone long enough, swapping back when it returns; Delay is how long that is, 0 to 60 seconds, defaulting to 3. Both are hidden until a motion is chosen, leaving just the two behaviours above

VRM has When Tracking Is Lost too, without those two — see VRM idle behaviour

Auto Breath

Auto Breath, in the Idle section, is the Cubism engine's own built-in breathing, switchable per model instance and on by default. Depth multiplies its amplitude: 1 is the Cubism sample's own depth, and 2 is the maximum

It writes more than ParamBreath — the same driver also sways ParamAngle* and ParamBodyAngleX, adding head movement on top of tracking. VTube Studio breathes only the one parameter a rig names in its .vtube.json, so a model tuned over there may show additional movement in Persona. Turn the depth down, or the switch off

Turning Auto Breath off stops the breathing motion and preserves the depth setting for when you turn it back on

Parameter Bindings

Expand Parameters to edit, binding by binding, how tracking drives the model's parameters — inputs and weights, input and output ranges, response curves. See Parameter Bindings

Model Info

Expand Info to see what actually loaded:

RowMeaning
SourceWhether the model is bundled or one you opened
FileThe .model3.json that was loaded. The folder icon beside it reveals the file in your file manager
ConfigConfiguration sidecars found next to the model — .vtube.json, .persona.json
CanvasThe model's canvas dimensions
moc3The model's moc3 format version, and the highest version the bundled Cubism Core can load
CoreThe Cubism Core version in this build
ParamsNumber of Live2D parameters — these are what face tracking writes to
PartsRig part count
TexturesTexture atlas sizes, with a rough uncompressed VRAM total
MotionsMotion groups and total motion count
Express.Expression count
BlinkParameter ids the automatic eye blink drives
Lip SyncParameter ids of the model's LipSync group — flagged when empty; microphone lip sync then needs a mouth binding
Perfect SyncHow many raw ARKit channels the rig's parameter bindings read, out of 52 — it describes what the rig binds, not what a source sends
ExtrasOptional subsystems that loaded, such as physics, pose and blink
Load TimeWall-clock time the stage spent loading the model

Last updated on September 20, 2026

Tech otakus destroy the world