Tutorial – Creating an Avatar for High Fidelity Using Maya
Want to make your own avatar in High Fidelity? This guide will walk through the steps on how I made my cloud avatar. It includes the following:
- Creating a cel shaded effect without a shader
- Using the proper rig for High Fidelity
- Importing an FBX into High Fidelity
- Basic information about hosting your avatar
- Some scripts that attach particles to the avatar
If you’d like an example of a similar avatar, you can find it here on the High Fidelity Marketplace.
My avatar consists of a storm cloud including rain particles, lightning, and a super unhappy face in an effort to mimic my IRL RBF. Here’s how I made mine, and how you can make your own in High Fidelity.
I imported this into Maya, and wanted to create a cel shaded effect. Since High Fidelity doesn’t currently support a toon shader, using two meshes on top of each other was essential to creating this effect. It involves turning on backface culling, extruding the mesh, flipping the normals, and applying different materials to each mesh. I followed this tutorial for Sketchfab in order to produce this effect without shaders, which resulted in this in Maya:
The left side shows two meshes on top of each other. This creates the cel shaded effect with flipped normals on one of the meshes. The right side shows the two meshes apart from each other for reference.
I added a plane in front of the cloud mesh, and added a transparent texture onto the plane to show a static face. In the future, I plan to animate it with a GIF or with blend shapes.
The face is a simple plane with a transparent PNG created in Illustrator. Since transparency is respected by the mesh, this was a simple solution for a non-animated face.
In order to import a rigged character into High Fidelity, it’s currently necessary to import a rig with joint associations. This means that even though I had no intention of binding the mesh onto the rig to animate it, I still need a rig with proper joints in order to import it into High Fidelity. So let’s take a look at adding a rig to the avatar.
You’ll need to download the rig from the High Fidelity documentation. This is a standardized skeleton without a mesh. The benefit of having this standard is that it works with Mixamo, enabling adding predefined animations to your avatar. Once you download this, you’ll have an FBX that includes only the rig.
Assuming you have your source file open (I used .mb) drop standard_hifi_skeleton.fbx into your Maya file, after making sure you have the FBX import plug-in enabled. At the end of this step, you will have something that looks like this:
The rig in Maya combined with the mesh in one file.
I decided for efficiency to not bind the mesh to the rig, not weight paint, and not animate the rig at this point. I will do these in the future, but I’m happy with it for now, and the lack of movement in the mesh is offset by the particles I’ve added to my cloud. So I export the character from Maya with the following settings:
Make sure ‘Embed Media’ is checked, and the ‘Scale Factor is 1.0.
Now let’s import it into High Fidelity to create an .fst.
Creating an .fst in High Fidelity:
||2. Select your FBX from your local computer||3. Review your joints, assign the directory you have your textures in, and export your .fst with source folder|
Note: In step 3 above, there are two options labeled ‘Texture Directory’ and ‘Script Directory.’ Use these to embed textures and scripts inside the .fst. You can do this by assigning the texture directory or dropping your textures into the folder manually.
Your result will include an .fst and the data folder that includes textures and scripts if the option is assigned:
In order to use your new avatar, you’ll need to store the files on a file server. I use AWS, but this could be your website hosting provider that you access via FTP with something like FileZilla. Somewhere external that results in access to the .fst through a URL.
Once you have the files hosted, obtain the URL of the .fst only.
In High Fidelity, open Settings > Avatar.
The ‘Appearance’ field is what we’re looking for. Paste the URL for the .fst here, save the changes, and if you were successful, your avatar will change into the character you developed in Maya.
As an addition, I added particles for the rain and the lightning. I’m not going to get into details of scripting in this blog, but I will include the scripts.
Each script attaches an avatar entity to the main avatar. Each entity is simply a particle effect. One automatically plays and results in raindrops. The other is shown on keypress – showing lightning when I press the ‘L’ key. These can be added in the import process outlined above.
That’s one way to make an avatar for High Fidelity. Feel free to reach out at firstname.lastname@example.org if you have any questions or feedback!
My next steps will include properly binding the mesh to the rig, animating a custom avatar, and blend shapes.