Animating VRoid Studio models in Blender

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:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: