ShiVa character workflow with Fuse and Mixamo – ShiVa Engine

ShiVa character workflow with Fuse and Mixamo

Learn how to create characters with FUSE, upload them to Mixamo to get rigged automatically, choose animations from a sizeable library, import the files into ShiVa and combine all animations into a single AnimBank. This works of course with your own characters too!

Tutorial Video

Using a Character Creator

All humanoid characters are constructed quite similarly, with heads, torsos, limbs, and clothes, so in order to save development time, we will use a character creator tool as a base. There are several to choose from, like MakeHuman, or Fuse, which are both free.

There are 2 ways to get Fuse. If you are an Adobe Creative Cloud customer, you can choose it right from your CC Launcher. However, I suspect that not every developer has an Adobe Creative Cloud subscription. Luckily, there is an old version of the software available for free on Steam. Development on this version seems to have stopped around the time that Mixamo was acquired by Adobe in 2015. Apart from the upload button to the now-defunct Mixamo Company website, the tool still works fine though and even sports a few extra features compared to the CC variant.

Like in the CC version, you can change proportions, textures, colors, etc., before uploading your work to Mixamo. Since the upload button does not work any more, you have to export your character as an OBJ file. All your textures will be saved in separate files, which makes it easy to recreate the materials in ShiVa later. The exported OBJ has all its body parts in separate meshes, which is very helpful for assigning materials, however it is not rigged, meaning it has no skeleton that is assigned to the mesh.

Mixamo animations

Log into the Mixamo website with your Adobe ID. If you don’t have one, create one. The Mixamo service itself is free. Once the website has loaded, you need to upload your OBJ, after which you will be taken to the auto rigger tool, where you drag markers for the most important joints onto your mesh.

Once the rigger has finished, take a good look at the critical sections of the mesh, like elbows, the neck, feet and armpits for distortions. If you made a mistake and your mesh gets distorted too much, just re-upload your character again and change the position of the markers.

Once you are satisfied with your rig, you can choose an animation from the panel on the left. Most of these animations can be customized for speed, number of frames, position of arms and legs, as well as overall amplitude. When you are finished customizing an animation, you can export it to FBX. Every animation must be exported separately. ShiVa assumes an animation framerate of 60 fps, but 30 will work too if you want to save some space. Since we do not have a rigged base mesh, you need to export the whole model, complete with its skin.

ShiVa import and cleanup

I like to create a project for every animated character I am going to import. Not a project for every animation, but one that bundles a character with its materials and animations.

Depending on whether you use ShiVa 1.9.2 or 2.0, the file import procedure is a bit different. ShiVa 1.9.2 only takes DAE files, so you have to convert them using a 3rd party tool like Ultimate Unwrap 3D or the Autodesk FBX Converter. ShiVa 2.0 has custom modules on the ShiVa Store which allow for both FBX and DAE batch importing.In any case, the model will

At this point, your model has lost all its texture and material associations, so as the next step, you need to re-create them. Import all the textures first. The normal maps have to be flipped in the green channel, otherwise you will get seams and unwanted shading artifacts. Next, create clean materials for all your sub meshes. You could technically use the materials that were imported, but I always prefer working from a clean slate. You only have to do this once per character – all other animations will share the same mesh and materials.

Assign all the textures to their respective slots. Change the lighting over to Per-Pixel and adjust the color and shininess to your liking. Since we are dealing with fabric and skin, a very low shininess value looks best. Pay special attention to transparent materials like hair. In order for them to render correctly, you will have to change the depth parameters. Make sure they also look correct if other materials are in front and behind them. If changing the depth parameter is not enough, try changing the material priority as well.

Your model is now set up correctly, and you can import the rest of the animations as models. Keep the scaling factor identical to your first import, and everything else should fit. You need to combine your animations into a single model with 1 AnimBank. Drag all the AnimClips from our imported models into a new AnimBank. As a last step, you have to assingn the new AnimBank to our model. Remove the old AnimBank from every single animated submesh by removing the Animation Controller, then add a new one, targeting the new AnimBank.