I wanted to import VRoid Studio avatars into Blender and animate them, but I didn’t have a source of motion capture data. However, the CMU mocap data set is freely available!
I needed two other things: the BVH Retargeter plugin, and a custom JSON file to do the mapping. Here’s that JSON file, as a work in progress.
{
"name" : "VRoid",
"url" : "",
"fingerprint" : ["Root", "J_Bip_C_Hips"],
"bones" : {
"J_Bip_C_Hips" : "hips",
"J_Bip_C_Spine" : "spine",
"J_Bip_C_Chest" : "chest",
"J_Bip_C_Neck" : "neck",
"J_Bip_C_Head" : "head",
"J_Bip_L_Shoulder" : "shoulder.L",
"J_Bip_L_UpperArm" : "upper_arm.L",
"J_Bip_L_LowerArm" : "forearm.L",
"J_Bip_L_Hand" : "hand.L",
"J_Bip_R_Shoulder" : "shoulder.R",
"J_Bip_R_UpperArm" : "upper_arm.R",
"J_Bip_R_LowerArm" : "forearm.R",
"J_Bip_R_Hand" : "hand.R",
"J_Bip_L_UpperLeg" : "thigh.L",
"J_Bip_L_LowerLeg" : "shin.L",
"J_Bip_L_Foot" : "foot.L",
"J_Bip_L_ToeBase" : "toe.L",
"J_Bip_R_UpperLeg" : "thigh.R",
"J_Bip_R_LowerLeg" : "shin.R",
"J_Bip_R_Foot" : "foot.R",
"J_Bip_R_ToeBase" : "toe.R",
"J_Bip_L_Thumb1" : "f_thumb.01.L",
"J_Bip_L_Thumb2" : "f_thumb.02.L",
"J_Bip_L_Thumb3" : "f_thumb.03.L",
"J_Bip_L_Index1" : "f_index.01.L",
"J_Bip_L_Index2" : "f_index.02.L",
"J_Bip_L_Index3" : "f_index.03.L",
"J_Bip_L_Middle1" : "f_middle.01.L",
"J_Bip_L_Middle2" : "f_middle.02.L",
"J_Bip_L_Middle3" : "f_middle.03.L",
"J_Bip_L_Ring1" : "f_ring.01.L",
"J_Bip_L_Ring2" : "f_ring.02.L",
"J_Bip_L_Ring3" : "f_ring.03.L",
"J_Bip_L_Little1" : "f_pinky.01.L",
"J_Bip_L_Little2" : "f_pinky.02.L",
"J_Bip_L_Little3" : "f_pinky.03.L",
"J_Bip_R_Thumb1" : "f_thumb.01.R",
"J_Bip_R_Thumb2" : "f_thumb.02.R",
"J_Bip_R_Thumb3" : "f_thumb.03.R",
"J_Bip_R_Index1" : "f_index.01.R",
"J_Bip_R_Index2" : "f_index.02.R",
"J_Bip_R_Index3" : "f_index.03.R",
"J_Bip_R_Middle1" : "f_middle.01.R",
"J_Bip_R_Middle2" : "f_middle.02.R",
"J_Bip_R_Middle3" : "f_middle.03.R",
"J_Bip_R_Ring1" : "f_ring.01.R",
"J_Bip_R_Ring2" : "f_ring.02.R",
"J_Bip_R_Ring3" : "f_ring.03.R",
"J_Bip_R_Little1" : "f_pinky.01.R",
"J_Bip_R_Little2" : "f_pinky.02.R",
"J_Bip_R_Little3" : "f_pinky.03.R"
},
"parents" : {
}
}
This was the minimum needed to make automatic retargeting work, but here’s the result after 10 minutes of doing the mapping:
