Siren Watcher Researcher Writer - Importing VRM to VRChat Guide: 10 Steps including Dynamic Bones, Breast Physics, Extra Outfits, Expressions and Linux

Importing VRM to VRChat Guide:

10 Steps including Dynamic Bones, Breast Physics, Extra Outfits, Expressions and Linux

Quick and easy step guide on how to get a .VRM model on multiple operating systems, alongside an added guide on how to make your own expressions, import extra clothes, and adjust breast physics in the process.

Author: Siren Watcher. Published: 2020-12-30.

Importing VRM to VRChat Guide:

10 Steps including Dynamic Bones, Breast Physics, Extra Outfits, Expressions and Linux

Siren Watcher Researcher Writer - Importing VRM to VRChat Guide: 10 Steps including Dynamic Bones, Breast Physics, Extra Outfits, Expressions and Linux

Quick and easy step guide on how to get a .VRM model on multiple operating systems, alongside an added guide on how to make your own expressions, import extra clothes, and adjust breast physics in the process.

Author: Siren Watcher. Published: 2020-12-30.

Step 1: Blender and Unity

Download program Blender 2.8.

Linux: As blender started on Linux (it is open source / free) you can find both blenders on the Store on your OS. The flatpak is the new version, you want the .deb 2.8 version for importing VRM to VRChat.

The reason you need the 2.8 version is because of Addon Compatibility. You can try the later versions if you want, I was able to use 2.83 perfectly fine, but its recommended to use 2.8 by other guide makers.

Download program Unity Hub.

Make an account on the top right also. You will use it to sign into the program.

Linux:

For the newest version can download via the Store but I’d recommend* just downloading the above link also.

This is the Unity 2018.4.20f1 required file for Linux. This is the version of Unity that you need to upload Avatars to VR Chat. Right click the folder, extract, then you can open the Unity.AppImage file by right clicking and tick allow executing file as a program. To install other versions on Linux, you can follow this guide.

Click installs / Add / pick one. Tick the Module for what you are working on (either Windows / Mac / Linux / Android / iOS / Facebook / WebGL / etc) / click Done.

To download 2018.4.20f1 for Windows click here, or search for it here.

Step 2: Download Addons

Download addons for Blender:

CATS (the most recent .zip on the page)

Shotariya’s Material Combiner (click the link under installation)

VRM Importer (click the topmost option then download the zip (windows) or tar.gz (linux))

Download addons for Unity:

Login to VRChat.

Click the bottom right, Download SDK3 – Avatars.

UniVRM (scroll down and click the first .unitypackage)

Step 3: Activate

Open UnityHub. Top right, click Sign In.

Clear the gear icon (top right), do the steps in Licence Management (to activate your Free version of the software).

Step 4: Install Addons

Open Blender.

In the Toolbar menu, Edit / Preferences / Addons.

Find the three addons you downloaded before and install them:

cats-blender-plugin-...zip material-combiner-addon-master.zip VRM_IMPORTER_for_Blender-master.zip

In the search bar under Install, type in ‘cats’ and then tick the box, then type in ‘material’ and tick Shotariya’s Material Combiner, then type ‘vrm’ and tick VRM_IMPORTER. Close the window.

If you get a Numpy error message:

Open Synaptic. Search for python3-numpy, tick it’s box, Mark for installation. Apply.

Step 5: Import to Blender

In the Toolbar menu, File / Import / .vrm. Import your .vrm file.

On the top right, near your coloured balls for Z / Y / X axis, there is a tiny little arrow pointing to them, click this. On this popout sidebar, click Cats.

If ever something throws you an Error message, just click the button again till it goes through seamlessly without glitching.

Click Fix Model.

Eye Tracking / Create Eye Tracking / Start Eye Testing. Play with the Up-Down / Left-Right / Test / Test options to check that your happy with your eye tracking. Stop Eye Testing.

Visemes / Create Visemes.

Optimization / Atlas / Generate Material List / (if you have more than 4 options here, you may want to ‘Save Atlas to…’ and group them together into 4 (or less) Atlases (image files).

Decimation / Quick Decimation. Triss = Good / Excellent / Quest.

Top right / Export Model.

Step 6: Import to Unity

Open UnityHub.

Projects / New / (choose a project name) / Create / Double the project.

(at bottom) Assets / right click inside folder / Import Package / Custom Package / navigate to your UniVRM file.

(at bottom) Assets / right click inside folder / Import Package / Custom Package / navigate to your VRCSDK3-AVATAR file.

Navigate on your PC to the folder that has your original .vrm file. Drag the .vrm file into (at bottom) Assets. This copies in your original correct textures.

(at bottom) Assets / right click inside folder / Import New Asset / navigate to your .fbx blender file.

Drag your .fbx into the left column Scene.

Click the .fbx (at bottom) / (top right) Materials / Click on the first row far right little circle icon / Copy and paste F00_000_00_ then type E or F, you can see the full names at the bottom once clicking on the item to get the exact items you are looking to match with the left column. Repeat this with copy and pasting F00_000_ or a keyword for your later items.

Click the .fbx (at bottom) / (top right) Rig / Animation Type: Humanoid / Apply / Configure / click Head (remove hair from jaw) / Done.

Click your model in the left column / Tag: Player.

Step 7: Unity Edits

Click your model (left column) / (right side) Add Component / Pipeline Manager – make sure Blueprint ID is blank.

Add Component / VRC Avatar Descriptor:

Lip Sync / Mode: Viseme Blend Shape / Face Mesh: Body / fill all the Visemes with files with the same endings.

Eyes / set Left and Right Eye Bone.

Eyelids / Eyelid Type: Blendshapes / Eyelids Mesh: Body.

Playable Layers / refer to Step 10.

Expressions / Menu: Default… / Parameters: Default…

Step 8: Unity SDK

Toolbar menu (top) / VRChat SDK / Show Control Panel / login / Builder.

Step 9: Breast Physics

Click your model (left column) / click the arrow next to the name / Armature / Hips / Spine / Chest / Breast_L and Breast_R are your breasts.

If your Avatar has no Breast options, watch this video as to how the bones are made in Blender.

(top middle) click Asset Store / sign in / type into the search Dynamic Bones. To edit your breasts physics more than normal, you need to buy this Addon from the creator.

If you decide to buy it, continue on in Step 9. If not, jump to Step 10.

After purchasing Dynamic Bone / click Import / Import / click Scene (top middle).

Click your model (left column) / click the arrow next to the name / Armature / Hips / Spine / Chest:

  • Breast_L / (right column) Add Component / Dynamic Bone / drag Breast_L (left column) into Root: None (Transform) (right column).
  • Breast_R / (right column) Add Component / Dynamic Bone / drag Breast_R (left column) into Root: None (Transform) (right column).
  • J_Sec_L_Bust2 / (right column) Add Component / Dynamic Bone / drag J_Sec_L_Bust2 (left column) into Root: None (Transform) (right column).
  • J_Sec_R_Bust2 / (right column) Add Component / Dynamic Bone / drag J_Sec_R_Bust2 (left column) into Root: None (Transform) (right column).

Go through and adjust the sliders for preference.

There are three buttons useful for you here to see your model moving. On the top right there is the former three buttons: a Hand symbol (move you as camera) / the Move tool (edit things) / the Rotate Tool (twist your model around).

For an easy edit, this video set their sliders to:

  • Dampening: 0.22
  • Elasticity: 0.143
  • Stiffness: 0.137
  • Inert: 0.032

For a more advanced edit, this video has an indepth explanation about how breast physics works and why you are editing things:

Breasts:

This gives the breasts a line to rotate from:

  • Breast_L (left column) / (right column) End Offset: 0 / 0.12 / 0.
  • J_Sec_L_Bust2 (left column) / (right column) End Offset: 0 / 0.12 / 0.
  • Breast_R (left column) / (right column) End Offset: 0 / 0.12 / 0.
  • J_Sec_R_Bust2 (left column) / (right column) End Offset: 0 / 0.12 / 0.

Chest:

  • Chest (left column) / (right column) Add Component / Dynamic Bone:
    • Dampening (Force / Subtle – slows down the bounce): 0.075
    • Elasticity (Bounce / Pull – gives bounce): 0.037
    • Stiffness (Gravity / Stop point): 0.1
    • Inert (example: Stops movement with running – but not when turning): 0.861

This means your breasts will seem more ‘attached to the body’ when you move by creating a sharp cutoff point for the physics within the chest bone:

  • Elasticity: 1.
  • Elasticity Distrib / click into the box / Curved line (far right).
  • Replicate the picture.
    • Drag the (left side) dot to 0.2 / drag the (right side) dot to 0.0.
    • Double click on the line at 0.45 / twist the line with the little white dots to make horizontally straight / drag the dot up to 0.2 – to make the first half a straight line.
    • Double click on the line at about 0.6 / twist the line with the little white dots to make horizontally straight / drag 0.6 dot to 0.45 then down to 0.0 – to make three straight lines.
VRChat Breast Physics Elasticity Distrib

Breasts:

This means your breasts will move with their own exclusive physics, not in relation to your shoulders or neck:

  • Breast_L (left column) / Exclusions (right column bottom) / Size: 3 / drag Left Shoulder (left column) into Root: None (Transform) (right column).
  • Breast_L (left column) / Exclusions (right column bottom) / Size: 3 / drag Neck (left column) into Root: None (Transform) (right column).
  • Breast_L (left column) / Exclusions (right column bottom) / Size: 3 / drag Right Shoulder (left column) into Root: None (Transform) (right column).
  • Breast_R (left column) / Exclusions (right column bottom) / Size: 3 / drag Left Shoulder (left column) into Root: None (Transform) (right column).
  • Breast_R (left column) / Exclusions (right column bottom) / Size: 3 / drag Neck (left column) into Root: None (Transform) (right column).
  • Breast_R (left column) / Exclusions (right column bottom) / Size: 3 / drag Right Shoulder (left column) into Root: None (Transform) (right column).
  • J_Sec_L_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Left Shoulder (left column) into Root: None (Transform) (right column).
  • J_Sec_L_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Neck (left column) into Root: None (Transform) (right column).
  • J_Sec_L_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Right Shoulder (left column) into Root: None (Transform) (right column).
  • J_Sec_R_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Left Shoulder (left column) into Root: None (Transform) (right column).
  • J_Sec_R_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Neck (left column) into Root: None (Transform) (right column).
  • J_Sec_R_Bust2 (left column) / Exclusions (right column bottom) / Size: 3 / drag Right Shoulder (left column) into Root: None (Transform) (right column).

Step 10: Extras for Importing VRM to VRChat

  • * When downloading from the Store, I got the blank Login screen error. The AppImage had no issue for me, so I recommend that, but the Store could have updated since and be functioning just as well. Feel free to test it and see if the error is present for you.

Extra help videos

… leave Importing VRM to VRChat Guide: 10 Steps including Dynamic Bones, Breast Physics, Extra Outfits, Expressions and Linux