3d asset pipeline non artists

Guide for 3d asset pipeline non artists

3D Asset Pipeline for Non-Artists

Zero 3D Experience Required - For Software Engineers

Your Advantage: You think in systems, pipelines, and automation.
Your Challenge: You've never touched Blender and don't want to.
Solution: Treat 3D like a DevOps problem - use existing assets + automated tools.

šŸŽÆ Your Situation

  • āœ… 2D covered (Gemini AI Pro + Antigravity for icons/sprites)
  • āŒ 3D is the problem
  • āœ… Full-stack engineer mindset
  • āŒ Zero 3D modeling skills
  • āŒ Don't want to learn Blender
Strategy: Use 100% pre-made/AI-generated 3D assets with minimal manual intervention.

šŸš€ The No-Experience 3D Pipeline

Phase 1: Free Asset Packs (90% Solution) - Week 1

These are literally drag-and-drop into Bevy:

šŸ† Top Pick: Quaternius (Best for your needs)

  • URL: https://quaternius.com/packs.html
  • License: CC0 (completely free, no attribution)
  • Why perfect for you:
    • āœ… Already rigged and animated
    • āœ… GLB/GLTF format (Bevy-ready)
    • āœ… Consistent low-poly style
    • āœ… Just download → drag to assets folder → done
What to Download:
  1. "Ultimate Modular Characters"
    • Your player, NPCs, enemies
    • Mix-and-match parts (no modeling needed)
    • Includes walk, idle, attack animations
    • Action: Download, extract to assets/models/characters/
  2. "Ultimate Fantasy Weapons"
    • Swords, axes, bows for your game
    • Action: Download, pick 5-10 weapons
  3. "Ultimate Low Poly Dungeon"
    • Buildings, props, furniture
    • Use for furnaces, anvils, shops
    • Action: Download, cherry-pick what you need
  4. "Ultimate Nature"
    • Trees, rocks, plants
    • Your environment solved
    • Action: Download entire pack
Week 1 Checklist:
cd ~/Downloads
# Download packs from quaternius.com
mkdir -p ~/Documents/loh/loh-game/assets/models/{characters,props,environment}
# Extract and copy GLB files to respective folders
Estimated Time: 2-3 hours to download, organize, and test one asset in Bevy

Alternative: Kenney.nl (Also great)

  • URL: https://kenney.nl/assets
  • Similar to Quaternius but more variety
  • Download: "City Kit", "Racing Kit", "Platformer Kit"
  • Use for buildings and environment props

Phase 2: AI-Generated 3D (For Custom Needs) - Week 2

Since you're not learning Blender, use AI to generate 3D models from text/images:
Workflow (5 minutes per model):
1. Go to meshy.ai
2. Text-to-3D tab
3. Type: "low poly furnace, game asset, simple geometric, stylized"
4. Click Generate (wait 2 minutes)
5. Download as GLB
6. Drop in Bevy → done
What to Generate with Meshy:
  • Furnace (skill interaction)
  • Anvil (skill interaction)
  • Cooking range (skill interaction)
  • Farm patch (skill interaction)
  • Any custom prop you need
Pro Tips for Meshy:
Good prompts:
āœ… "low poly medieval anvil, game asset, simple"
āœ… "fantasy furnace, stylized, game prop, geometric"
āœ… "fishing spot, low poly water, game environment"

Bad prompts:
āŒ "realistic anvil" (too detailed)
āŒ "anvil" (too vague)
āŒ "photorealistic furnace" (not game-ready)
Meshy Free Tier Strategy:
  • 200 credits = ~20 models
  • Use for custom props Quaternius doesn't have
  • Generate several variations, pick best
  • Re-generate if needed (it's free)

šŸ¤– Option B: Rodin AI


šŸ¤– Option C: CSM.ai (Image-to-3D)

  • URL: https://www.csm.ai
  • Upload reference image → get 3D model
  • Good if you have specific reference images
Workflow:
1. Use Gemini to generate reference image of Indian temple anvil
2. Upload to CSM.ai
3. Get 3D model
4. Download GLB

Phase 3: Blender Automation (If you must) - Week 3-4

If you need to modify something, here's the minimal Blender knowledge:

Install Blender (5 minutes)

# Ubuntu/Debian
sudo snap install blender --classic

Only Learn These 5 Operations:

  1. Import Model
    File → Import → glTF 2.0 (.glb)
  2. Scale/Move
    Press S (scale), type number, Enter
    Press G (move), drag mouse, click
  3. Change Color
    Select object → Material Properties tab → Base Color
  4. Export
    File → Export → glTF 2.0 (.glb)
    Check: "Apply Modifiers", "Export Materials"
  5. Simple Modifications via Add-ons
    Install "Easy Assets" add-on
    One-click to batch process models
That's it. You don't need to model, just modify existing assets.

Blender Automation Script (Optional)

Since you're a software engineer, automate repetitive Blender tasks:
# batch_export.py - Run in Blender's scripting tab
import bpy
import os

# Auto-export all objects as separate GLB files
for obj in bpy.data.objects:
    if obj.type == 'MESH':
        # Select only this object
        bpy.ops.object.select_all(action='DESELECT')
        obj.select_set(True)
        
        # Export
        filepath = f"/path/to/output/{obj.name}.glb"
        bpy.ops.export_scene.gltf(filepath=filepath, use_selection=True)

print("Batch export complete!")
Run from command line:
blender -b scene.blend --python batch_export.py

Phase 4: Mixamo (Free Character Animation) - Week 2

For character animations without touching Blender:

Mixamo Workflow (10 minutes per character)

  1. Go to https://www.mixamo.com (free Adobe account)
  2. Upload character model (.fbx or .obj)
  3. Auto-rig with one click (AI does it)
  4. Pick animations: Idle, Walk, Run, Attack
  5. Download with "In Place" option
  6. Convert FBX to GLB using online converter
  7. Drop in Bevy
Pre-rigged Character Sources:
  • Quaternius models already rigged → skip Mixamo
  • If using Meshy-generated character → use Mixamo
Animations Needed for Vertical Slice:
  • Idle (standing, slight breathing)
  • Walk (movement)
  • Gather (mining, woodcutting, fishing)
  • Attack (combat)

šŸ› ļø Your 3D Toolchain (Software Engineer Edition)

Required Tools (All Free)

1. Quaternius Asset Packs → Pre-made models
2. Meshy.ai (Free tier) → AI 3D generation  
3. Mixamo (Free) → Character rigging/animation
4. Blender (Optional) → Minor tweaks only
5. Bevy Asset Server → Asset loading

Optional Tools

6. https://products.aspose.app/3d/conversion → FBX to GLB converter
7. https://gltf.report → Validate GLB files
8. https://threejs.org/editor/ → Preview 3D models in browser

loh-game/assets/
ā”œā”€ā”€ models/
│   ā”œā”€ā”€ characters/
│   │   ā”œā”€ā”€ quaternius/
│   │   │   ā”œā”€ā”€ warrior_idle.glb
│   │   │   ā”œā”€ā”€ warrior_walk.glb
│   │   │   └── warrior_attack.glb
│   │   └── custom/
│   │       └── player_character.glb
│   ā”œā”€ā”€ props/
│   │   ā”œā”€ā”€ quaternius/
│   │   │   └── lantern.glb
│   │   └── meshy/
│   │       ā”œā”€ā”€ furnace.glb
│   │       ā”œā”€ā”€ anvil.glb
│   │       └── cooking_range.glb
│   └── environment/
│       ā”œā”€ā”€ quaternius_nature/
│       │   ā”œā”€ā”€ tree_oak.glb
│       │   └── rock_01.glb
│       └── tiles/
│           └── grass_tile.glb
└── scripts/
    └── asset_pipeline/
        ā”œā”€ā”€ validate_gltf.sh
        └── batch_convert.py

šŸŽÆ Your 7-Day 3D Asset Sprint

Day 1: Setup & Download (2 hours)

# Download Quaternius packs
curl -O https://quaternius.com/assets/ultimate-modular-characters.zip
curl -O https://quaternius.com/assets/ultimate-nature.zip
# Extract to assets folder
unzip ultimate-*.zip -d ~/Documents/loh/loh-game/assets/models/

Day 2: Test in Bevy (3 hours)

// Test asset loading
fn setup(
    mut commands: Commands,
    asset_server: Res<AssetServer>,
) {
    let model = asset_server.load("models/characters/quaternius/warrior.glb#Scene0");
    commands.spawn(SceneBundle {
        scene: model,
        ..default()
    });
}

Day 3-4: AI Generation (4 hours)

  • Generate 5 custom props with Meshy
  • Test each in Bevy
  • Keep what works, regenerate if needed

Day 5: Character Setup (3 hours)

  • Pick Quaternius character
  • Test walk/idle animations
  • Create 3 color variants (player, guard, enemy)

Day 6: Environment (2 hours)

  • Place Quaternius trees/rocks
  • Test scene composition
  • Adjust lighting

Day 7: Polish (2 hours)

  • Fix any import issues
  • Validate all GLTFs
  • Document asset sources
Total Time: ~18 hours over 7 days

🚨 Troubleshooting (Common Issues)

"Model imports but is all black"

// Add light to scene
commands.spawn(PointLightBundle {
    point_light: PointLight {
        intensity: 1500.0,
        ..default()
    },
    ..default()
});

"Model is huge/tiny"

// Scale in Bevy, not Blender
transform: Transform::from_scale(Vec3::splat(0.1)), // or 10.0

"Animations don't play"

// Load animation specifically
let animation = asset_server.load("model.glb#Animation0");

"Textures missing"

  • Use GLB not GLTF (GLB embeds textures)
  • Ensure texture files are in same folder
  • Check gltf.report for validation

šŸ’° Cost Breakdown

  • Quaternius packs: $0
  • Kenney packs: $0
  • Meshy.ai free tier: $0 (200 credits)
  • Mixamo: $0
  • Total: $0
  • Meshy.ai Pro: $16/month (unlimited generations)
  • Fiverr character commission: $50-100 (one-time)
  • Total: $50-116
Recommendation: Start with free tier, upgrade only if you hit limits.

šŸŽÆ Minimum Viable 3D Assets (Vertical Slice)

Must Have (Can't demo without):

  1. āœ… Player character (Quaternius warrior)
  2. āœ… 1 NPC (Quaternius character, recolored)
  3. āœ… 1 Enemy (Quaternius character, different color)
  4. āœ… 3 Skill props (Meshy: furnace, anvil, fishing spot)
  5. āœ… Ground tile (Quaternius or simple plane)
  6. āœ… 3 Trees (Quaternius nature pack)
  7. āœ… 2 Rocks (Quaternius nature pack)
All available from free sources above.

šŸ”§ Bevy Integration Helpers

Asset Loading Helper

// assets/scripts/asset_loader.rs
pub struct AssetPack {
    pub characters: HashMap<String, Handle<Scene>>,
    pub props: HashMap<String, Handle<Scene>>,
    pub environment: HashMap<String, Handle<Scene>>,
}

impl AssetPack {
    pub fn load_all(asset_server: &AssetServer) -> Self {
        let mut pack = AssetPack::default();
        
        // Load characters
        pack.characters.insert(
            "warrior".into(),
            asset_server.load("models/characters/quaternius/warrior.glb#Scene0")
        );
        
        // Load props
        pack.props.insert(
            "furnace".into(),
            asset_server.load("models/props/meshy/furnace.glb#Scene0")
        );
        
        pack
    }
}

GLTF Validation Script

# scripts/validate_gltf.py
import os
import json
import glob

def validate_gltf(filepath):
    """Check if GLTF has required fields"""
    with open(filepath) as f:
        data = json.load(f)
    
    if 'scenes' not in data:
        print(f"āŒ {filepath}: No scenes!")
        return False
    
    print(f"āœ… {filepath}: Valid")
    return True

for gltf in glob.glob("assets/**/*.gltf", recursive=True):
    validate_gltf(gltf)

āœ… Next Actions (Start Today)

  1. Download Quaternius "Ultimate Modular Characters" (15 min)
  2. Test one character in Bevy (30 min)
    let model = asset_server.load("models/characters/warrior.glb#Scene0");
  3. Sign up for Meshy.ai free tier (5 min)
    • Generate your first prop (furnace)
  4. Create asset manifest (15 min)
    # 3D Assets TODO
    - [x] Player character (Quaternius warrior)
    - [ ] Guard NPC (Quaternius, recolor)
    - [ ] Furnace (Meshy AI)
    - [ ] Anvil (Meshy AI)
    ...
Total time today: ~1 hour to have your first 3D asset in-game

šŸŽ“ Learning Resources (Optional)

If you want to learn just enough Blender:
  • "Blender Guru - Donut Tutorial Part 1" (1 hour)
    • Learn interface basics
    • Skip modeling parts
    • Focus on import/export only
Understanding GLTF:

šŸ’” Pro Tips for Software Engineers

  1. Version Control 3D Assets
    # Use Git LFS for large files
    git lfs track "*.glb"
    git lfs track "*.png"
  2. Automate Asset Pipeline
    # Create Makefile for asset processing
    # make assets → auto-convert, validate, copy
  3. Asset Loading as Code
    // assets/manifest.toml (parse at startup)
    [characters]
    player = "models/characters/warrior.glb#Scene0"
    guard = "models/characters/guard.glb#Scene0"
  4. CI/CD for Assets
    • GitHub Action to validate all GLB files
    • Auto-check file sizes (warn if >5MB)
    • Lint asset folder structure

šŸŽÆ TL;DR - Your 3D Pipeline

2D Assets: āœ… Gemini AI Pro + Antigravity (covered)

3D Assets:
ā”œā”€ Characters → Quaternius (free, rigged, animated)
ā”œā”€ Environment → Quaternius Nature pack (free)
ā”œā”€ Custom Props → Meshy.ai (free tier, AI generation)
└─ Animations → Included with Quaternius OR Mixamo (free)

Total Cost: $0
Total Learning: 2-3 hours (Bevy integration)
Total Blender: 0 hours required
You'll have a complete 3D vertical slice without touching 3D modeling software.

Want me to:
  1. Generate Meshy.ai prompts for your specific props?
  2. Create the Bevy asset loading code?
  3. Set up the automated validation pipeline?
  4. Generate a detailed asset manifest for your game?