Make sure to save after each step inside Blender.

Download Blender Addons

  1. Download the Mixamo Blender Add-on. Then, inside Blender, navigate Edit > Preferences, then in the Preferences window click Add-ons on the left, then the Install button at the top. In the Blender File View, navigate to where you downloaded the Mixamo Blender Addon, and double click it (or click Install Add-on). Afterwards, enable the add-on.

    Navigating Edit > Preferences.

    Navigating Edit > Preferences.

    Navigating Add-ons > Install > 30377-artwork-mixamo_rig.zip > Install Add-on.

    Navigating Add-ons > Install > 30377-artwork-mixamo_rig.zip > Install Add-on.

  2. Enable the Community Addon named Interface: 3D Viewport Pie Menus. To do so, navigate: Edit > Preferences, then in the Preferences window click Add-ons on the left, then the Community tab at the top, and type interface in the search bar. Click the checkmark next to the first search result and close the Preferences window.

    Navigating Add-ons > Community > interface > Checkbox.

    Navigating Add-ons > Community > interface > Checkbox.

  3. Get Game Rig Tools. Download the version that matches your Blender version.

Initial cleaning of the unrigged character

  1. Create a t-posing, textured, character in Blender. Save the file inside GoogleDrive\Ettare\GameAssets\Raw\Characters as charactername_raw.blend. Pack all of the data into the .blend file by clicking File, then External Data, then Automatically Pack Into .blend.

    tutorial_packing.png

  2. Copy charactername_raw.blend into GoogleDrive\Ettare\GameAssets\Clean\Characters\Unrigged. Rename the copy to charactername_unrigged.blend. Rename any packed textures appropriately, e.g., charactername_body_texture.png and charactername_head_texture.png. Rename any the data blocks appropriately, e.g., Character, mesh, body_material, head_material.

  3. Open charactername_unrigged.blend in Blender.

  4. Inside the Outliner (top-right area by default), delete every Object except for the the Character Object (which holds the character_mesh and character_material data blocks).

    This is roughly what the Outliner should look like initially. It shows three Objects: the Camera, Character, and Light. The only Object that is needed is the Character Object (along with it’s mesh data block and material data blocks).

    This is roughly what the Outliner should look like initially. It shows three Objects: the Camera, Character, and Light. The only Object that is needed is the Character Object (along with it’s mesh data block and material data blocks).

    The Outliner should look like this once finished.

    The Outliner should look like this once finished.

  5. With your Character selected, press and hold down the Ctrl+Alt+x keys to open up the Origin Pie (note: if using a laptop or older keyboard, Ctrl+Alt+x may not work, in which case you will need to edit the keybinding through preferences). With those keys held down, drag your mouse down to select the bottom option Origin to Bottom, then release the keys. This sets the Pivot Point of your Character to the bottom.

    Setting the Object Origin (aka the Pivot Point) to the bottom using the  Origin Pie (from the Interface: 3D Viewport Pie Menus plugin).

    Setting the Object Origin (aka the Pivot Point) to the bottom using the Ctrl+Alt+x Origin Pie (from the Interface: 3D Viewport Pie Menus plugin).

  6. Reset the Character Object’s Transform Location coordinate by numerically replacing each of the current X, Y, Z Location values with 0 inside the Transform panel of the Sidebar region (bottom-right by default). (Center the Character at the world space origin.)

  7. Rotate the Character Object so that it is facing the -Y direction. The character can be rotated by numerically editing the current X, Y, Z Rotation values inside the Transform panel of the Sidebar region. (Rotate the character to face the -Y direction.)

    When the Orbit Gizmo looks like this, the character should be directly looking at you.

    When the Orbit Gizmo looks like this, the character should be directly looking at you.

  8. Use the Measuring Tool to check the proportions of your model to make sure that it is properly scaled. If it is not properly scaled, edit the current X, Y, Z Scaling values inside the Transform panel of the Sidebar region until it is.

    Use the Measuring Tool (to access the toolbar on the left, press ) to measure the size of your model to make sure that it is correctly scaled. If not, edit the Transform Scale until it is. This model is about 1.9m tall, which was our intention.

    Use the Measuring Tool (to access the toolbar on the left, press t) to measure the size of your model to make sure that it is correctly scaled. If not, edit the Transform Scale until it is. This model is about 1.9m tall, which was our intention.

  9. With your Character selected, press and hold down the CTRL+A keys to open up the Apply Transformations Pie. With those keys held down, drag your mouse to the right to select the right option Apply All, then release the keys. This applies all the Transformations you did in the last three steps. Save your work so far.

    Applying all transformations using the  Apply Transform Pie (from the Interface: 3D Viewport Pie Menus plugin).

    Applying all transformations using the Alt+A Apply Transform Pie (from the Interface: 3D Viewport Pie Menus plugin).

    After applying transforms, the Transforms panel in the Sidebar should look like this.

    After applying transforms, the Transforms panel in the Sidebar should look like this.

    1. Begin exporting the Character as a .obj file by clicking File, then Export, then Wavefront (.obj). Use the default settings, except make sure to checkmark all three Objects As settings. Save the file as charactername_unrigged.obj inside GoogleDrive/Ettare/GameAssets/Clean/Characters/Unrigged.

    Rigging the character with Mixamo

    1. Upload the charactername_unrigged.fbx file to Mixamo, and follow the instructions on the Auto-Rigger to create a rig for your model. Make sure to set the Skeleton LOD correctly, that is, depending on the hands.

    2. Select an idle animation for your character from Mixamo. Click Download. In the the Download Settings popup window, make sure you’ve selected FBX Binary(.fbx), With Skin, 30, none. Save the file as charactername_idle.fbx inside GoogleDrive/Ettare/GameAssets/Clean/Characters/Rigged.

      mixamo_download_settings1.png

    3. Copy the charactername_unrigged.blend file into GoogleDrive/Ettare/GameAssets/Clean/Characters/Rigged. Rename the copy to charactername_rigged.blend. Close all instances of Blender, and double click on charactername_rigged.blend to open a fresh instance.

    4. Import charactername_idle.fbx.

    5. Delete the old Character Object. Delete the Character_mesh Object (not parented to Armature Object). Set the Armature Object’s scale to (1, 1, 1). Use the measuring tool to make sure the scale is correct. Put the Armature Object inside the Character Collection. You should see new Mesh Objects appear, one for each material. Select each of these new Mesh Objects, and go to edit the Material Properties in the sidebar to give them their correct materials. Next, check each of these Mesh Object’s UV maps inside the Object Data Properties in the sidebar; rename each one to UV_combined. Next, select all of the Mesh Objects together, and press Ctrl+J to join them. Rename all your objects and data blocks, by the end, the Outliner should look something like this:

      rig-cleanup.png

    6. Save the project. Export as fbx, using default settings (except uncheck Use Space Transform. Upload the fbx to mixamo, it should work nicely. Download all the animations you need in GoogleDrive/Ettare/GameAssets/Clean/Characters/Animated, making sure to check In Place and using the settings below:

      mixamo_download_settings2.png

    Adding Animations + Control Rig using Mixamo + Mixamo Blender Addon

    1. Copy the charactername_rigged.blend file into GoogleDrive/Ettare/GameAssets/Clean/Characters/Animated. Rename the copy to charactername_animated.blend. Close all instances of blender, and double click on charactername_animated.blend to open a fresh instance.
    2. Use the Mixamo Blender Addon to create a control rig for your Character (select your character, press n to open the side tab, click the Mixamo tab, and click Create Control Rig.) Edit the armature so that it’s transform location, rotation, and scale are (0,0,0), (0,0,0), and (1,1,1). Next, do the same for the character’s mesh object
    3. Import the animated skeletons that you downloaded in step 6 of the previous section and apply them to your control rig. To do so, repeat the following steps for each animated mixamo skeleton:
      1. Import a single animated skeleton
      2. Click eyedropper under “source skeleton”
      3. click the skeleton of imported model
      4. click the control rig of Character that you made in step 2
      5. click apply animation to control rig
      6. delete the skeleton that you just downloaded
      7. in the Blender File outliner, switch view from View Layer to Blender File to delete all the unused Actions and rename the remaining (you can check which animations to keep through trial and error by replacing the Timeline at bottom with Dope Sheet view, then selecting Action Editor, then manually testing each).

    Using Game Rig Tools to create a Game Rig from the Mixamo Add-on Control Rig

    1. Select your original Character, open up Game Rig Tools Add-on by pressing n and then clicking the Game Rig Tools tab. Rename Armature to ControlRig. Select ControlRig and then Generate Game Rig. Use the name GameRig, and then click the blue OK button.
    2. Select your new GameRig, go into Pose Mode, make sure the Object Data Properties of your Game Rig is set to Pose Position, click Mute under Armature Constraint inside Game Rig Tools. Test your rig hierarchy by manually clicking each bone, pressing r, then rotating to see if it behaves as expected (press esc to stop rotating). If you get unexpected behavior, reparent bones until it behaves as expected.
    3. Maybe select your Control Rig, and click Bake Animations?

    Using Game Rig Tools to Bake Actions

    1. Rename your current actions (the one in the Control Rig) to prefix them with ctrl_
    2. Select your Character. Open Game Rig Tools (n → click Game Rig Tools). Under Action Bakery click Load All. Check all the ctrl_ Actions, and un-check all the non-ctrl_ actions. Under Control Rig reference the ControlRig, and under the Game Rig reference the GameRig. Make sure Overwrite and Push to NLAare unchecked.
    3. Under Global Bake Settings, switch Baked name mode to Replace, then in From: type ctrl_ and in To: type in gr_ (for game-ready, or game-rig).

    Export Settings, Import Settings

    1. Clean up Outliner (should have Control Rig, Game Rig). Export as FBXD

    2. follow pic below

      f8717915-56ac-40f8-b7b4-f874925ffb72.png

    3. In Armature panel, set the primary bone axis to wherever the root bone’s local Y axis points to. Set the secondary bone axis ****to wherever the the root bone’s local X axis points to.

    4. Drag and drop the model into Unity. Make sure import settings are reasonable (bake axis conversion should be checked). Drag the Fbx file into the Scene, position it’s transform appropriately. Attach an animator component. Create a new animation controller. Reference the animation controller. Duplicate the animations packed in the .fbx file (so you can edit them). Drag those duplicated animations into the animation controller. Build the state machine. Reference the animator component in code to drive the state machine.