Saturday, May 24, 2025

VRoid to Blender with Mixamo Animations

VRoid Studio, Blender, and Mixamo are great products, but they are excessively frustrating to use together. After weeks of cursing my computer, I have finally created a workflow that works.

Tools

  • Blender version 4.4
  • Mixamo as of May 21, 2025
  • VRoid Studio version 2.1.5

Export VRoid Character

Creating a character in VRoid Studio is out of scope of this post. Nevertheless, here are a couple of creation tips related to animation:

  • Set the model's height to make animations shared between characters more consistent.
  • Slimmer clothes are easier to animate without clipping.

To export a finished character, click "Export as VRM".  I recommend these export settings:

  • Reduce materials to 2 to clean up texture images.
  • Use the VRM0.0 format.

Notes about the Output

The ".vrm" file format is exactly the same as the ".glb" file format. This is important for the next step. The only difference is in the metadata of the file which we don't care about for this process.

The armature of the exported model is very messy in my opinion. The bones are named weirdly, they aren't aligned, and there are usually many extras.

Import Character into Blender

1. Set up the Scene

First create a new Blender file and remove the default cube in the scene.

2. Import the VRoid Model

Most tutorials list these steps:

  1. Rename the ".vrm" file to a ".glb" file.
  2. In Blender, go to import a "glTF 2.0 (.glb/.gltf)" file.
  3. Select the ".glb" file.

I prefer to skip the renaming step and just enter the full file name in the import menu.

After importing, the screen looks like this:

Imported VRM into Blender

3. Remove Sphere

In the outliner, there is a "glTF_not_exported" collection with an `Icosphere`. Its purpose is to customize the bone shapes. Delete it to use Blender's bone shapes instead.

4. Clean up Armature

Install and enable the "VRoid Bones" Blender add-on. This will fix most of the armature's problems. In "Edit" mode with the model selected: hit "N", select the "Misc" tab, then click "Fix Armature" without changing any of the default settings.

The leaf bones (such as fingers and toes) are still oriented incorrectly. Without touching anything, go to the "Scripting" tab and run this:

import bpy

bones = bpy.context.active_object.data.edit_bones
for bone in bones:
    if bone.children:
        continue
    bone.align_orientation(bone.parent)

The finger, toe, and other leaf bones should no longer be pointed upwards but should be pointed outwards. It's not perfect, but it's close. Additional manual tweaks may be desired.

  

The extra bones for skirt and hair can be removed too, but I personally don't worry about those. Figuring out what is useful and what isn't is tedious after a few models. I recommend just leaving those.

5. Fix Orientation

The character is facing in the positive y direction, but Mixamo uses a different orientation. Rotate the character 180 degrees about the z axis. Then apply all transforms.

Not doing this step will cause issues when blending animations.

Get Mixamo Animations

1. Export from Blender to ".fbx"

Make sure that the "FBX format" Blender add-on is enabled. It should be enabled by default.

Export the model to an ".fbx" file that includes only the "Armature" and "Mesh". This can be set in the export modal. Leave the other settings at their default.

2. Import ".fbx" to Mixamo

In Mixamo, click "UPLOAD CHARACTER" and select your ".fbx" file. It should work after some delay. Sometimes a couple of attempts are needed.

After finalizing the import, the character should be facing forwards after a fresh page load.

3. Find Animations 

Find the desired Mixamo animations.

Adjust the "Character Arm-Space" to reduce animation clipping—60 works for shorts and pants, and 70 works for skirts.

Make a note of the settings that work.

4. Select a Bot Character

The VRoid armature has extra bones that confuse Mixamo and our import plugin, so replace the uploaded character with a bot character such as "X Bot".

5. Download Animations

Find and download all of the desired animations. Change the settings as previously noted. The options in the download modal can be tweaked for better performance, or they can be left as-is.

Add Animations in Blender

There is a Mixamo import plugin that promises to do the import automatically, but I have not been able to get it to work flawlessly. Therefore, an alternative method of retargeting animations will be used.

1. Preparation

Install and enable the "Rokoko Studio Live" Blender add-on. A Rokoko account is required for the plugin.

2. Import Animations

Import each of "*.fbx" files downloaded from Mixamo.

3. Retarget Animations

For each Mixamo armature:

  1. Open the "Rokoko Studio Live" side menu (by pressing "N").
  2. Set the source to the Mixamo armature, and set the target to the original armature.
  3. Click "Build Bone List".
  4. Click "Retarget Animation".

If Blender crashes repeatedly on this step, install the beta version of the Rokoko plugin. It can be conveniently installed from the add-on options.

Clean Up

1. Delete Extra Objects

Delete all of the Mixamo armatures. They will all be named like "Armature.001", "Armature.002", etc. 

Open the "Rokoko Studio Live" side menu, and clear out the "Source" input so that Blender does not consider it used and can clean it up.s

2. Play and Rename Objects

All of the actions with the "Retarget" suffix will work with the original character's armature. Now is the time to clean up the actions collection.

For each of the actions with the "Retarget" suffix, play and rename as desired.

For each of the actions without the "Retarget" suffix, deactivate the "Fake User" shield-shaped button.

3. Delete unused data.

Save the Blender file then close it. Blender will remove all unused data after closing.

4. Delete unused files.

Optionally delete the ".fbx", ".glb", and ".vrm" files. Those files have served their purposes.

Debugging

Symptom: The fingers are broken when animating or posing.
Cause: The leaf bones are not aligned.
Solution: Run my script.

Symptom: The animations do a twirl when blending.
Cause: The armature is not oriented the same direction as the animation.
Solution: Rotate the character before applying the animations.

Symptom: The animations wobble while playing.
Cause: Mixamo gets confused with some armatures.
Solution: Use a Mixamo armature in Mixamo, then retarget it in Blender. 


 








 

 

Tuesday, August 30, 2022

South Korea Trip, August 31

Good morning Gangnam!  And, sadly, goodbye.

Today's weather will be a comfortable 27°C (81°F), and there will be less rain than yesterday but still some.

Today's Agenda

Soon I will be leaving my apartment to go to the airport.  I am very early for my flight, but there is a reason for getting out of here early.

What am I going to do in Incheon today?

  • See and chat with EXID.
  • Explore Incheon with 다인 (Da-In).
  • Get on my plane to USA.

It is going to be a good day until I have to say goodbye.

Today's Experiences.

On every day this month, I have written my agenda in the morning then updated my blog post with what actually happened during the day.

Today will be different.  Today, I'm not going to share the details of the day on this blog.  I suspect that it will be too personal and special, and it will be inconvenient since I will be on a flight for a super long time, both good reasons to skip my final update.

Just assume that everything went according to plan.

Monday, August 29, 2022

South Korea Trip, August 30

 Good morning Gangnam!

Today is my last full day in South Korea.  The temperature today will be a cool 20°C (86°F), but it will be raining all day.

Today's Agenda

There are a few things that I could do today, but I don't know how much I can do in the rain.  I think that I will mostly stay indoors.

  • Buy stationary for letters to EXID.
  • Clean up and pack.
The first item may raise some questions.  How am I going to get letters to EXID?  That is part of one of tomorrow's adventures, so find out then!

Today's Experiences

I am very sad to leave this city.  The first part of today was just like any other day, but the last few hours were about preparing to leave.  It is very sad.

Bun Patty Bun

I really like this restaurant.  The meat is mediocre, but the buns are really great, and the toppings on some burgers are unique and very good.  Actually, all of them are very good.

I also really love sitting here and watching the street outside for a while.  It is a very good view.

I stopped by Bun Patty Bun on my way to an art supply store that my friend 다인 (Da-In) found.

Letters to EXID

I stopped by an art store after lunch to pick up some stationery and envelopes.

I am meeting EXID tomorrow, and my friends suggested that I write them letters to read on their plane ride to Japan.  I did just that.

I am very thankful to 다인 for helping me to translate my messages to Korean!  She saved me a lot of time and effort.  I, of course, still had to write them for a personal touch.  :D




Sunday, August 28, 2022

South Korea Trip, August 29

Good morning Gangnam!  Today will be a comfortable 23°C (74°F) temperature, but there will be rain starting at around 3pm.

Today's Agenda

I have no goals for today.  Maybe I will go on an adventure, maybe I won't.  :)

At the very least, I think that I will have some pictures of food to share later tonight.

Today's Experiences

Today, I worked on LEGGO News for a few hours.  I may be on vacation, but the theme of my trip is EXID, and the fansite is about EXID, so... my priorities should be set.  However, I have been putting off working on LEGGO News for a few days, so I had a lot to catch up on.

I did, of course, have food today!

Spontini Pizza

Most of the food in Korea is Korean.  Even most of the "western" food doesn't really remind me of home.  It took me a very long time to find a restaurant that had a menu item that would satisfy my cravings for real American food.  That restaurant is Spontini.

Or you can go to the Michelin steakhouse in Sinsadong, which is also "western", but that is also insanely expensive.  Spontini is affordable and nearby where I am staying.


Okay, it is still influenced by Korean culture.  You eat the pizza with a fork and knife.  The taste, however, is definitely something to satisfy a craving for authentic American food!

Since I'm talking about finding American food in Korea, I think that it is on topic to note some differences.  American food is definitely unhealthy with lots of fat and oil, and that is probably why we are so fat on average.  Korean food is healthier -- of course! -- and centers around mixing many things together, mostly vegetables.  I have not seen many fruits in South Korea, which stands out as odd to me.

Coffee and Dessert

I don't remember the name of the restaurant that I went to tonight, but it would be very easy to find another one just like this one.  It is insane how many coffee and dessert restaurants exist here!  I love it so much!



I don't know what exactly I ate, but it was much lighter than I expected and very great!




Saturday, August 27, 2022

South Korea Trip, August 28

Good day Gangnam!  Yes, after sleeping late then finishing the blog post about yesterday, it is now past morning!

The sky is mostly clear, but the air is not too hot.  The weather will be mostly sunny all day, and the temperature high today is 29°C (84°F).

Today's Agenda

I don't have much on my goals list that is left undone.  My friend 다인 (Da-In) did suggest a couple of places again last night, so I may visit those if I have time.  I think mostly I want to spend today working on the LEGGO News fansite.

My goals for today are:

  • Work on LEGGO News.
  • Eat something delicious.
If I have time, I'll add something else to my agenda.  I don't like to overload my daily goals, because then it can be a disappointment if I fail to meet them all.

Today's Experiences

I have not worked on LEGGO News today yet or done any chores.  I did go out to eat lunch then dessert, and I make a run to the local 7-11.  However, for the most part, I didn't do anything except smile out my window!

Am I too happy after yesterday?  Maybe I should stop reminiscing and make new memories tomorrow, or maybe I should embrace my desire to enjoy the moment.

I do seriously need to work on LEGGO News though.  I got EXID's logo tattooed on my wrist, which is permanent, so I definitely want to maintain that fan-idol relationship.  Haha!  I'll support them later I guess.

Bibimbap

I finally had bibimbap today!  It has been on my list of meals to try for over two years.

I could have had bibimbap earlier on my trip, since it is a very common meal here, but I keep missing my opportunities.  It is a lunch food, and I keep skipping lunch because time slips by unnoticed when having fun.  The best bibimbap restaurants nearby have always been closed when I searched for it.

What is bibimbap?  It literally translates to "mixed rice" (I think), but the idea is to take leftover Korean foods from the past week then mix them together and eat them with rice.  Of course, a restaurant isn't going to serve leftovers, but the idea can be simulated.

The foods are separated as in the picture above, but they are mixed before being eaten.

I mixed everything together first, except for the liquid in the middle bowl because that doesn't go in the bibimbap.  What is the liquid in the middle bowl?  I don't remember, but it comes with it, but you don't mix it in like the other ingredients.

I think that bibimbap is normally eaten with a spoon, but I found that it is very easy to eat it with chopsticks, especially with the seaweed paper to hold the ingredients like a wrap.  I picked up the ingredients with my chopsticks and put them on the seaweed.


This way of wrapping things reminds me of kbbq with 은재.  Then, we wrapped everything in lettuce or leaves.  I think that I've noticed a pattern with Korean food.  A lot of Korean food is taking a mix of ingredients, wrapping them in a vegetable, then eating that.

Movember

There is a cute cafe behind my apartment with a dog out front who just sits there watching the passersby.

I never have gone into the cafe, because I don't know what exactly is in there.

Well, today, on my way to eat bibimbap, I walked past this cafe and saw a picture of their menu.  It is dessert and coffee, which is one of my favorite combinations.  I decided to eat there today near dinner.



I really like the environment, but the dessert and coffee is what I was going for.



Oh, fancy!  Would you believe me if I told you that this was only 15,000원 ($11 USD)?  It's so pretty, right?

How was the taste?  The coffee was really good, and I liked that.  The nuts on the brownie were also good, and I may try that slicing and browning technique for my homemade meals.  The brownie and icecream were just average.

My quest to find my favorite coffee and dessert cafe continues, but the next location may have to wait until my next trip to Korea next Spring.


Friday, August 26, 2022

South Korea Trip, August 27

Good morning Gangnam!  Today's skies are the clearest that I have seen here!  It will be sunny all day, but the temperature will be a comfortable 26°C (78°F) at the max.  If the weather is any indication, today will be a good day.

Today's Agenda

Sadly, I don't plan to go outside and enjoy the great weather for most of today.  I have a few chores to do first.  Maybe I will complete them then have time to go for a walk around town.

Even though today will be dull relative to most of my other days here, tonight will be one of the most special.  I will be meeting with some of my friends to go somewhere special.  I don't know why the place is special or what exactly I will be doing there.  All of that will be revealed to me after I arrive.

My goals for today are:

  • Do laundry and other chores.
  • Meet with friends at surprise place.

Today's experiences

I spent most of today being lazy.  I watched YouTube videos, chatted with friends online, and found other ways to pass the time.  I also did a few chores that were on my list of things to do today.

Finally, 6pm came, and it was time for me to go to meet my friends!

가막새

가막새 (Gamagsae) is a small Korean restaurant with a cozy authentic feel.  It is just under an hour away from me by metro.  I am told that there is some more to this restaurant that I will discover when I arrive.

I meet my two friends 다인 (Da-In) and 수진 (Soojin) in front of the restaurant right at 7pm as planned.  We enter and are guided to a place to sit to eat.

My first impression is that it is extremely cozy and traditional.

The owner is very friendly.  My friends start a conversation with her.  I don't know enough Korean to participate, but I can understand enough to know that the topics are the restaurant, EXID, and fans.  Somehow these are all related?

After the chat, we get up from our table and are taken to the front of the store.

On a post and wall next to the cash register are letters, photos, and other memorabilia.  Among these are, in order of when I noticed them: a signed EXID album, a letter from Solji to the owners, and a photograph of Solji with the owners from over ten years ago.

The photograph of Solji was before she became so famous.  The lady showing us these things must have known Solji for a very long time.

After my friends chatted with the owner -- again, I barely participated since I can only understand a few words -- we go back to our table.

My friends explain that this restaurant is owned by family friends of Solji's.  The lady's son is the best friend of Solji's brother.

Suddenly, the owner brings a Solji poster in and gives it to us.  Maybe we can't eat with Solji tonight, but we can eat with Solji's likeness!

It is absolutely adorable!

We also have our food now.  It's really delicious.  I get a recipe for the first main dish, but sadly some of the ingredients aren't readily available in Mississippi.  I guess this is the only country to eat the authentic meal.


We eat the good food, enjoy sitting next to the Solji poster, and hear stories about Solji.

I really love the story about Solji saving a stray animal.  She gave the pet to a business owner and paid for the pet's food.  I couldn't tell if the business in the story was this restaurant or place, but it doesn't matter.  Solji really does have the biggest heart.

My friends and I had a very special and lovely time.

Photo Booth

After the restaurant, we have plans for more activities.  On the way to them, we stop in a photobooth.


Yes, I'm wearing a bow.  (I know one friend back home will tease me about it -- bring it on, haha!)

Arcade

After the photobooth, we walk farther down the street to an arcade.



We wander around until we find a three player game.  "Deadstorm Pirates: Special Edition".

We totally rock it!  Well, we "rock" the game until we run out of coins to continue.  We are very good for having never played the game before though.

Room Escape

We end the night's adventures at an escape room.

I have no digital photos of this adventure, and I was asked to not share the details of it.

I'll just say that 다인 (Da-In), 수진 (Soojin), and I made a great team!  We beat the escape room with twelve minutes to spare.





Thursday, August 25, 2022

South Korea Trip, August 26

Good morning Gangnam!  I don't care what the weather is today because I'm not doing anything.  I will skip my usual weather report.


Today's Agenda

I have nothing on my agenda.

Why am I not doing anything today?  Really, I've done most of the things that I wanted to do, and now I just want to spend a day normally.  I don't want to go on an adventure today.

I want to know if I still enjoy living in Seoul when I'm bored in Seoul.

Today's Experiences.

There is really nothing to report today.

I did try to eat at VENEZ again, but they were full.  So, I came back home and got a snack at the 7-11 for supper.  Now I'm eating supper in my apartment, then I'm probably going to sleep.