One-line summary
Open a research track for richer motion and mouth presentation: Hugging Face / local text-to-motion → Blender → .vrma, and optional 2D toon-style viseme overlays on VRM (as demonstrated in the wild with CC0 assets) — so AVATAR stays a player while authors can make “anything” offline.
Problem / motivation
Today AVATAR plays bundled + custom .vrma, fires one-shots from Motion Deck, and drives the mouth with amplitude lip sync. That is enough for a companion, but it leaves three gaps that keep showing up in community discussion:
- Authoring custom motion is still opaque — Settings → Directories → Animations can load any
.vrma, yet contributors ask “where do the clips come from?” Docs already list Photo Booth / BOOTH / Blender / Kimodo-style research, but we have not investigated and documented a concrete, repeatable path that lands a clip in the Motion Deck.
- Text-to-motion is moving fast on Hugging Face, but outputs are usually SMPL / robot / generic skeletons — not VRM humanoid
.vrma. Without a retarget → export story, those models stay demos, not AVATAR assets.
- 3D mouth blendshapes are not the only look — combining 2D sprites with VRM (toon mouth cards / sprite-sheet visemes) is underrated for “stand out” companions. Amplitude cycling on mesh visemes cannot express that style.
Prompt for this issue came from Jin (@dankvr on X · @madjin on GitHub), who pointed at Hugging Face text-to-motion, Blender VRMA pipelines, and the value of 2D+VRM hybrids — plus a concrete demo of 2D toon visemes on a VRM using CC0 Tubby Cats art (tweet, thanks also @VIANVOLAEUS for the tutorial thread).
This issue is discussion + investigation + small tests, not a commitment to ship a generator inside the Electron app.
Proposed solution
Treat this as a research spike with written findings and, if useful, tiny prototypes or docs PRs. Three workstreams that can proceed in parallel:
A. Blender → .vrma (highest leverage for “do anything”)
Jin’s point: if you can generate or hand-key animation in Blender and export VRMA, the rest of AVATAR (custom folder, Motion Deck, stage animation.play / mode: once) already consumes it.
Investigate and write down:
- saturday06/VRM-Addon-for-Blender — VRM Animation import/export (humanoid bone rotations, hips translation, expression preview values; VRM 1.0 armature).
- Minimal happy path: import a VRM humanoid → animate (or paste mocap) → export
.vrma → drop into Settings → Directories → Animations → fire from Motion Deck.
- Failure modes worth testing: missing T-pose, expression tracks ignored by our player, look-at unsupported on export, clip that loops when we wanted one-shot (Motion Deck already forces
once playback).
- Doc outcome: expand Bring your own
.vrma with a short “Blender addon checklist” once verified — still player not authoring tool; we document, we do not bundle Blender.
B. Hugging Face / local text-to-motion → retarget → .vrma
Keep an eye on (and spike one end-to-end when time allows):
| Family |
Why it matters |
Gap for AVATAR |
| NVIDIA Kimodo (docs, GitHub) |
Text (+ constraints) → 3D skeletal motion; commercial-ready humanoid models |
Output is not VRMA; needs retarget to VRM humanoid then Blender/UniVRM export |
| Tencent HY-Motion 1.0 |
Large DiT / flow-matching text→motion on SMPL-H |
Same retarget gap; VRAM-heavy |
| Others as they appear |
New HF spaces / papers |
Track license + skeleton format |
Research questions (answer in comments / a short notes doc, not in product code first):
- What is the smallest offline pipeline that ends in a playable
.vrma on a stock AVATAR build?
- Which licenses allow streaming / redistribution of generated clips vs personal use only?
- Should AVATAR ever call HF APIs? (Default no — local-first; generation stays outside the app, same stance as Kimodo/ARDY in current docs.)
- How do generated clips interact with Motion Deck (one-shot) vs Animations selection (loop)?
C. 2D toon visemes / sprites on VRM (presentation layer)
Investigate Jin’s demo direction and adjacent practice:
Spike ideas (pick one small experiment, document results):
- Authoring-only: can a VRM be prepared (Blender / Unity) with a mouth quad + sprite atlas so existing three-vrm expression weights still “work,” or does that require a different driver?
- Runtime overlay (Electron): billboard / plane in the Three.js scene, parented near the jaw bone, swap UVs or textures from the same amplitude (or a future phoneme) signal — body stays VRM, mouth is 2D.
- Hybrid: keep 3D body VRMA; only replace mouth presentation for “toon companion” skins.
Success for this spike is a decision memo: shipable in-app, docs-only recipe, or park until #9 / #43 land.
Alternatives considered
Primary surface
Animations
Constraints you accept
Mock / sketch / reference (optional)
Constraints you accept expanded for this one
Community note from Jin / dankvr:
Keep an eye on Hugging Face for text to motion, and Blender pipelines. I believe there’s a Blender VRMA plugin so if you can generate animations there you can have and do anything.
Also in terms of animation I feel like combining 2D sprites with VRM is underrated and will help to make stuff stand out when used correctly.
Demo to study: x.com/dankvr/status/1849206006724829430 — 2D toon visemes on VRM + CC0 Tubby Cats; tutorial shout-out to @Vianvolaeus.
Tooling to verify:
Investigation checklist (for whoever picks this up)
Out of scope (for this issue)
One-line summary
Open a research track for richer motion and mouth presentation: Hugging Face / local text-to-motion → Blender →
.vrma, and optional 2D toon-style viseme overlays on VRM (as demonstrated in the wild with CC0 assets) — so AVATAR stays a player while authors can make “anything” offline.Problem / motivation
Today AVATAR plays bundled + custom
.vrma, fires one-shots from Motion Deck, and drives the mouth with amplitude lip sync. That is enough for a companion, but it leaves three gaps that keep showing up in community discussion:.vrma, yet contributors ask “where do the clips come from?” Docs already list Photo Booth / BOOTH / Blender / Kimodo-style research, but we have not investigated and documented a concrete, repeatable path that lands a clip in the Motion Deck..vrma. Without a retarget → export story, those models stay demos, not AVATAR assets.Prompt for this issue came from Jin (@dankvr on X · @madjin on GitHub), who pointed at Hugging Face text-to-motion, Blender VRMA pipelines, and the value of 2D+VRM hybrids — plus a concrete demo of 2D toon visemes on a VRM using CC0 Tubby Cats art (tweet, thanks also @VIANVOLAEUS for the tutorial thread).
This issue is discussion + investigation + small tests, not a commitment to ship a generator inside the Electron app.
Proposed solution
Treat this as a research spike with written findings and, if useful, tiny prototypes or docs PRs. Three workstreams that can proceed in parallel:
A. Blender →
.vrma(highest leverage for “do anything”)Jin’s point: if you can generate or hand-key animation in Blender and export VRMA, the rest of AVATAR (custom folder, Motion Deck, stage
animation.play/mode: once) already consumes it.Investigate and write down:
.vrma→ drop into Settings → Directories → Animations → fire from Motion Deck.onceplayback)..vrmawith a short “Blender addon checklist” once verified — still player not authoring tool; we document, we do not bundle Blender.B. Hugging Face / local text-to-motion → retarget →
.vrmaKeep an eye on (and spike one end-to-end when time allows):
Research questions (answer in comments / a short notes doc, not in product code first):
.vrmaon a stock AVATAR build?C. 2D toon visemes / sprites on VRM (presentation layer)
Investigate Jin’s demo direction and adjacent practice:
aa/ih/ …) in the lip-sync path ([Feature]: Improve lip-sync beyond amplitude cycling (viseme quality) #9). No sprite overlay path.Spike ideas (pick one small experiment, document results):
Success for this spike is a decision memo: shipable in-app, docs-only recipe, or park until #9 / #43 land.
Alternatives considered
Primary surface
Animations
Constraints you accept
Mock / sketch / reference (optional)
Constraints you accept expanded for this one
Community note from Jin / dankvr:
Demo to study: x.com/dankvr/status/1849206006724829430 — 2D toon visemes on VRM + CC0 Tubby Cats; tutorial shout-out to @Vianvolaeus.
Tooling to verify:
.vrma(already mentions Blender + Kimodo/ARDY)Investigation checklist (for whoever picks this up)
.vrma→ custom folder → Motion Deck one-shot on desktopOut of scope (for this issue)