Creating Custom Skins¶
In AeroBeat, "Skins" allow athletes to personalize their gameplay equipment. This guide covers creating custom Boxing Gloves, Flow Bats, Targets, and Obstacles.
🛠️ The Skins SDK¶
- SDK:
aerobeat-skins-*(Template:skins) - Tools: Godot 4.x Editor.
- Output: An
AeroSkinresource packed into a.pck.
🥊 Boxing Gloves¶
Gloves are the athlete's primary connection to the game. They must look good from the "First Person" perspective.
Technical Constraints¶
- Polycount: < 10k triangles per glove.
- Orientation: Fingers point Negative Z. Palm faces Negative Y (Down).
- Materials: Standard PBR. Avoid transparent materials for performance.
The Left/Right Rule¶
AeroBeat relies on color coding for gameplay.
- Left Hand: Must be predominantly Dark / Black.
- Right Hand: Must be predominantly Light / White.
- Why? Players instinctively match the glove color to the target color. If you make a "Red vs Blue" set, players might get confused hitting Black/White targets.
⚔️ Flow Bats¶
Bats are the primary tool for Flow Mode. They are used for wide, sweeping strikes that engage the core and shoulders.
Technical Constraints¶
- Polycount: < 10k triangles per bat.
- Orientation: Handle grip is centered at
(0,0,0). The blade extends along Negative Z (Forward). - Length: The visual mesh should be approximately 0.8m to 1.0m long.
The Left/Right Rule¶
Just like gloves, bats must follow the strict color coding: * Left Bat: Predominantly Dark / Black. * Right Bat: Predominantly Light / White.
🎯 Targets¶
Targets are the objects flying at the player.
Types¶
- Directional Target: Has a clear "Front" face. Used for punches.
- Omni Target: Symmetrical. Used for "Any Direction" hits.
- Obstacle: Walls or shapes to dodge.
Technical Constraints¶
- Polycount: < 2k triangles per target. (There can be 50+ on screen).
- Hitbox: You are creating the Visual Mesh. The game engine handles the physics collision. Your mesh should fit roughly within a 0.5m x 0.5m x 0.5m cube.
- Center Point: The mesh must be centered at
(0,0,0).
🚀 Workflow¶
Phase 1: Modeling & Texturing¶
- Create your assets in Blender/Maya.
- Export as
.glb(GLTF Binary). - Textures: Embed them or keep them in a relative folder.
Phase 2: Import to SDK¶
- Open the
aerobeat-skins-*project. - Drag your
.glbfiles into the FileSystem. - Double-click to open and verify materials.
Phase 3: Configuration¶
- Create Resource: Right-click -> New ->
AeroGloveorAeroTargetSkin. - Assign Mesh: Drag your imported mesh into the
mesh_visualslot. - Offset: Adjust position/rotation offset if the mesh doesn't align with the default hand bones.
Phase 4: Validation & Upload¶
- Create
AeroModManifest(Type:SKIN). - Open AeroBeat Uploader.
- Validate: Checks for polycounts and material errors or accidentally added scripts.
- Upload: Publish to the server.
🎨 Best Practices¶
- Readability: Targets move fast. Ensure the "Directional Arrow" or indicator on the target is high contrast.
- Silhouette: Unique shapes are great, but don't make them so complex that the hit direction is ambiguous.
- Glove Comfort: Remember the player sees the back of the glove 90% of the time. Put your best details there.