Skip to content

AvatarDoc Shapes

AvatarDoc Shapes on a Sweater: 1 Source mesh, 2 Source shape, 3 On this piece, 4 Add, 5 Add matching shapes, 6 Mesh, 7 Value, 8 Platform.12345678
  1. Source mesh of a follow row.
  2. Source shape of that row.
  3. On this piece, here Same name.
  4. Add, under Follows.
  5. Add matching shapes.
  6. Mesh of a row under While this object is on.
  7. Value of that row.
  8. Platform.

AvatarDoc Shapes sits on the outfit piece itself, so the piece carries its own body fixes wherever you drop it. It does two jobs. It holds blend shapes of the avatar at a value while the piece is on, for example the body's shrink shapes under a jacket. And it makes the piece's own shapes copy the body's, so the piece keeps fitting when you change the body. It adds no parameter and no layer.

  • To change shapes from one toggle of your own, give that toggle a Blendshapes section. See Blend shape rows.
  • To hold a shape all the time, use an override.

To add it, select the piece in the Hierarchy, press Add Component and pick DocMe > AvatarDoc Shapes. For the Follows section, add it on the object that carries the piece's skinned mesh. This inspector has no Simple and Advanced switch: it always shows every field.

The inspector starts with a note: Blend shape rules that travel with this piece. They cost no parameter and no layer: the values go into the animations that already switch the piece.

The settings in the order the inspector shows them.

Shown in: Simple and Advanced · Default: no rows · Choices: one row for each shape

The piece's own mesh copies a shape of another mesh. The section says: This piece's own shapes copy a shape of another mesh, wherever that mesh is animated. With no rows, it reads No rows yet. The rows need a skinned mesh on the same object as the component, and an error says so when there is none.

Every animation of the FX layers that moves the source shape now moves the piece's shape with it, and the piece starts at the weight the source shape has in the scene.

Shown in: Simple and Advanced

Adds an empty row to fill in.

Shown in: Simple and Advanced

Opens the list of meshes. Picking one adds a row for every shape name that both that mesh and the piece's own mesh have, and skips every shape that already has a row. It does nothing when the component is not on a skinned mesh.

Shown in: Simple and Advanced · Default: none · Choices: any skinned mesh of this avatar that has blend shapes

The mesh to read, usually the body. A mesh outside the avatar is an error.

Shown in: Simple and Advanced · Default: Pick a blendshape · Choices: any blend shape of the source mesh

The shape to copy. Picking a shape fills in Source mesh with the mesh it belongs to. A shape that is not on the mesh is skipped with a warning.

Shown in: Simple and Advanced · Default: Same name · Choices: Same name, or any blend shape of the piece's own mesh

The shape this row writes on the piece. Same name uses the source shape's own name. The x at the end of the row's first line removes the row.

Shown in: Simple and Advanced · Default: no rows · Choices: one row for each shape

Any mesh of the avatar holds a shape at a value while the piece is on. The section says: While this object is on, these shapes hold their value; while it is off, they are back where they were.

Shown in: Simple and Advanced

Adds an empty row. A new row starts with Value at 100.

Shown in: Simple and Advanced · Default: none · Choices: any skinned mesh of this avatar that has blend shapes

The mesh to change, usually the body. The piece's own mesh is allowed too.

Shown in: Simple and Advanced · Default: Pick a blendshape · Choices: any blend shape of the mesh

The shape to hold. Picking a shape fills in Mesh with the mesh it belongs to.

Shown in: Simple and Advanced · Default: 100 · Range: 0 to 100

How far the shape is held while the piece is on. While the piece is off, the shape goes back to the weight the mesh has in the scene before the build.

Shown in: Simple and Advanced · Default: Inherit · Choices: Inherit, Both, PC only, Quest only

Which build uses the rules. A piece left out on a platform writes none of its shape values there. Inherit means both here, because no AvatarDoc component encloses this one.

Shown in: Simple and Advanced

At the bottom, the inspector lists what is wrong with the rows of this component, in the same boxes as the AvatarDoc inspector. The list is empty when every row is whole.

The component writes into the animations that already switch the piece. It counts as switching the piece:

  • An animation that turns the piece's own object on or off.
  • An animation that turns a parent on or off, while the piece and every object between the piece and that parent are on in the scene and nothing animates them.

The animation must set the piece's active state to one fixed value. An animation that fades it in and out is left alone, and a warning names it. If the piece is on in the scene and nothing switches it, the value is applied once and a note says so. If it is off in the scene and nothing switches it, the shapes are never applied, and a note says that too.

Which animations are covered: every clip of the avatar's FX controller at the moment the pass runs, which is right after Modular Avatar. That includes AvatarDoc's own toggles, outfit sets, presets and triggers, merged animators, and what Modular Avatar merged. Clips that VRCFury adds later are not seen, and a Gesture or Action clip that switches the piece is left alone. An animation that already writes the shape itself keeps its own values, and a note or a warning says so.

What switches the two pieces decides:

  • One animation turns both on, or nothing switches either and both stay on: the larger value wins while both are on, and a note says so.
  • One exclusive group switches them: only one of them is on at a time, so each holds its own value.
  • Different layers switch them: a warning names the pair, and the later layer decides the shape. While the later piece is on, its value holds. While it is off, the shape goes back to rest, even when the other piece is on. A piece that nothing switches loses to one that is switched. Put both pieces on one toggle, or in one exclusive group.

The order of the layers, from first to last, is: the avatar's own FX layers, AvatarDoc's toggles and exclusive groups in menu order, its condition triggers, its merged animators, what Modular Avatar adds, and last AvatarDoc's blend shape triggers and contact triggers in Fade mode, followed by its pin layers. Layers, Write Defaults and pinned layers gives the same order.

The inspector knows only the avatar's own FX layers and AvatarDoc's own controls and merged animators. The warning at upload also covers pieces that Modular Avatar switches. Pieces that VRCFury switches are not seen at all.

The pass adds curves to existing clips, sets start weights on the uploaded copy, and then removes the component. It adds no parameter, no layer and no menu button. The summary lists every piece that carries the component, with how many rows it has.

Docs for AvatarDoc 0.7.1