Login
Esc

DynamicUV Preview Avatar

DynamicUV avatar rendering and .bbmodel idle animation setup.

ClothesPlus preview avatars use a DynamicUV-style server-rendered player model instead of constantly uploading preview skins to MineSkin. MineSkin is still used when a real player skin must be generated/applied.

Config file

text
plugins/ClothesPlus/uis/creator/dynamicuv_animations.yml

Default structure:

yaml
dynamicuv-animations:
  enabled: true
  bbmodel-folder: dynamicuv_animations

  creator:
    enabled: true
    default-idle: "idle"
    class-idles: {}

  previewers:
    wardrobe:
      enabled: true
      idle: "idle"
    cstore:
      enabled: true
      idle: ""
    barber:
      enabled: true
      idle: ""
    outfits:
      enabled: true
      idle: ""
    cskins:
      enabled: true
      idle: ""

Animation lookup is case-insensitive. The bundled steve.bbmodel contains an animation named Idle, so both idle and Idle resolve to the bundled idle.

Model folder

Put .bbmodel animation files here:

text
plugins/ClothesPlus/uis/creator/dynamicuv_animations/

ClothesPlus bundles and extracts:

text
steve.bbmodel

This file was adapted from AnimatePlus by keeping a player skeleton, stripping redundant item/POV bones, and renaming bones to ClothesPlus names.

Required bone names

Your .bbmodel must use these bone names:

text
head
chest
waist
hip
left_arm
left_forearm
right_arm
right_forearm
left_leg
left_foreleg
right_leg
right_foreleg

The animation parser reads Blockbench animation names from the .bbmodel. Idle animations should loop and should use subtle rotations/positions only. Do not animate model or texture swaps for preview idles.

Class-specific idles

creator.class-idles maps a creator class to an animation name:

yaml
dynamicuv-animations:
  creator:
    default-idle: "idle"
    class-idles:
      warrior: "warrior_idle"
      mage: "mage_idle"

If the player's class has no mapping, the creator uses default-idle.

Previewer-specific idles

Each previewer context can enable/disable and choose an idle independently:

yaml
dynamicuv-animations:
  previewers:
    wardrobe:
      enabled: true
      idle: "wardrobe_idle"
    cstore:
      enabled: true
      idle: "shop_idle"

Supported previewer keys are wardrobe, cstore, barber, outfits, and cskins.

Avoiding animation stutter

The avatar should not restart the same running animation when only the texture changes. If you see stutter after editing animations:

  • confirm the animation name is stable between texture updates
  • keep the same idle configured for the previewer
  • avoid commands or YAML changes that stop/recreate the preview session

When MineSkin is still used

DynamicUV preview avatars reduce preview uploads. MineSkin is still required for final generated skins, saved custom skins, and actual player texture application where a signed Minecraft skin is needed.