Basic avatar creation workflow from scratch Overview
I have seen someone asking about creating avatars from scratch so I wanted to make a little overview of it copy pasting the comment I provided so here it’s
*Stretch fingers like in the Animes*
Ok for starting you need find your workflow what could be, to speed up your progress so i will start with the workflow. This is the workflow of a friend for example, i think nowadays changed a lil but you will make yours along the way you do your journey.
In my case I do like this.
INSPIRATION / REFERENCES:
Program to drop all the material researched to be use as a visual reference
It’s free if you set custom amount “0” but you can also pay to support if you are able to!
Modeling, UV, Painting, Skinning / Skin weight paint / Rigging, Unity preparation for VRC SDK
A nice help would be to buy a very nice avatar from the Booth website and see how’s done
CHOOSE YOUR SOFTWARE
After gathering all the pictures you need to start 3d modeling.
Programs to use are BLENDER (Free), Maya (Sub), 3dMax (Sub), C4D (sub), Zbrush (Sub)
When you select your software, look for tutorials for them, since mostly of the people here use Blender, it will be better for you in case you have doubts about the realization of stuff. PLUS if your goal is making avatars then you can use on your blender the CATS, has a handy amount of tools to make your life easier!
For more Info related to CATs Addon
My recommendation is to find the shapes in the model, use tools as Photoshop (Sub) / Krita (Free) / Clip Studio Pro (license 4 ever after buy), there is complex figures that you can reduce to simple objects and from there make the actual complicated shape. Then something to have in mind to make a good looking character is the silhouette of the character, best characters have a distinctive one.
Modeling for games requires that the amount of POLYGONs dont be too much and the flow of them be harmonic, so when you start you can:
° Start doing the shape in High poly and do a Retopology (Retop = reconstruct the mesh using the High as reference)
° Start Low poly from the start and keep it simple then add details or have those detail sin consideration for the future painting.
Both are ok, depends on which one fits you better.
ADDon for Blender for the best quick retopo
When you modeling clothe you can do it on any of the software but if you are willing to pay a lil for a 1 time buy program or maybe other sub the option could be MARVELOUS DESIGNER, that’s the best program for clothe simulation/building. A free option not so strong as that could be for blender
[Garment Tool ADDON]
Now in Blender, Cloth Brush
HELPFUL Tuts to start on BLENDER
One you finish with your modeling, UV moment start, basically the process is the 3d projected into a 2D texture so you can paint it. You want to keep everything with the minimum amount of textures and materials for the future, so normally what it’s been done is to create a UV for the whole model into maybe 2/3 Textures of 2k/4k (Body and face , Clothing and accessories, Hair).
You can go hardcore and create even more but when you need to paint them how do you organize your textures? In some cases the normal way is ok, but you can also investigate UDIM uv because that can be useful from complex character.
Export your model into FBX / OBJ and open it with your selected program.
You can use Substance painter (Sub or One time buy on Steam), Mari (Pay or Sub), 3dCoat (1 time buy), Photoshop (Sub), Blender can also paint (Free), Zbrush also can paint (Sub), Mari (best skin painter but pretty expensive), dDo AKA Quixel for Photoshop (License), BodyPaint 3d (1 time buy), Krita (Free).
For baking textures you can also use this too:
Marmoset toolbag or Xnormals
For tiled textures you can use Substance designer (Sub or 1 time buy on steam)
For most of the avatar on VRC you find they are self illuminated textures and will only require you make a albedo Diffuse texture. In some cases you will like to add Emission texture for Shiny parts and on the Shader properties they add the “Outline” to make it look toon, with a contour line around.
For more realistic result, you can go for PBR Textures, that basically together emulate the Physically Based Rendering on Unity. You have 2 ways:
Both are ok, a few differences but also depends on the Shader you will use on Unity :).
NORMAL maps are the purple textures that have 3d information that add extra detail on your model
Rigging / Skinning / Weight painting
You go back to your modeling program with your textures already tested and if you needed to do any modifications that’s the best moment.
When that’s done what you do is creating BONEs inside of those characters and LINK those vertex to them with a % of influence. What will do is that the vertex will position will be modified depending on the % of influence of the bone that is moving.
Tips and tricks for where to do that or start are on YouTube.
IN many channels depending the program you use.
Another thing you can as a base rig to work on later is using MIXAMO, create an adobe account for free, upload your OBJ. / FBX. and will auto Rig it, it’s not perfect but it’ a nice base to start with in case you dont know too much about bones. Then in any case you can fix that on the program with auto influence.
BLENDSHAPES / Key shapes / Visemes
When that is done you need the facial expression that VRC will use.
You need to duplicate your model and work on that one making them.
Then depending on the program you can link those to the actual model so in Unity you can read and use them. You can use CATs Tool to make them faster.
Normally they’re 15:
And also depending on SDK2 or 3 for eye tracking you will need to:
EYE tracking Naming convention
First visemes should be this ones
(You can add them individually if you want to individually close them.)
Create a project with the current VRC unity (right now 2018.4.20f1) ,
Import the package of the current SDK from VRC, now you have 2.0 or 3.0 things inside are different but 3.0 allows you more manipulation. Both Scripting are super different so be careful with that when you look for tutorials.
Everything that you place inside of the projects needs to be on “ASSETS” folder,
I recommend to you in assets create an a organization like this
–|| SHADER/ (Drop the Shaders there)
–|| AVATAR/ (Drop the avatar files inside)
----| Model/ (FBX or OBJ)
Unity scene of the model
As i said above.
- Current SDK you want to work with.
- Dynamic bones (For making bouncing things).
- MAnimator (For creation animations for prone, crouch, gestures, etc etc.).
The SHADER you will use ( For Shader on unity normally i use
STANDARD of unity best optimized one but let features, Poiyomi, Silent, Arktoons, XieXie, UTS, etc).
- Drag and Drop your FBX / OBJ to the new unity scene in the Hierarchy Window
- Set your avatar to HUMANOID (in case you want Full body tracking or VR)
- Check the size of your avatar
- Add the VRC avatar descriptor, set the vision ball in middle of the eyes, then depending on which one you choose it’s different so cant tell too much, you need to check the videos i dropped at the end of this post
- For Lip sync in the descriptor you have an option to chose from where, you said the mesh / Blendshapes and auto arrange
- For organization what I create an empty object and add the script of DynBones there and drag and drop inside of the avatar prefab. Each 1 DynBone Script you can place one bone but if you select the Daddy one will affect all the children inside of the bone chain.
-Apply Shader you want from the list I said above.
Normally what I do are basic visemes.
For 3.0 I recommend Haï tool for those visemes
- Duplicate the prefab in the scene
- Name it the way the gesture will be called
- Go to animation tab, create clip and chose for example ANGRY
- Press the red record button on the animation tab and start moving bones or activating Blendshapes (Blendshapes can be found selecting the mesh where you linked them)
- One you finish, you can keep that prefab with visibility turned off or you can delete it, I keep it for fixing stuff.
In SDK2 there is something that you can find in the search bar called Controller, and it’s where you drag and drop the animations you created on the gestures you will override from the basic gestures of VRC. One you linked those to the controller you need to add that on the Descriptor you created on the main model.
Then you Upload to VRC with the SDK tool and that’s it.
Of course there will be troubles in the first ones and probably the best is look to some tutorials I will drop at the end of this comment so hope this be kind of helpful to let you know about the whole process
AVATAR ARTISTS channels
You can find more tutorials on:
- [Ask Amber]
- [Shonzo] or [Twitch Shonzo]
- [ArtillerSoup] Maya but the concept for modeling it’s the same