Skip to content

About

Video-to-character animation with body and finger retargeting, custom cameras, ground correction, and local GLB/BVH/video exports.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

V2Fun

V2Fun Animation

Video-to-character animation with expressive cameras and local exports

Capture motion, retarget a rigged character, refine the stage, and record with source audio.

English | 简体中文

License: MIT Version: 1.1.0 Runtime: Three.js Tooling: Python 3.9+ stdlib Sponsor: V2Fun Discord


Live demos

Demo Description View
Character animation Existing video-derived character animation and local viewer View

What it does

Animate a rigged GLB or FBX from a video or reuse an existing BVH. The standalone package includes the V2Fun API runtime, a Three.js viewer, body mapping and optional 30-joint finger mapping.

  • Stage centering, fixed pitch/roll correction, and ground repair enabled by default.
  • Cinematic, full-body, side and free views; describe a custom camera sequence in natural language.
  • Local video recording with source audio; animated GLB and original/repaired BVH downloads.
  • Compact English playback, adjustment and export controls.

PMX uses the native MMD route: submit the PMX archive plus BVH without conversion. Its paid executor and MMD viewer require adaptation; it is not a one-command scaffold path. The paid quote/retarget executor remains GLB-specific. Continuous contact can flatten jumps and is not foot locking/IK. Fixed tilt preserves dance bends. Custom camera text is interpreted by the agent, not an in-browser AI service. Capture gaps are disclosed rather than synthesized.

How it works

Video + rigged model → capture or reuse BVH → retarget → align → author cameras → preview and export

  1. Supply a video and optionally a rigged model. Without one, the access-restricted fallback model is used.
  2. Choose body-only or body + fingers and a camera preset or free-text brief.
  3. Review named API services, current pricing, estimated credits and balance before paid submissions.
  4. Use compatible local retargeting or the authorized API route, retaining task IDs and budgets.
  5. Inspect body/finger poses, centering, tilt, contacts and camera framing.
  6. Record or export locally. Camera-only changes and model tests with existing BVH need no new capture.

See camera preferences, alignment and exports.

Quick start

CN/global routing is included. Before remote work, run python3 scripts/v2fun.py region --project /path/to/project; use V2FUN_REGION=cn or V2FUN_REGION=global to select explicitly. Automatic detection uses read-only balance requests. Quotes and saved tasks stay bound to the selected server. See server routing.

Requires Codex with local skills, Python 3.9+, Node.js and a WebGL browser. Three.js 0.180.0 is an external dependency for scaffolded viewers. No separate setup skill or Blender is required. This repository is private: installation requires an authorized GitHub account.

Install directly into ~/.codex/skills/v2fun-animation/, or the skills/v2fun-animation/ directory under a custom CODEX_HOME. SKILL.md must be directly inside that directory.

gh repo clone V2Fun-Research/v2fun-animation ~/.codex/skills/v2fun-animation
cd ~/.codex/skills/v2fun-animation
python3 scripts/v2fun.py doctor --project /tmp/v2fun-animation-project
python3 scripts/scaffold.py --help

Attach your inputs and use this example prompt:

Use $v2fun-animation with my attached video and rigged model.
Capture body and fingers. Start wide, slowly push in, orbit left at 8 seconds,
and pull back at the end. Keep the feet visible. Show API services,
estimated credits and remaining balance before paid work.

The doctor command is offline and creates no API task. Configure V2FUN_API_KEY in the execution environment or an explicit project JSON configuration for authorized remote work; never commit credentials. Capture and API retargeting consume V2Fun credits; local preview, cameras and exports do not. The skill obtains a live quote instead of promising fixed prices.

Missing mappings require a reviewed adapter. An uncertain submission must be reconciled rather than automatically retried. See runtime.

Updating from 1.0.0: remove the old vendor/v2fun-setup directory after installing the new files. Preserve external user projects, task IDs and budget records. The old scripts/setup.py command remains a compatibility alias; V2FUN_SETUP_DIR is no longer used. See runtime migration.

What you get

Output Contents
English viewer Playback, cameras, centering, tilt, ground repair and recording
Animated GLB Mesh, materials, skin, skeleton and baked selected corrections
Original BVH Unmodified source skeleton and capture units
Repaired BVH Target skeleton in metres, alignment and continuous contact
Recorded video Rendered character with source audio; MP4 or supported WebM
Project source Local settings, camera brief and authored shot sequence

Validate exports by reloading them. BVH contains no mesh or audio; GLB does not include source audio. Browser recording support varies.

Roadmap

v1.1.0

  • Flat scripts/references layout with integrated API setup, budgets and task recovery.
  • GLB/FBX local body/finger retargeting and model fallback.
  • Default-on grounding, stage centering, fixed tilt and side view.
  • Camera presets and agent-authored custom camera briefs.
  • Audio/video recording and GLB/BVH exports.
  • Bilingual installation and capability documentation.

Star history

The repository is private; its chart may be unavailable to anonymous visitors.

Star History Chart

Sponsors

V2Fun
V2Fun
V2Fun supports this workflow by connecting video motion capture with a practical character animation preview. The skill brings the resulting motion into a local Three.js stage where creators can inspect poses, adjust placement and tilt, choose camera movement, and record with the source soundtrack. Its reusable infrastructure also keeps API credentials, task recovery and credit budgets separate from the viewer. Local retargeting and exports remain available without an additional paid capture when suitable motion already exists. This package documents the implemented animation workflow and its limitations; platform capabilities outside that workflow are not implied to be included.

Maintained by V2Fun Team. Feedback: V2Fun Discord。

Acknowledgments

Thanks to Three.js and its contributors for the rendering, loaders and exporters used by generated viewers. The optional MMD physics route uses Ammo.js. No endorsement is implied.

License

MIT License
Copyright © 2026 V2Fun Team.

MIT covers first-party code and documentation. The fallback model and brand assets are excluded; the fallback’s broader redistribution rights remain unverified. Keep this repository private until those rights are resolved or the asset is replaced. Service access and uploaded/generated asset rights are separate. See third-party scope.

About

Video-to-character animation with body and finger retargeting, custom cameras, ground correction, and local GLB/BVH/video exports.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages