Select a layer and open Pin to attach it to a model. The available anchors depend on the parent model and the child layer.
Pinning an Object to a Model
The Pin feature attaches multimedia objects to character models so they track avatar motion — such as glasses on a face, props held in hand, or floating nameplates. Once pinned, the object's transform coordinates represent relative offsets from the anchor rather than the global stage origin. Live2D models can be attached to other Live2D models using this same mechanism, functioning as Live2D Items.
Objects can attach only to models sharing the same rendering space: 2D objects attach to Live2D models, while 3D objects attach to VRM models. This constraint stems from coordinate systems and anchor hierarchies rather than renderer limitations; cross-space attachments lack a common depth buffer and transform matrix.
Anchors can be assigned in two ways: selecting from the Anchor dropdown list, or clicking Pick on Stage and clicking directly on the target surface in the viewport (the button switches to Cancel Pick during selection). Both model types include a Model Root option representing the entire model's coordinate space, and both lists feature a search bar to filter through hundreds of bones or ArtMesh nodes.
Hovering over an anchor in the list or hovering during stage picking highlights the target mesh or bone with alternating green and white contours. Stream Mode hides these debug highlights to prevent them from appearing in broadcast feeds.
2D Pins
When picking on stage, the selected anchor corresponds to a specific mesh triangle. Persona records the target ArtMesh ID and exact barycentric coordinates, ensuring attached items deform naturally with mesh movement rather than floating rigidly above it (matching VTube Studio item behavior). The dropdown lists every ArtMesh in the model for precise naming; for quick placement on a visible surface, clicking directly on stage is faster.
| Control | Description |
|---|---|
| Follow Rotation | Rotates the object along with the anchor surface normal. When disabled, the object maintains its own upright orientation |
| Multiplier | Amplifies how much head rotation affects object rotation, ranging from −2 to 2 |
| Parallax X | Additional horizontal pixel shift at full head rotation, ranging from −300 to 300 |
| Parallax Y | Additional vertical pixel shift at full head tilt, ranging from −300 to 300 |
| Smoothing | Damping applied to rotational and parallax offsets |
Multiplier reads the model's ParamAngleZ parameter (head tilt), while Parallax X and Y read ParamAngleX and ParamAngleY (head turn and nod). Pixel values are calibrated to 1× model scale and scale proportionally with the model. Positive values move the object in the direction of head movement, creating depth in front of the mesh; negative values move counter to head rotation, placing the object visually behind. Subtle positive parallax gives glasses natural frame thickness during turns; negative parallax keeps nameplates stably behind the head.
2D images, videos, and webpages pinned to a Live2D model can also interleave between the model's internal layers (requiring the object-pin-depth capability). Once pinned, a Depth slider appears beneath the section (operating identically to Live2D Items below), allowing the item to be placed between any two ArtMesh layers. If multiple items are pinned at the identical depth, they maintain their relative stacking order from the global Layers list. Pinned media rows in the layer list display a pin icon for identification.
Live2D Items
A Live2D model can attach to another Live2D model as an item — matching the Live2D Item feature in VTube Studio. Selecting the model displays a Pin section beneath Position, identical to 2D Pins. When attached as an item, the model retains all core capabilities, including independent face tracking, idle breathing, expressions, and layer effects. The Model dropdown lists all other Live2D models in the scene. Any model already attached to the current model (directly or indirectly) appears disabled with an Already attached here label to prevent circular dependencies.
Unlike standard objects, Live2D items render directly inside the host model's render pass. The Depth slider spans the host model's layer drawing order — ranging from Behind Model to In Front, with snap points between every ArtMesh. The status label below reports how many host layers obscure the item and which ArtMesh it sits immediately above. While dragging the slider, the host model temporarily tints its layers on the stage canvas: layers obscuring the item tint orange, while layers obscured by the item tint blue. This tint lingers for roughly one second after adjustment before fading out. Because tinting renders directly on the model surface, it remains visible in capture feeds (Stream Mode does not hide this preview).
The pin records the ArtMesh's unique ID rather than a static layer index: because the Cubism engine dynamically reorders parts during motion playback, the item follows real-time render order on every frame. If an ID cannot be found (for example, after swapping host models), the item safely defaults to the front-most layer and displays a notification in the Depth section.
Enabling Wrap Around Model splits the item into two depth segments and adds a second control handle to the Depth slider: the lower handle controls back-segment depth, while the upper handle controls front-segment depth. Host layers sandwiched between them obscure the back segment while being obscured by the front — recreating effects like a scarf draping across the chest while wrapping behind the neck and hair. The Cut At dropdown specifies which of the item's own layers forms the split boundary; parts beneath it belong to the back segment. Clicking Pick allows setting the cut point via a stage click (the button displays Cancel while awaiting input). When enabled, the cut automatically snaps to an ArtMesh whose ID contains split (or centers by default), with the back segment initialized one-quarter of the host model's total layer count behind the front segment.
When depth is managed by the pin system, the global layer list no longer dictates relative depth: the item renders within the host model's slot in the layer hierarchy, ensuring layers placed above the host model obscure the item regardless of where the item's row sits in the list. The layer list dictates only relative ordering among multiple items pinned to the identical ArtMesh. Pinned item rows display a pin icon for clear identification.
If the host model renders as a flattened texture — such as when Layer Effects are active, during crossfade transitions, or with moc3 v6 models using offscreen buffers — internal layer interleaving is unavailable, and the item renders entirely in front of the model.
3D Pins
3D anchors attach to VRM humanoid bones (such as head, leftHand, or hips) or the Model Root. During stage picking, Persona casts a ray at the avatar, reads the skin weights of the intersected mesh triangle, and resolves to the bone with the highest weight — clicking the face resolves to head, and clicking a hand resolves to leftHand.
Enabling Elasticity applies virtual spring-damper physics, allowing attached objects to trail and oscillate naturally rather than tracking rigidly:
| Control | Description |
|---|---|
| Stiffness | Spring tension pulling the object toward the anchor |
| Damping | Rate of oscillation energy dissipation and settling speed |
| Max Speed | Upper velocity cap for object movement toward the anchor |
If the parent model is removed from the scene or swapped to another model format, attachment pins are safely cleared, leaving the object stationary at its current stage coordinates rather than deleting it.
Last updated on October 15, 2026