Skip to main content

Character Mod

You can import any character model into Warudo as long as they can be imported into Unity! This includes FBX models or VRChat avatars. Even if you are using a VRM model, there are still benefits to creating a character mod, such as adding custom shaders or better physics components such as Dynamic Bone and Magica Cloth.

Setup

Step 1: Prepare Model

First, import the character model into the modding project. It should be a humanoid model with an Animator component. If your model does not have an Animator component, go to the model import settings and set Animation Type to Humanoid, then click Apply.

If you are using a FBX model, make sure R/W Enabled is checked in the model import settings.

Step 2: Setup Character

Place your character in the scene and select it. Select Warudo → Setup Character... in the menu bar. In the Setup Character window, select Setup selected GameObject as character mod:

You should see a prefab named Character is generated in the mod folder:

tip

If you notice the character's bones become twisted, please refer to the Normalizing Bones section.

Step 3: Export Mod

Select Warudo → Build Mod and make sure the generated .warudo file is put into the Characters data folder.

Scaling

You can scale the character in Warudo by using the Character → Transform → Scale property. However, this may break features such as ragdoll, IK, and compatibility with some motion capture systems (e.g., Leap Motion). If you need to scale the character, we recommend to scale the character in the 3D modeling software instead, i.e., before you have imported the model into Unity or Warudo.

Third-Party Components

Warudo includes some third-party components that you can use in your character mod. Here are some commonly used components:

Note that you need to import the corresponding Unity packages for Dynamic Bone and Magica Cloth, as they are not included in Warudo SDK.

Since Warudo allows you to package C# scripts into your mod, you can also use other third-party Unity components! However, please note the limitations described in the Custom C# Scripts section.

Animations

You may want to add custom animations to your character, such as changing hair color or flapping wings. Depending on the nature of your animation, you can use one of the following methods:

  • Animation controls human bones only: Create a character animation mod and play using any character animation nodes in Warudo or Character → Overlaying Animations.
  • Animation controls material properties: Use Warudo's character expression system (Character → Expressions).
  • Animation controls non-bone transforms: Add an Animator Controller to the Animator component, and use Feline's Animator Parameter Setter Nodes to access the Animator Controller.
info

If you are reusing a VRChat model, you can also just use the Animator Controller that comes with the model. However, the first 2 methods integrate better with Warudo's motion capture and animation system, thus are recommended.

Normalizing Bones

Bone normalization refers to the process of ensuring the bones in a model have zero rotation in the T-pose. You can check if a model has normalized bones by importing it into Unity and checking 1. if the model is in the T-pose, and 2. if all bone transforms have (0, 0, 0) rotation before you use Warudo SDK to set up the character. The Setup Character window will also warn you if the model does not have normalized bones:

If after the character setup, your character's bones become twisted, it is likely that the model did not have normalized bones, and Warudo SDK failed to automatically normalize the bones without breaking the model. In this case, you will need to manually normalize the bones before importing the FBX model into Unity.

There are many ways to normalize bones in modeling tools such as Blender or Maya; however, the most tried-and-tested way is creating a VRM model from the FBX model, and then importing the VRM model into Unity. Since VRM models are guaranteed to have normalized bones, you can be sure that the bones will not be twisted after setting up the character using Warudo SDK.

If you are a Blender user and looking to manually normalize the bones, you can use the Set Rest Pose option from Cats. When you export the FBX, you should use the below settings:

Credit: @Kana_Fuyuko

Blender's built-in FBX exporter is known to have issues with not exporting the correct bone rotations, so if that didn't work for you, you can try using a third-party add-on such as Better FBX Importer & Exporter or Cats to export the FBX model.

Contributions

Edit on Github

Authors

Last updated on 2024.06.15