Blender

From VR Wiki

Blender is usually the first call for any avatar work and is the most powerful tool you will be using. Blender gives you the ability to customise and create the model to any level neccessary, including extruding and moulding objects from nothing at all.

This content will mostly be focused around editing and tweaking than creation, but skills gained in blender are universal.

Core Concepts

It helps to have some understanding of how a model is put together from the component parts and what the core concepts are.

Mesh

Mesh is the skin of the model, and it comprises of polygons, which are described by:

  • Vertexes - The points of each polygon
  • Faces - the polygon itself
  • Edges - the line between two vertexes

In the top left of the blender UI you can change the selection between selecting these, and you can change to wireframe view in the top right.

UV Map and Textures

Textures basically paint onto the mesh, and they do so with the UV map, which is an unfolded version of the mesh that is laid over the texture and describes which parts of the texture go where, try and imagine unwrapping a cardboard box or chocolate santa.

If you do things like assign the wrong texture, the map will be putting the wrong image weirdly all over the mesh.

Bones and Weights

To have mesh move around, such as wiggling the fingers, moving the arms and legs, or to have a skirt or tail wiggle, the model uses bones. When these bones are moved (in game or in pose mode), they move parts of mesh with them. How they determine how much mesh to move is set with weighting- basically a heat map of how much that mesh should move with the bone.

In modelling, the Armature is the skeleton of the model, and will start from the Hip bone as the root bone and then all other bones will be children of this bone. When a bone is posed, all children of that bone will also move.

Materials

Materials are applied to areas of mesh and are containers for the UV Map, the texture(s), specular maps, normal maps, etc; basically rendering settings and how pretty the mesh looks when it's in game and being rendered. How shiny something is, how bumpy something is, what parts are transparent, what parts glow, this information is stored within the material.

Important to keep in mind with making shit for VRChat is that all blender material settings are not exported or used by unity at all, so you will be doing all material configuration in Unity, rather than blender. However, keep in mind that' you'll be using blender materials to set textures, and optimisation usually requires combining materials and textures to make rendering more efficient.

Shapekeys

Shapekeys are configurations of the mesh that are saved as offsets. Basically when you change the value of a shapekey (blendshape in unity) the mesh changes shape. This for VRC models usually changes eyebrow position, mouth shape and such to be part of facial gestures; but any part of the mesh can be moved with a shapekey.

Important to note that mesh cannot be created or destroyed with a shapekey, and mesh creation and destruction will fuck with your shapekeys. Sometimes really badly.

Normals

Normals, or the 'normal map' is related to an extra layer of shading on top of the structure of the mesh itself. For example; a polygon is facing in a certain direction, and when simulated light hits that it will be of a certain brightness based on the angle. Have a group of polygons like in a low-polygon sphere and since the polygon's flat faces are facing different they'll all be different brightness. A normal map, or a normal overrides these settings and can do so at a greater fidelity than the number of polygons there. So one polygon can have a 'normal map' applied to it that makes it look like it has extra detail, simply because it maps the way lighting affects different areas.

It's worth being aware of normals but you won't be editing these unless you're doing some advanced shit.

Blender UI basics

<todo> screencaps of these areas

Blender has a tonne of menus, submenus, workspaces and tabs and buttons so a couple of general important things will be highlighted here so if someone says 'go to the material tab' you know where to find it.

The main areas in the default window are:

  • Main Viewing Pane
    • press t to access tools (on the left)
    • press n to access more tools (on the right) CATS is on the 'n' menu somewhere
  • On the top right is the scene collection, here's where meshes, bones etc will be.
  • Bottom right: properties of the selected item. This has a number of tabs that change based on what is selected. The most important are:
    • Bone Properties (Looks like a bone)
    • Material Properties (circle/sphere)
    • Object data Properties (upsidedown triangle)
    • Modifier Properties (Spanner)

Views

There are a few main views and ways to customise them and they're found at the top right of the viewing pane. I recommend poking around up there and seeing how things change.

  • Wireframe - Useful for vertex manipulation and selecting through the model
  • Flat shading - Will be pretty close how it'll end up in unity, assuming anime model
  • Random texture colour - Useful for sculpting mesh with dark colors

Modes

Blender has a number of modes and the actions and operations in each are different, and many operations require you to be in a specific mode for an operation to be performed. "Tab" switches between object and edit modes, usually.

These are selectable from the top left dropdown menu:

  • Object Mode : Basic operations, act on objects.
  • Pose mode: When bones are moved, mesh is moved according to their weighting. Used to check weighting.
  • Edit mode: Used to edit mesh. Create, delete, move, etc etc.
  • Sculpt Mode: Think clay.
  • Weight Painting mode: Where the heatmaps for weights are painted. Many do not like it here.
  • Vertex paint: I never use this lmao
  • Texture paint: Paint textures straight onto the mesh. Will be crude unless you know wtf you're doing.

Hotkeys

A lot of Blender's functionality is usable via hotkeys, and it's recommended to learn at least some. Here's some I use regularly:

  • Transforms: r (rotate), g (move), s (scale). When transforming hit x, y or z to lock it to that axis. Very useful for precision.
  • Space. I hit this and look for shit all the time. (check first run above if no search bar comes up)
  • Mouse controls: Middle mouse click and drag rotates, scroll zooms, shift+middle pans
  • Numpad 1, 2, 3 etc: Pre-set camera angles.
  • Ctrl-L - Selects all connected verts to your current selection
  • Circle Select - c (middle click deletes selection)
  • Box select - b
  • Mode Radial - ctrl+tab - Weapon wheel for blender modes
  • View Radial - z - Weapon wheel for view modes
  • Seperate mesh - p (Seperates mesh into seperate mesh object)
  • Join Mesh - ctrl-J (Joins objects/mesh/etc)
  • Extrude bone - shift-e (new bone as child of current)

There are loads, but some are used more than others.

Load Avatar Into Blender

Loading an avatar into blender is a mixed bag, and it basically consists of getting it into the standard humano id format for Unity (Which VRchat uses) along with making it look reasonable so you know what you're editing.

From MMD

CATS is actually useful here. tl;dr:

  • In CATS, hit "import model" and find your MMD file (usually .pmx)
  • Load your MMD
  • Hit the little spanner next to 'fix model' and deselect Join Meshes and Fix Materials, zero weight bones, combine same materials
  • Hit Fix Model
  • Fix issues (if any)
  • should be gud

From Booth

  • Find the FBX file
    • This could require extracting the unitypackage that comes with it; can use something like this [1], or you can load it into a unity project and then browse the files of the project.
  • Use CATS > Import Model
    • When it's loaded in it will be all grey, this is because you're not rendering the texture; the materials are set all wonky by default. Go to the spheres at the top right; go into viewport shading, hit the dropdown arrow, then select flat shading and color: Texture. Typically the right texture will match the name of the material which will be like Body_Skin or something.
    • Purple means broken material
    • for anything broken, Select the mesh, open the material properties tab, change the surface from Principled BDSF to Diffuse BDSF, then change the color to an image texure, and select the right texture. You can change all the mats to Diffuse too if you can be bothered, I'd only bother if they were broken.
    • Change alpha blend to alpha clip in 'settings'.
  • Should be good to start modifying after this.

Notes with booths:

The "Body" mesh will be the face, since this is the default mesh in VRChat. For reasons explained later the meshes are seperate.

Game Rips

  • If you need this guide then you probably shouldn't.