Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



28 Commits

Repository files navigation

💠 vmc2bvh

Generate BVH (Biovision Hierarchy) motions from VirtualMotionCapture OSC motion data


You need VirtualMotionCapture with OSC motion sender enabled. More specifically you'll need paid version of VirtualMotionCapture.


  • Run Vmc2Bvh.exe (on Windows). It listens VMC protocol on port 39539 and then waits for calibration.
  • Launch VirtualMotionCapture. Check Enable OSC motion sender from Settings. Note that you'll need paid version of VirtualMotionCapture that supports OSC motion sender.
  • After you calibrate your VRM model in VirtualMotionCapture, Vmc2Bvh.exe starts recording motions and generate <output file name>_HIERARCHY.txt and <output file name>_MOTION.txt in BVH format.
  • In order to stop recording, type Ctrl-C from your keyboard on Vmc2Bvh.exe console. This will generate resulting BVH file.
  • You might want to backup generated BVH file because it will be overwritten on next launch (if you use same output file name, of course).


  • --port <port number> ... port number to listen VMC data. 39539 by default.
  • --file <output file name> ... Output BVH file name to generate. output.bvh by default.
  • --bone <root bone name> ... Name of root bone. By default it searches Root or Armature.
  • --in-place ... Disable root bone translation. This may be useful to record motions for games.
  • --fps ... Frame per second. 60 by default.


You need Cmake and Visual Studio with C++ environment installed. You don't need Unity nor UniVRM to build vmc2bvh. There is a CMakeLists.txt file which has been tested with Cmake on Windows. For instance in order to generate a Visual Studio 10 project, run cmake like this:

> mkdir build; cd build
> cmake -G "Visual Studio 10" ..


A tool to generate BVH (Biovision Hierarchy) motions from VirtualMotionCapture OSC motion data







No packages published