Skip to main content

Learning Custom Avatar Creation

CATS Documentation (learn CATS here)[github.com]


Lip sync

To automatically generate lip sync via CATS, go to the Visemes dropdown. You must have at least 3 mouth shape keys to start: AA, OH, & CH. Once you have those open CATS, open the Visemes menu, select the shape keys and click “Create Visemes”. [This will create the 15 visemes necessary for lipsync in VRChat.]

If the 3 slots don’t automatically fill, try translating your model via the Model Options dropdown. If the shape keys aren’t already in your model you must create them using Blender.

In Unity, fill the visemes via Pumkin’s Tools.

YouTube™ Video: How to add Lip Sync to your Avatar | VRCMods.com 
Views: 73,355
Official Lip Sync Document: https://docs.google.com/document/d/1W5KFa_aszCMrJaFD8mb9a-GHYO4X4S9M63GjM4UwuEw/pub https://vrcmods.com/tutorials https://vrcmods.com

- (if your model doesn’t come with the 3 visemes required for CATS)

YouTube™ Video: [OUTDATED] How To Add 2D Blinking & 2D Visemes - VRChat Tutorial 
Views: 31,918
EDIT: If you are using an MMD model please read below! In this video I will show you how to make your 2D eyes/mouth type avatar have a blinking animation and mouth movements for VRChat!

- (uncommon, extra work)


Eye Tracking

Allows an avatar’s eyes to dart around and focus on objects of interest. Created through CATS. The tooltip popups will guide you.
Applied in Unity first through Pumkin’s Tools, then set the eye rotations in the Descriptor.


Deleting unseen geometry

If you have clothes on top of your base mesh, delete the polygons underneath that should be covered! This will not only increase performance, it will prevent clipping issues!

Select the base mesh, go into wireframe mode and select the faces to delete. Then navigate to the Object Data Properties tab (inverted green triangle), create a new vertex group, and with nothing else but the faces you want to delete selected, assign them. Now rename the group descriptively and deselect.

Before you delete these faces, save a new file first!


Custom Gestures/Expressions (Avatars 3.0)

Locate the Examples3 folder in the SDK in Unity. Click on vrc_AvatarV3HandsLayer.controller, duplicate it (Ctrl+D), then rename it descriptively. Create a new subfolder in your avatar’s folder for animations, and place the new controller there.

In your avatar descriptor, under Playable Layers, click Customize then under FX Default Non-Transform. Drag the controller into the slot.

Duplicate your avatar in the scene. Open the Animation window (Ctrl+6). Create a new animation (e.g. Smile). Click record. Then click on the body in the hierarchy, and in the Skinned Mesh Renderer open Blendshapes. Drag them to make the expression you want (in this case Blendshapes like Blink Happy, a slight smile, and slightly raised eyebrows.)

When done, click the top diamond at frame 0 in the animator, Ctrl+C, then Ctrl+V at exactly frame 1.

In the Animator window, navigate to the hand movement (in this case Open), and set the animation file in the Motion slot in the Inspector window.

AV3 Walkthrough - Part 3 - Weights, Blending, and Tracking - Avatars 3.0[ask.vrchat.com]

 

YouTube™ Video: VRChat Avatars SDK2 to SDK3 Tutorial #2 - Hand Gestures 
Views: 58,371
This video is pretty outdated. Please only use it if you're already familiar with Unity or making avatars with SDK2. I will eventually have a video out that is much more beginner friendly.

Note that custom hand poses will not have an effect when using Valve Index controller finger tracking.

YouTube™ Video: VRChat Avatars SDK2 to SDK3 Tutorial #3 - Object Toggles 
Views: 107,708
I have an updated version of this tutorial! Watch it here: https://youtu.be/XqtSg6_W07Y This tutorial goes over how to create a toggle for your avatar that enables and disables an object.

 

YouTube™ Video: VRChat Avatar 3.0 Tutorial - Controllable Tail (Puppet Menus) 
Views: 35,845
This video is pretty outdated. Please only use it if you're already familiar with Unity or making avatars with SDK3. I will eventually have a video out that is much more beginner friendly.




Rigging
YouTube™ Video: CG101: What is Rigging? 
Views: 15,400
Learn more: http://www.digitaltutors.com/tutorial/727-CG101-Animation In this lesson we will learn about the process of rigging.


Many models and bases will likely come pre-rigged. If you rig your own model it must conform to the VRChat Rig Requirements[docs.vrchat.com].
If using a humanoid avatar ensure that in the model import options it is set to humanoid.
If using a non-humanoid avatar, use the generic rig [and it is ideal that you use your own animation controller].

Rigging can be done in Blender by using rigify.

YouTube™ Video: Rigging Intro - Blender 2.80 Fundamentals 
Views: 149,533
Blender is Free and Open Source Software Download: https://blender.org/download Support core Blender development - https://fund.blender.org Character Rig:...

 

YouTube™ Video: Character Rigging - Blender 2.80 Fundamentals 
Views: 776,019
Blender is Free and Open Source Software The character Rig will be freely available next week on https://cloud.blender.org Download: https://blender.org/download Support core Blender development -...



Rigging can also be done quickly and easily through the website mixamo.com.
Quick Start - Mixamo Avatar Creation[vrchat.fandom.com]


Weight Painting

The way the bones are mapped to the mesh is through weights. Bone weights can be painted onto the mesh via weight painting.

Weight painting is hard. There is no perfect weight painting. You will suffer when weight painting.
It’s OK and a necessary evil that every 3D artist must endure if they want to properly rig their characters.

YouTube™ Video: Vertex Groups - Blender 2.80 Fundamentals 
Views: 212,287
Blender is Free and Open Source Software Download: https://blender.org/download Support core Blender development - https://fund.blender.org Character Rig:...

 

YouTube™ Video: Blender 2.8 Weight Painting mini-tutorial (and how to undo a "neck fix") - louder audio 
Views: 7,599
This tutorial first goes over my method for weight painting in Blender 2.8 (relevant to everyone, not just VRChat users) using a simple example of tweaking an arm's weights to leave a sharper elbow...




Twist Bones

Avatars - [Tutorial/Guide] Twist Bones: What are they, and how do you use them?[vrcat.club]


Editing Textures

Find the image texture of what you would like to edit (e.g. the hair texture) and bring it into an image editor (like GIMP or Photoshop). If you want to edit the color, select what you want to edit and mess around with the color settings. If you completely want to change the color set it to grayscale first and then change the hue.


Clothing

Clothing models can be searched for on DeviantArt, search “MMD (name of clothing item)”.
You would then parent the clothing using CATS.
Don’t forget to respect the rules, many explicitly say not to use them in VRChat.

The quickest and easiest method to create custom clothing in Blender is to select all the faces of your avatar that you want there to be clothing, marking seams, UV unwrapping, adding a texture and adding a solidify modifier to make the clothing look like it has depth and isn’t shrink wrapped to the avatar.

Additionally you can sculpt the clothing mesh to your liking. For simple edits you can just use the Grab brush (G on keyboard).
You can also sculpt using Blender’s physics based cloth brushes and bake the extra detail into a normal map.

{
Clothing can more realistically be created in Blender by “stitching” 2D planes with cloth physics applied to them.
https://youtu.be/HPz5gk_AT6w
I would not recommend this method as it is tedious and not scaleable.
}

{
If you are especially interested in 3D clothing creation, you can either buy the Garment Tool for Blender by bartoszstyperek {LINK REMOVED} or a perpetual license of Marvelous Designer.
https://store.steampowered.com/app/1146050/Marvelous_Designer_95_for_Steam/ }

 

Hair

For an anime-styled 3D character, you’re going to want geometry-based hair (as opposed to particle-based). There are different ways to model hair depending on what you want your final result to look like.

YouTube™ Video: Easiest Way To Create Hair in Blender - 5 Minute Tutorial 
Views: 715,738
A tutorial on how to make hair in Blender 2.8 with curves, a method that is very simple and effective that I have been using for my character sculpts.

 

YouTube™ Video: [#07] Anime Character 3D Modeling Tutorial 2020 – Hair & Outlines 
Views: 46,033
This is the seventh video in my anime character 3d modeling tutorial series! In this episode I begin by showing you to use the inverted hull method to create outlines in Blender.




Texture Painting

The process of painting textures onto models. For non-PBR texture painting (just a diffuse texture) Blender works fine. Pre-made image textures (like MMD faces, etc.) can be edited through GIMP or Photoshop.

{
Substance Painter is by far the most robust PBR-texture painting application but also the most expensive. Alternatives include ArmorPaint (€16 for the precompiled version) and the free Quixel Mixer.

YouTube™ Video: Free Substance Painter Alternatives - Armor Paint vs Quixel Mixer 
Views: 343,832
In this video, @Martin Klekner explores what are the pros and cons of the two free texturing solutions, Armor Paint and Quixel Mixer, compared to Substance Painter.


Again if you are just painting a diffuse texture just use Blender.
}


Avatars 3.0

AV3 Walkthrough Index - Avatars 3.0[ask.vrchat.com]

Full-Body Tracking[docs.vrchat.com]

VRChat advises against using rig hacks because they may break in future updates.

YouTube™ Video: [NEW 2020] VRChat FBT Fixes (Fullbody Avatar Mega-Tutorial) 
Views: 87,997
[Update 11/10/2021] In Unity 2019 it's easier for the project to break during file overwrite. It's better not to delete the .meta file when overwriting anymore.




Complete avatar creation (NOT FOR BEGINNERS!!!)

Are you masochistic enough to make every part of an avatar yourself?
Rainhet's avatar courses seem to be the most streamlined and simplest for creating an avatar from scratch in Blender.

There is a step-by-step playlist and an abridged playlist.


(DATED, Avatars 2.0) Custom Animations

Avatars 2.0 is now depricated. Do not use it for a new project.

 

To add these, find the CutsomOverrideEmpty file in the VRCSDK. Make a duplicate of it (ctrl+D) and rename it (something like CustomOverride) (press F2).

Click on it and the animation slots will appear in the inspector window with
nothing in them. If empty, the animation will be the VRChat default; if filled with a .anim file, it will be overwritten and that animation will be used instead.

To apply the animations to the avatar, click on the avatar and drag the CustomOverride onto the Custom Standing Anims and Custom Sitting Anims slots in the avatar animations component in the inspector window.