Creating animated characters as a solo game developer traditionally requires 3D modeling skills, rigging expertise, and hours of manual work. After 11 years of programming and working on my own Godot 4 roguelike project, I’ve developed a streamlined workflow that leverages AI tools to go from concept to animated game character in under 30 minutes.
This tutorial covers my complete production pipeline: generating reference images with NanoBanana, creating optimized low-poly models with Meshy.ai v6, rigging with Mixamo’s auto-rigging system, and importing directly into Godot 4. By the end, you’ll have a fully animated character ready for your game.
Traditional character creation involves multiple specialized skills: concept art, 3D sculpting, retopology, UV mapping, texturing, rigging, weight painting, and animation. This workflow reduces that to a few focused steps while maintaining quality suitable for production games.
Key advantages:
Start by creating a T-pose reference image. The T-pose is critical because Mixamo’s auto-rigger expects this standard pose for accurate bone placement.
Why NanoBanana: Meshy.ai v6 includes integrated text-to-image generation using both nano-banana and nano-banana-pro models. These AI models create consistent, production-ready reference images optimized for 3D conversion.
Prompt example for a hobgoblin character:
hobgoblin character in T-pose, arms straight horizontal, legs slightly apart, front view, game character design, fantasy creature, detailed armor, standing straight
Important considerations:
Save this reference image—you’ll use it twice in the workflow.
Meshy.ai v6 introduced dedicated Low Poly Mode specifically designed for game developers, producing “clean, manual-quality wireframes” optimized for real-time performance.
What Low Poly Mode delivers: Meshy v6’s Low Poly Mode creates game-ready topology with “performance-first” geometry designed for games, VR, and AR applications. The generated mesh has cleaner edge flow than standard high-poly outputs, reducing manual cleanup.
Critical workflow step: Always remesh to your target poly count before generating textures to avoid wasting tokens on a model you’ll modify.
Why remesh first: Texturing uses tokens/credits in Meshy.ai. If you texture the initial generation and then remesh, you’ll need to texture again because remeshing changes the UV layout and geometry. By remeshing to 10k triangles first, you only spend tokens once on the final optimized model.
Why 10k triangles: This count balances visual quality with performance. For roguelikes and games with multiple on-screen characters, 10k keeps draw calls manageable while preserving silhouette detail. You can adjust based on your target platform—mobile games might go lower (5-7k), while PC-only titles can push higher (15-20k).
Now that your model is optimized to 10k triangles, use your tokens efficiently:
Why this order saves tokens: You’re only texturing once on the final optimized geometry. The v6 Preview model produces more detailed, style-consistent textures that better match your original concept art. This ensures your hobgoblin’s armor details, skin tone, and surface features align with your initial vision without wasting credits on intermediate steps.
Export configuration is critical for successful Mixamo import and later Godot integration:
Why these settings matter:
Download the FBX file—this is your master character model.
Mixamo’s free auto-rigging service creates a production-ready armature with proper bone weights in seconds.
Mixamo’s auto-rigger will prompt you to place joint markers:
Pro tip: Use symmetry mode if your model is symmetrical—place markers on one side and Mixamo mirrors them automatically, saving time.
Problem: Mixamo places bones incorrectly, especially for non-humanoid creatures like hobgoblins with unusual proportions.
Solution: You’ll need to export the rigged model and fix the armature in Blender:
This manual cleanup step is necessary for about 30% of AI-generated characters in my experience, particularly creatures with non-standard anatomy.
Once rigging is complete, Mixamo provides access to thousands of free animations. For game development, animation packs provide the most value.
The advantage of packs: Unlike individual animations, Mixamo allows you to download the entire animation pack in a single file, saving significant time.
Why “Without Skin”: You already have the rigged character model from the auto-rigging step. Downloading the pack without skin gives you a single FBX file containing all 15-20 animations that you’ll merge with your rigged model in Godot. This prevents mesh duplication and keeps the workflow efficient.
Godot 4.3+ has native FBX support, making the import process straightforward and fast.
res://assets/characters/hobgoblin/)Method 1: AnimationPlayer Copy (Recommended for beginners)
All animations are now part of your character’s AnimationPlayer and ready to use.
Method 2: AnimationLibrary Resource (Advanced)
For better organization, especially with multiple characters:
animation_player.play("creature_pack/Attack")This keeps different animation sources organized and prevents naming conflicts.
Select your character FBX in the FileSystem dock, then check the Import tab:
Click “Reimport” if you change any settings.
Create a simple test scene to verify everything works:
extends CharacterBody3D
@onready var animation_player = $HobgoblinRigged/AnimationPlayer
func _ready():
# Play idle animation on start
animation_player.play("Idle")
func _process(delta):
# Test animation switching
if Input.is_action_just_pressed("ui_accept"):
animation_player.play("Attack")
if Input.is_action_just_pressed("ui_right"):
animation_player.play("Run")
If your character appears too large or small:
For production use, replace simple play() calls with AnimationTree:
animation_tree.set("parameters/conditions/attacking", true) to trigger transitionsThis creates smooth blending between animations instead of abrupt cuts.
Cause: Armature names don’t match between rigged model and animation files, or skeleton paths are broken.
Solution:
Cause: Texture paths broke during import or textures weren’t properly embedded in FBX.
Solution:
Cause: Mixamo or Meshy export settings didn’t respect the 1m height setting.
Solution:
Cause: Poor automatic weight painting from Mixamo, especially around joints or for unusual creature anatomy.
Solution:
Cause: FPS mismatch between Mixamo export and Godot’s animation playback.
Solution:
At 10k triangles per character, you can comfortably render:
For roguelikes where dozens of enemies may be on-screen, 10k is a sweet spot. If performance issues arise, use Blender’s Decimate modifier to further reduce poly count to 5-7k for background characters.
Meshy.ai typically exports 2K (2048x2048) textures. Consider:
In Godot’s import settings for texture files:
For large numbers of on-screen characters, implement animation culling by checking visibility before processing animations. Use simpler animations for distant characters by switching to idle-only animations beyond 20 meters, disable AnimationTree blending for far characters, or consider static poses for characters beyond render distance.
For advanced optimization, create simplified skeletons with fewer bones for distant characters and swap between high-detail (50 bones) and low-detail (15 bones) rigs based on distance.
After using this pipeline for my roguelike project, I’ve reduced character creation time from days (traditional modeling + rigging) to under 30 minutes per character. The key advantages:
Rapid iteration: Test character designs quickly, get them in-game, evaluate gameplay feel in context
No specialized 3D skills required: Focus energy on game design, programming, and mechanics instead of learning Blender for months
Production-quality results: Despite AI generation, the output has proper topology, clean UVs, and functional rigging suitable for commercial games
Scalable workflow: Create dozens of enemy types, NPCs, and character variations efficiently without burning out
Free animation library: Mixamo’s thousands of free animations mean you’re not limited to a handful of idle/walk/attack loops
The main limitation is visual uniqueness—AI-generated characters can feel similar if you’re not careful. Combat this by:
For my roguelike, this workflow enabled creating 15+ unique enemy types in two weeks—something that would have taken months with traditional methods.
With animated characters in Godot, you can now:
The combination of Meshy.ai v6’s Low Poly Mode, Mixamo’s free animation library, and Godot 4’s improved FBX support creates a genuinely production-viable pipeline for indie developers. By optimizing your workflow (remeshing before texturing, using animation packs, direct FBX import), you can scale character creation to meet the demands of any project size.
Now go create your army of hobgoblins, zombies, and fantasy creatures—your roguelike awaits.