Avatar assets and templates for Mozilla Hubs
This contains some useful working files for editing avatars for Mozilla Hubs.
IMPORTANT: If you are cloning this repo, you MUST first install GitLFS or else many of the files will not work.
Depending on how involved you'd like to get in the avatar creation process, you might choose to simply 're-skin' the existing robot avatar by painting your own texture maps, or create your own fully custom 3D model.
Making your own custom avatar skin
A quick and easy way to create a custom avatar in Hubs is to create a custom skin using an image editor or texturing tool. We have a Getting Started Tutorial to help you create your first avatar skin.
You can use the following resources:
Quilt - A simple tool put together by the Hubs team for quickly re-skinning the default Hubs robot avatar.
The UV layout for the base robot avatar is purposefully symmetrical along the X (horizontal) axis. This makes it relatively easy to paint one half of the texture(s) and flip it to the other side. Some image editing applications such as Photoshop have built-in mirroring tools that allow you to paint both halves in real time.
The simplest version of re-skinning the robot avatar would be to simply paint a 'baseColor' map. However, because Hubs uses glTF standards it supports many of the map types associated with physically-based materials. The default avatar is currently using:
- Base Color
- Ambient Occlusion
- Roughness (black = glossy, white = rough)
- Metallic (black = non-metal, white = fully metallic)
NOTE: Ambient Occlusion, Roughness, and Metallic must be combined in one singular image with each texture occupying the Red, Green, and Blue channels respectively. This is sometimes referred to as an 'ORM' texture.
It is highly recommended that texture resolution be kept at 1024x1024 or below. This is mostly due to Hubs being a web-based application where large download times for bigger files can hurt performance, especially on mobile devices. All textures MUST be powers of 2 (64, 128, 256, 512, etc.)
Making your own custom avatar model
We offer the following resources if you'd like to modify our Robot avatar:
We recommend using Blender 2.8 beta for custom models since we have provided example files that you may use as a guide. (Typically, skeleton setup varies between modeling appications which can make importing/exporting skeletons a bit tricky due to unexpected changes in bone rotations, but it is still possible to use something other than Blender.) Note: the .blend files were created with Blender 2.8 beta due to the built-in glTF exporter. The glTF importer/exporter for Blender is currently in development. Expect some bugs and please report them!
Hubs avatars are meant for VR, which means that you should work in real world units. A typical avatar height is roughly 1.7 meters. Note: This is typically a 'standing height'. The lack of legs shown here is a part of that overall height.
Files with the suffix _base refer to the most barebones, basic robot avatar template that can be used as a reference when creating new avatar models. Typically, the Blender workflow would be to either 'Link' or 'Append' the objects from AvatarBot_base_for_export.blend in order to use the existing armature (skeleton) and any animations that go along with it, using them as a basis for your own model that you would attach to it.
The armature is based largely upon the same hierarchy and naming conventions of the skeleton provided by High Fidelity. This also happens to have a similar structure to VRChat in terms of bone orientations. However, in our current implementation in Hubs, we have eliminated some of the bones within the hierarchy, namely the lower body and arm joints since we are not using any sort of inverse kinematics (IK) at the moment. This may change in future iterations.
All assets are licensed with the Creative Commons Attribution-ShareAlike 4.0 International License.
Code is licensed with the Mozilla Public License 2.0.