Polygonal Mind
  • Home
  • Metaverse Builder
  • CryptoAvatars
  • MegaCube
  • Blog
  • Decentraland
  • Projects
  • Assets

Blog

Fix and reset your Mixamo avatar rig

10/9/2019

0 Comments

 
The Mission
Creating avatars is really fun, all that 3D modelling can be very fulfilling, I know.
But after the fun part, comes the technical one, rigging.
On this post we'll explain how to use Mixamo to rig your characters in no time, and also solutions for some troubles you'll find along the way.
Resources
  • Mixamo
  • MayaLT 2019 or your preferred 3D software

VRChat summer hotdog avatar promotion
Rigging our character in Mixamo

Mixamo is an automatic rigging website tool that allows you to create quick humanoid for free.
​As long their shapes are not complicated.
​
If you are already familiar with this tool you can skip to the next part.
To log in you can use your Google Account.
Mixamo
Upload your character

Once you are logged in, press Upload Character and then drag the FBX you want to rig.
​
Note that the FBX file preferably should be in a 2013 or earlier, to avoid errors from Mixamo.
​
Make sure to orient the model to have the front face looking forward.
Mixamo upload character
Bone structure

After that it will ask you to indicate different parts of the body on top of the model.
​
You also can choose the Skeleton LOD according how many fingers of the hand do you want your character to be able to move.
Mixamo bone structure
For a VRChat avatar you want to use at least 3 Chain Fingers because is the minimum that the game needs to detect correctly all the basic movement of your hand.
​
If Mixamo doesn't detect 3 "fingers" it will create less chains and you will have issues later.
Once everything is placed correctly just click Next and the autorigger will do his work. If you are satisfied with the result, click Next again. Now you can see the character in different animations to ensure the quality of the rig.
Don't trust, test

Before downloading your character from Mixamo, we strongly encourage you to run the following animations to test if there is going to be any problem with the avatar beforehand. Some of these problems can be solved after downloading the rig, but others cannot.
Mixamo skinning test
Skinning test makes you character make really exaggerated poses. Perfect to see if there could be any skin problem beforehand.
Mixamo typing test
Typing is really useful if you want to check if your avatar has all the fingers rigged, since it moves all the fingers individually you can see if there are any issues.
Download that avatar!

If everything looks alright to you, go ahead and press Download and choose T-Pose and fbx.
​
Remember to not have any animation loaded in right panel, this could modify the pose of our rigged character.
Mixamo download rigged avatar
Having trouble yet?

Mixamo's automatic skinning and rigging can work. But more often than not, your characters will encounter different problems that only can be fixed manually using a 3D software.
​
What went wrong? What do I do? These are questions that I made myself while working on these characters and I hope I can answer them here. Not all models are the same. Some have special characteristics and you have to look out for those.
​
These next examples will help you to identify and fix problems that could happen.
Bone influences

At first glance, this Hot Dog boy looks normal. It is in T-pose and it's completely rigged and skinned. Yet, there are some problems that we need to look out to.

It wasn't until we tried it on VRChat that we saw the problem. As I said, we all lost valuable time for not checking the rig and skin.
​
Seriously, check what's given to you. Make sure everything is okay.
Mixamo hot dog T pose rig
Mixamo places a shoulder bone between the Upper arm and the Spine 2 bone. This bone doesn't usually move around much, but Mixamo still puts influence, leaving some nasty results, like this one.
​
Lifting up 30º the right shoulder leaves us with an horrible looking deformation.
Mixamo shoulder bone deformation
This is the kind of stuff we should be aware of. For this particular case, removing all the influence of the shoulder bone will be enough to lead to some better results.
​
Removing all the influence sometimes is not the best idea so you can also reduce the amount of influence the shoulder makes on that part of the body for different results.
​
In this pictures you can see how the bone influence should look for both cases.
Mixamo influence removed
Influence removed
Mixamo influence decreased
Influence decreased
Visemes issues

One particularly annoying problem that I personally found while making visemes for the avatars with Maya LT, was that even when the character was in T pose, if I tried using the blend shapes, the model will return to its original pose before the rigging. You can check what I'm talking about on the gif below.
Maya visemes issues blend shapes
To fix this we'll reset our character rig.
​
First, we will duplicate our original character.
reset character rig
Now bind the new mesh to the bone chain we have.

If an error occurs, right click on the Outliner and uncheck the "Show DAG Objects Only".
​
Scroll down until you see bindPose1.
Delete that, and repeat the bind.
bindpose1
Select the old mesh, then the new one. Go to Skin > Copy Skin Weights.
You can delete the old mesh, since it has no use.

Now all the blend shapes will work perfectly!
Maya blend shapes solution
Conclusion

Like any automatic tool, Mixamo is a great time cutter that provides an easy way to go with decent results, but problems can arise, we covered some of the most annoying ones and hopefully this blog post helped you somehow.
VRChat demon avatar
Post by:

Pedro @05predo

Pedro Solans was an intern and now junior animator working at Polygonal Mind's in-house team.
Animation film lover, Tekken player and animal huger .

Daniel @toxsam

Daniel García (aka Toxsam) is the founder and creative director at Polygonal Mind.
In love with videogames since he can remember, passionate about geometry,
​VR addict and energetic persona.

0 Comments

How to optimise VRChat avatars for Quest

10/3/2019

0 Comments

 
Premise
Back in May Oculus quest was released, it is a standalone device that allows you to use VR without needing to use any PC or wires. Until then you needed a high end computer to run games or experiences on VR so developers and creators didn't had to reduce as much when creating content or avatars for VRChat.
The Mission
The Quest has proven to be a very successful headset so far so there're new Quest users on VRChat, we'll use our 100 Avatars to show you how we reduce and optimise our avatars so Quest users can use them in VRChat.
Resources
  • MayaLT
  • Zbrush
  • Photoshop
  • Mixamo
  • Unity (latest stable version)
Butter avatar in vrchat 7eleven
Before starting

During 2018 Q4 Polygonal Mind's team made a challenge of making 100 characters in 100 days, you can check more about it here.
Me and my friend Alejandro Peño joined the studio as interns and were tasked with a project where we had to prepare, optimise and upload over 100 characters to VRChat for the Oculus Quest.
It was challenging workload but through consistent job, we were able to transform this characters into optimised avatars for VRChat.
Skull avatar selfie into vrchat
Some characters have proven to be more difficult than others, so I will make sure to explain you what problems I faced when fixing non optimal characters and how I managed to solved them. Even though we used Maya in the studio, any of this knowledge is applicable to any 3D modelling software.
​
So I'll recap a series of problem I faced when setting them for VRChat.
Lets start optimizing

Initially most of the models weren't created with VRChat in mind, and even less with the Oculus Quest.

Thankfully, all the characters were already modeled and texturized, so we only had to rig and upload them.


Or that's what I thought...
Cool Choco selfie into vrchat
VRChat team provided the following rules to follow when it comes for Quest avatars:
​
  • 1024x1024 texture
  • Less than 5000 tris
  • Preferably only 1 material
  • Around 5 or 8 MB uncompressed
Step 1 - Reducing Textures

This might be the easiest of all steps.
​
All the characters used 2048x2048 textures. So we had to reduce them to the desirable size.
In Photoshop, we created a new project with 1024x1024 pixel resolution. And then we imported all textures. Once they were all in and adjusted to the box, we exported each layer as an independent PNG.
1024 textures edit into Photoshop
Export texture images as PNG
Since they already had the appropriated name, we had 100 textures ready to go.
100 texture files png
Step 2 - Polycount reduction

Most of the models had the right poly count, but some others didn't. 
​Franky's head is a clear example, it had 12572 triangles.
It is tempting to use an automatic tool to reduce the polycount such as decimation, but we do NOT recommend this at any cost. It will likely destroy your edgeflow and also can destroy the shape of the model, also can break UV layouts, so please think it twice before using it.
Franky frankenstein avatar by polygonal mind

Here are some rules we follow when it comes to reducing polygons:
​
  • Always keep the shape intact. In this case the head must keep being a head with it's rectangular silhouette. After deleting an edge, zoom out and rotate the model to check if everything keeps looking good.
​
  • Don't delete edges where there is a texture seam. This will cause the UV map to go bananas, and that can take a lot of time to get it fixed, and even then, the results can look really bad.
​
  • It's crucial to reduce trying to keep the same edgeflow that the model already has, deleting edge loops left and right without paying attention to the edgeloop will lead you to sub optimal results.
Franky avatar high poly
Franky avatar low poly vrchat
... wait... What if the maps seams are non optimal?

What can you do when there are map seams literally everywhere? That's what happened to the 50th character, Samuela.
Samuela avatar polycount vrchat
As you can see on the left no matter what edge loop you tried to select, there was always a seam. We couldn't find a way to reduce the number of tris (7.5k) without having to re-do the texture again.
​
But, thankfully we learned a workaround for this model.
We duplicated the model, and started deleting edges without thinking too much about the seams or texture, since we were going to make a new UV layout once the model is reduced.
Once the poly count was around 4.5k, we made the new UVs. Now that's all done, we exported each separated part (eyes, hair, ponytail and hair) of both, the new and the old model.
3d files obj export
Once in Zbrush with every mesh and the old texture imported, we took the old Samuela model, subdivided it and made the texture to be poly paint.
Picture
Beware, Zbrush applies color to the model's vertex, so you will need to subdivide your model until it reach a million of points so you can keep as much detail as possible of the texture.
Time for to project the high model polypaint into the new one by subdividing the number of polys of the new to match the old one and now simply project the old Samuela to the new one. Repeat this part for every subdivision you have until you get enough texture detail on the new model.
zbrush divide
Samuela textures UVs
zbrush project all
Samuela vrchat texture uv
Note that projection might not be precise and you might have to improve the texture in Photoshop.
Adding mouth and eyes into an existing model for Visemes

This part is completely optional. But it really gives your characters life when they are in game.
VRChat allows you to add facial expressions to your avatars so we had to add a mouth and eyes for every character so we can make them blink and talk using blend shapes.
​
Some characters already had eyes and mouth, but others, like Manuela had them embed on the texture, so we had to create them.
Samuela eyes and mouth add
For a quick turnaround what we did was:
​
  • Extrude the mouth inside to make a hole
  • Modify topology if needed
  • Adjust UVs maps to match the lips and the mouth's insides
  • Add some teeth and tongue to the insides
  • Please keep in mind the 5k tris limit.
Rig

For the rig, we used Mixamo. Mixamo is a web page that rigs and skins automatically given some variables like the position of the wrists, elbows, knees, chin and groin. For the most part, Mixamo did a pretty good job, specially for all the humanoid characters. But for the not-so-human, you had to edit the skin to have a great result. How to fix those is a topic for a different dayone .
We'll talk about this deeper in a future post.
Materials

Like many of you reading this we firstly uploaded the characters to VRChat thinking only for PC users so all the materials were left with the Unity's default shader, but Quest avatars requires a mobile diffuse shader, so we had to change them.
​
If you have followed a good naming convention, this will only take 1 minute. For example we add a mtl_ prefix to all our materials. In Unity type the material prefix to quickly select and change them all at once.
Unity 3D textures avatars vrchat
Unity material
Conclusion

100 characters are a lot. But like I said earlier, with some structure and consistent work after 3 weeks, we made this happen. At Polygonal Mind, we use Notion.so to have all our projects and task organised.
​
With that being said There were a bunch of characters that needed little to no optimisation, but some others that needed almost a full rework. This stuff takes time. Especially if you count them by the hundreds.
​
I hope this guide helped you to optimise your avatar for Quest users, it was a challenging project for us, but the work pays off very quickly once you see players wearing them in game.
​
So sit back, put on some music, and start working. It's been really fun making these and the paid-off of seeing avatars you've been working on being used by other people is a great feeling.
Hot Dog avatar VRChat 7eleven
Post by:

Pedro @05predo

Pedro Solans was an intern and now junior animator working at Polygonal Mind's in-house team.
Animation film lover, Tekken player and animal huger .

Daniel @toxsam

Daniel García (aka Toxsam) is the founder and creative director at Polygonal Mind.
In love with videogames since he can remember, passionate about geometry,
​VR addict and energetic persona.

0 Comments

    Categories

    All
    Blender
    CryptoAvatars
    Decentraland
    Decentraland En Español
    Maya
    Metaverse
    Mixamo
    Morphite
    Substance Painter
    The Sandbox
    Totally Reliable Delivery Service
    Unity 3D
    Updates
    Vrchat

    Archives

    March 2022
    July 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021
    December 2020
    October 2020
    August 2020
    July 2020
    June 2020
    May 2020
    April 2020
    March 2020
    February 2020
    December 2019
    October 2019
    September 2019
    August 2019
    June 2019
    May 2019
    February 2019
    January 2019
    December 2018
    November 2018
    October 2018
    September 2016

    Picture
Home
Projects
Assets

Picture
Crypto
Friendly
Picture

Subscribe to get some 💚 in your inbox once in a while.

Follow us and your visit will never be forgotten!
Picture
Picture
Picture

 © 2015-2022 POLYGONAL MIND LTD. ALL RIGHTS RESERVED.
  • Home
  • Metaverse Builder
  • CryptoAvatars
  • MegaCube
  • Blog
  • Decentraland
  • Projects
  • Assets