Creating Custom Avatars¶
Avatars in AeroBeat serve two critical roles:
- The Coach: In Dance Mode, they are the "Virtual Coach" that players mirror.
- The Athlete: In Multiplayer, this is how other players see You.
This guide covers how to rig, import, and configure custom 3D characters that look great in both scenarios.
🛠️ The Avatars SDK¶
- SDK:
aerobeat-avatars-*(Template:avatars) - Tools: Blender, Godot 4.x.
- Output: An
AeroAvatarresource packed into a.pck.
🦴 Technical Constraints¶
To ensure your avatar works with our animation system (and runs on mobile):
1. The Skeleton (Rig)¶
AeroBeat uses a standard Humanoid Skeleton.
- Bone Names: Must match standard naming conventions (e.g.,
Hips,Spine,Chest,Head,LeftShoulder,LeftUpperArm, etc.). - T-Pose: The model must be exported in a T-Pose.
- Root Motion: The root bone should be at
(0,0,0)on the floor.
Tip: We highly recommend using Mixamo or VRM compatible rigs. The SDK includes a "Retargeting Tool" to map common skeletons to the AeroBeat standard.
2. Geometry¶
- Polycount: < 20k triangles. (Mobile optimization).
- Meshes: Combine meshes where possible (e.g., Body + Clothes = 1 Mesh) to reduce draw calls.
- Scale: 1 Unit = 1 Meter. A standard character should be ~1.7m tall.
3. Materials¶
- Shaders: Standard PBR (
StandardMaterial3D). - Textures: Max 2048x2048.
- Transparency: Avoid alpha blending (hair/glasses) if possible, as it is expensive on mobile. Use "Alpha Scissor" instead.
🚀 Workflow¶
Phase 1: Modeling & Rigging¶
- Create your character in Blender/Maya/VRoid.
- Rig it to a Humanoid skeleton.
- Export as
.glb(GLTF Binary). Ensure "Export Deformation Bones Only" is checked if using Blender.
Phase 2: Import to SDK¶
- Open the
aerobeat-avatars-*project. - Drag your
.glbinto theassets/avatars/folder. - Double-click the file to open the Advanced Import Settings.
- Skeleton Map: Select the "Skeleton" profile (Godot Humanoid) to ensure bones are mapped correctly.
Phase 3: Configuration¶
- Create Resource: Right-click -> New ->
AeroAvatar. - Assign Scene: Drag your imported
.glb(which Godot treats as a scene) into theavatar_sceneslot. - Metadata: Set the
display_nameandheight_meters.
Phase 4: Validation & Upload¶
- Create
AeroModManifest(Type:AVATAR). - Open AeroBeat Uploader.
- Validate: The tool will check bone hierarchy and polycounts.
- Upload: Publish to the server.
🎨 Best Practices¶
- Readability: The player needs to see the limbs clearly to mimic them. Avoid baggy clothes that hide the elbows and knees.
- Contrast: Bright colors work best against the typically dark game environments.
- Multiplayer Performance: Since up to 4 avatars may be visible in a multiplayer lobby, keeping polycounts low (< 20k) is critical for mobile performance.
- Face: While facial animation is not currently supported in v1, a friendly static expression is better than a T-Pose stare!