Agent skill

Blender Web Export Pipeline

by freshtechbro in freshtechbro/claudedesignskills

Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

MITAuto-check passedGame Development

Install Blender Web Export Pipeline

skills CLI
$ npx skills add freshtechbro/claudedesignskills --skill blender-web-pipeline -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install freshtechbro/claudedesignskills blender-web-pipeline --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/freshtechbro/claudedesignskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/blender-web-pipeline .claude/skills/blender-web-pipeline && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
blender-web-pipeline
GitHub stars
1k
Token cost
~4.2k tokens
SKILL.md length
586 words
Files
8 (incl. scripts, references, assets)
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

  • Works in 12 steps: Basic glTF Export (Manual) → Python Script for Batch Export → Optimize Model for Web (Decimation) → …
  • Exporting a Blender scene to glTF or GLB for a web app
  • SKILL.md covers Overview, Core Concepts, Common Patterns and Integration Patterns, plus 3 more sections
  • Runs Python scripts from its folder

What it does

The skill covers taking models out of Blender and into web-ready glTF 2.0, in either the JSON-plus-external-files .gltf form or the single-file .glb recommended for the web, chosen for its PBR material and animation support and wide library support in Three.js and Babylon.js. It works through the Blender Python API (bpy) to script exports rather than clicking through the UI each time.

Target metrics guide the optimization work: under 5 MB per model, ideally under 1 MB, fewer than 50k triangles for real-time use, textures capped at 2048x2048 (1024x1024 preferred) and texture atlases to cut draw calls, aiming for load times under 2 seconds on an average connection. Bundled scripts cover batch_export.py for exporting every .blend file in a directory from the command line, optimize_model.py for mesh decimation at a target ratio, and generate_lods.py for producing multiple levels of detail, alongside a bake-textures pattern for consolidating materials into web-sized texture maps.

Reference files back the scripts with a bpy API reference, a glTF export guide and optimization strategies, and the skill is meant to feed models into companion skills for Three.js, react-three-fiber and Babylon.js rendering.

When your agent uses it

  • Exporting a Blender scene to glTF or GLB for a web app
  • Reducing a 3D model's polygon count or texture size for real-time web rendering
  • Batch-converting many .blend files to web-ready models
  • Generating levels of detail for a web 3D asset

Example prompts

  • “Export this Blender scene to a web-optimized GLB under 1 MB.”
  • “Batch export every .blend file in ./models/source to glTF.”
  • “Generate three LOD levels for this character model for use in Three.js.”

Requirements

  • Blender with its Python API (bpy)
  • Python

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Basic glTF Export (Manual)
  2. Python Script for Batch Export
  3. Optimize Model for Web (Decimation)
  4. Texture Baking for Web
  5. Generate LOD (Level of Detail)
  6. Export with Texture Compression
  7. Command-Line Automation
  8. Geometry Optimization
  9. Texture Optimization
  10. Material Simplification
  11. Large File Sizes
  12. Missing Textures in Export

What it can do on your machine

Read from SKILL.md and the folder at commit 1da73fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blender Web Export Pipeline loads about 4.2k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 586 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from freshtechbro/claudedesignskills at commit 1da73fe, republished under its MIT licence (© freshtechbro). 586 words, ~4,189 tokens.

Download SKILL.mdSave it as .claude/skills/blender-web-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
blender-web-pipeline
description
Blender to web export workflows for 3D models and animations. Use this skill when exporting Blender models to glTF for web, optimizing 3D assets for Three.js or Babylon.js, batch processing models with Python scripts, automating Blender workflows, or creating web-ready 3D pipelines. Triggers on tasks involving Blender glTF export, bpy scripting, 3D asset optimization, model compression, texture baking, or Blender automation. Exports models for threejs-webgl, react-three-fiber, and babylonjs-engine skills.

Blender Web Pipeline

Overview

Blender Web Pipeline skill provides workflows for exporting 3D models and animations from Blender to web-optimized formats (primarily glTF 2.0). It covers Python scripting for batch processing, optimization techniques for web performance, and integration with web 3D libraries like Three.js and Babylon.js.

When to use this skill:

  • Exporting Blender models for web applications
  • Batch processing multiple 3D assets
  • Optimizing file sizes for web delivery
  • Automating repetitive Blender tasks
  • Creating production pipelines for 3D web content
  • Converting legacy formats to glTF

Key capabilities:

  • glTF 2.0 export with optimization
  • Python (bpy) automation scripts
  • Texture baking and compression
  • LOD (Level of Detail) generation
  • Batch processing workflows
  • Material and lighting optimization for web

Core Concepts

glTF 2.0 Format

Why glTF for Web:

  • Industry-standard 3D format for web
  • Efficient binary encoding (.glb)
  • PBR materials support
  • Animation and skinning
  • Extensible with custom data
  • Wide library support (Three.js, Babylon.js, etc.)

glTF vs GLB:

.gltf = JSON + external .bin + external textures
.glb  = Single binary file (recommended for web)
Blender Python API (bpy)

Access Blender data and operations via Python:

python
import bpy

# Access scene data
scene = bpy.context.scene
objects = bpy.data.objects

# Modify objects
obj = bpy.data.objects['Cube']
obj.location = (0, 0, 1)
obj.scale = (2, 2, 2)

# Export glTF
bpy.ops.export_scene.gltf(
    filepath='/path/to/model.glb',
    export_format='GLB'
)
Web Optimization Goals

Target Metrics:

  • File size: <5 MB per model (ideal <1 MB)
  • Polygon count: <50k triangles for real-time
  • Texture resolution: 2048x2048 max (1024x1024 preferred)
  • Draw calls: Minimize via texture atlases
  • Load time: <2 seconds on average connection

Common Patterns

1. Basic glTF Export (Manual)
python
# Blender Python Console or script

import bpy

# Select objects to export (optional - exports all if none selected)
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['MyModel'].select_set(True)

# Export as GLB
bpy.ops.export_scene.gltf(
    filepath='/path/to/output.glb',
    export_format='GLB',                # Binary format
    use_selection=True,                 # Export selected only
    export_apply=True,                  # Apply modifiers
    export_texcoords=True,              # UV coordinates
    export_normals=True,                # Normals
    export_materials='EXPORT',          # Export materials
    export_colors=True,                 # Vertex colors
    export_cameras=False,               # Skip cameras
    export_lights=False,                # Skip lights
    export_animations=True,             # Include animations
    export_draco_mesh_compression_enable=True,  # Compress geometry
    export_draco_mesh_compression_level=6,      # 0-10 (6 recommended)
    export_draco_position_quantization=14,      # 8-14 bits
    export_draco_normal_quantization=10,        # 8-10 bits
    export_draco_texcoord_quantization=12       # 8-12 bits
)
2. Python Script for Batch Export
python
#!/usr/bin/env blender --background --python
"""
Batch export all .blend files in a directory to glTF
Usage: blender --background --python batch_export.py -- /path/to/blend/files
"""

import bpy
import os
import sys

# Get command line arguments after --
argv = sys.argv
argv = argv[argv.index("--") + 1:] if "--" in argv else []

input_dir = argv[0] if argv else "/path/to/models"
output_dir = argv[1] if len(argv) > 1 else input_dir + "_gltf"

# Create output directory
os.makedirs(output_dir, exist_ok=True)

# Find all .blend files
blend_files = [f for f in os.listdir(input_dir) if f.endswith('.blend')]

print(f"Found {len(blend_files)} .blend files")

for blend_file in blend_files:
    input_path = os.path.join(input_dir, blend_file)
    output_name = blend_file.replace('.blend', '.glb')
    output_path = os.path.join(output_dir, output_name)

    print(f"Processing: {blend_file}")

    # Open blend file
    bpy.ops.wm.open_mainfile(filepath=input_path)

    # Export as GLB with optimizations
    bpy.ops.export_scene.gltf(
        filepath=output_path,
        export_format='GLB',
        export_apply=True,
        export_draco_mesh_compression_enable=True,
        export_draco_mesh_compression_level=6
    )

    print(f"  Exported: {output_name}")

print("Batch export complete!")

Run batch script:

bash
blender --background --python batch_export.py -- /models/source /models/output
3. Optimize Model for Web (Decimation)
python
import bpy

def optimize_mesh(obj, target_ratio=0.5):
    """Reduce polygon count using decimation modifier."""

    if obj.type != 'MESH':
        return

    # Add Decimate modifier
    decimate = obj.modifiers.new(name='Decimate', type='DECIMATE')
    decimate.ratio = target_ratio  # 0.5 = 50% of original polygons
    decimate.use_collapse_triangulate = True

    # Apply modifier
    bpy.context.view_layer.objects.active = obj
    bpy.ops.object.modifier_apply(modifier='Decimate')

    print(f"Optimized {obj.name}: {len(obj.data.polygons)} polygons")

# Optimize all selected meshes
for obj in bpy.context.selected_objects:
    optimize_mesh(obj, target_ratio=0.3)
4. Texture Baking for Web
python
import bpy

def bake_textures(obj, resolution=1024):
    """Bake all materials to single texture."""

    # Setup bake settings
    bpy.context.scene.render.engine = 'CYCLES'
    bpy.context.scene.cycles.bake_type = 'COMBINED'

    # Create bake image
    bake_image = bpy.data.images.new(
        name=f"{obj.name}_bake",
        width=resolution,
        height=resolution
    )

    # Create bake material
    mat = bpy.data.materials.new(name=f"{obj.name}_baked")
    mat.use_nodes = True
    nodes = mat.node_tree.nodes

    # Add Image Texture node
    tex_node = nodes.new(type='ShaderNodeTexImage')
    tex_node.image = bake_image
    tex_node.select = True
    nodes.active = tex_node

    # Assign material
    if obj.data.materials:
        obj.data.materials[0] = mat
    else:
        obj.data.materials.append(mat)

    # Select object
    bpy.context.view_layer.objects.active = obj
    obj.select_set(True)

    # Bake
    bpy.ops.object.bake(type='COMBINED')

    # Save baked texture
    bake_image.filepath_raw = f"/tmp/{obj.name}_bake.png"
    bake_image.file_format = 'PNG'
    bake_image.save()

    print(f"Baked {obj.name} to {bake_image.filepath_raw}")

# Bake selected objects
for obj in bpy.context.selected_objects:
    if obj.type == 'MESH':
        bake_textures(obj, resolution=2048)
5. Generate LOD (Level of Detail)
python
import bpy

def generate_lods(obj, lod_levels=[0.75, 0.5, 0.25]):
    """Generate LOD copies with decreasing polygon counts."""

    lod_objects = []

    for i, ratio in enumerate(lod_levels):
        # Duplicate object
        lod_obj = obj.copy()
        lod_obj.data = obj.data.copy()
        lod_obj.name = f"{obj.name}_LOD{i}"

        # Link to scene
        bpy.context.collection.objects.link(lod_obj)

        # Add Decimate modifier
        decimate = lod_obj.modifiers.new(name='Decimate', type='DECIMATE')
        decimate.ratio = ratio

        # Apply modifier
        bpy.context.view_layer.objects.active = lod_obj
        bpy.ops.object.modifier_apply(modifier='Decimate')

        lod_objects.append(lod_obj)

        print(f"Created {lod_obj.name}: {len(lod_obj.data.polygons)} polygons")

    return lod_objects

# Generate LODs for selected object
if bpy.context.active_object:
    generate_lods(bpy.context.active_object)
6. Export with Texture Compression
python
import bpy
import os

def export_optimized_gltf(filepath, texture_max_size=1024):
    """Export glTF with downscaled textures."""

    # Downscale all textures
    for img in bpy.data.images:
        if img.size[0] > texture_max_size or img.size[1] > texture_max_size:
            img.scale(texture_max_size, texture_max_size)
            print(f"Downscaled {img.name} to {texture_max_size}x{texture_max_size}")

    # Export with Draco compression
    bpy.ops.export_scene.gltf(
        filepath=filepath,
        export_format='GLB',
        export_apply=True,
        export_image_format='JPEG',  # JPEG for smaller size (or PNG for quality)
        export_jpeg_quality=85,       # 0-100
        export_draco_mesh_compression_enable=True,
        export_draco_mesh_compression_level=8,  # Max compression
        export_draco_position_quantization=12,
        export_draco_normal_quantization=8,
        export_draco_texcoord_quantization=10
    )

# Export optimized
export_optimized_gltf('/path/to/optimized.glb', texture_max_size=512)
7. Command-Line Automation
bash
#!/bin/bash
# Batch export Blender files to glTF without opening GUI

SCRIPT_DIR="$(dirname "$0")"

# Export all .blend files in current directory
for blend_file in *.blend; do
    echo "Exporting $blend_file..."

    blender --background "$blend_file" --python - <<EOF
import bpy
import os

# Get output filename
filename = os.path.splitext(bpy.data.filepath)[0]
output = filename + '.glb'

# Export
bpy.ops.export_scene.gltf(
    filepath=output,
    export_format='GLB',
    export_apply=True,
    export_draco_mesh_compression_enable=True,
    export_draco_mesh_compression_level=6
)

print(f'Exported to {output}')
EOF

done

echo "All files exported!"

Integration Patterns

With Three.js
javascript
import * as THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';

const loader = new GLTFLoader();

// Setup Draco decoder for compressed models
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath('/draco/');
loader.setDRACOLoader(dracoLoader);

// Load Blender export
loader.load('/models/exported.glb', (gltf) => {
  scene.add(gltf.scene);

  // Play animations
  if (gltf.animations.length > 0) {
    const mixer = new THREE.AnimationMixer(gltf.scene);
    const action = mixer.clipAction(gltf.animations[0]);
    action.play();
  }
});
With React Three Fiber
jsx
import { useGLTF } from '@react-three/drei';

function Model() {
  const { scene } = useGLTF('/models/exported.glb');
  return <primitive object={scene} />;
}

// Preload for better performance
useGLTF.preload('/models/exported.glb');
With Babylon.js
javascript
import * as BABYLON from '@babylonjs/core';
import '@babylonjs/loaders/glTF';

BABYLON.SceneLoader.ImportMesh(
  '',
  '/models/',
  'exported.glb',
  scene,
  (meshes) => {
    console.log('Loaded meshes:', meshes);
  }
);

Optimization Techniques

1. Geometry Optimization

Decimate Modifier:

python
# Reduce polygon count by 70%
obj.modifiers.new(name='Decimate', type='DECIMATE')
obj.modifiers['Decimate'].ratio = 0.3

Merge by Distance:

python
# Remove duplicate vertices
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles(threshold=0.0001)
bpy.ops.object.mode_set(mode='OBJECT')

Triangulate Faces:

python
# Ensure all faces are triangles (required for some engines)
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.quads_convert_to_tris()
bpy.ops.object.mode_set(mode='OBJECT')
2. Texture Optimization

Image Compression:

python
# Save textures as JPEG (lossy but smaller)
for img in bpy.data.images:
    img.file_format = 'JPEG'
    img.filepath_raw = f"/output/{img.name}.jpg"
    img.save()

Texture Atlas:

python
# Combine multiple textures into one atlas
# Use Smart UV Project for automatic atlasing
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.uv.smart_project(angle_limit=66, island_margin=0.02)
bpy.ops.object.mode_set(mode='OBJECT')
3. Material Simplification

Convert to PBR:

python
# Ensure materials use Principled BSDF (glTF standard)
for mat in bpy.data.materials:
    if not mat.use_nodes:
        mat.use_nodes = True

    nodes = mat.node_tree.nodes
    principled = nodes.get('Principled BSDF')

    if not principled:
        principled = nodes.new(type='ShaderNodeBsdfPrincipled')
        output = nodes.get('Material Output')
        mat.node_tree.links.new(principled.outputs[0], output.inputs[0])

Common Pitfalls

1. Large File Sizes

Problem: Exported .glb files are 20+ MB

Solutions:

  • Enable Draco compression (60-90% reduction)
  • Reduce texture resolution (2048 → 1024 or 512)
  • Use JPEG instead of PNG for textures
  • Decimate geometry (target <50k triangles)
  • Remove unused materials/textures
2. Missing Textures in Export

Problem: Textures don't appear in web viewer

Solutions:

  • Ensure all images are saved (not packed)
  • Use relative paths for textures
  • Export with "Export Images" enabled
  • Check image format compatibility (PNG/JPEG)
Show full SKILL.md (234 more words)Show less
3. Animations Not Playing

Problem: Animations don't export or play incorrectly

Solutions:

  • Ensure animations are on timeline (not NLA strips)
  • Export with "Export Animations" enabled
  • Check animation actions are assigned to objects
  • Use "Bake Actions" for complex rigs
4. Materials Look Different

Problem: Materials render differently in web vs Blender

Solutions:

  • Use Principled BSDF (maps to glTF PBR)
  • Avoid custom shader nodes (won't export)
  • Use supported texture types (Base Color, Metallic, Roughness, Normal, Emission)
  • Test in glTF viewer before deploying
5. Slow Export Times

Problem: Export takes 10+ minutes

Solutions:

  • Apply modifiers before export (don't export non-destructively)
  • Reduce geometry complexity
  • Remove unused data (orphan cleanup)
  • Use command-line export (faster than GUI)
6. Performance Issues in Browser

Problem: Model lags in browser

Solutions:

  • Generate LODs (Level of Detail)
  • Use instancing for repeated objects
  • Limit draw calls (merge objects, texture atlases)
  • Reduce polygon count (<50k triangles)
  • Optimize shaders (avoid transparency/refraction)

Best Practices

Pre-Export Checklist
☐ Apply all modifiers
☐ Merge vertices (remove doubles)
☐ Triangulate faces (if required)
☐ Optimize polygon count (<50k triangles)
☐ UV unwrap all meshes
☐ Bake materials (if complex)
☐ Resize textures (max 2048x2048)
☐ Use Principled BSDF materials
☐ Remove unused data (orphan cleanup)
☐ Name objects descriptively
☐ Set origin points correctly
☐ Apply transformations (Ctrl+A)
Export Settings
python
# Recommended glTF export settings
bpy.ops.export_scene.gltf(
    filepath='/output.glb',
    export_format='GLB',                # Binary format
    export_apply=True,                  # Apply modifiers
    export_image_format='JPEG',         # Smaller file size
    export_jpeg_quality=85,             # Quality vs size
    export_draco_mesh_compression_enable=True,  # Enable compression
    export_draco_mesh_compression_level=6,      # Balance speed/size
    export_animations=True,             # Include animations
    export_lights=False,                # Skip lights (recreate in code)
    export_cameras=False                # Skip cameras
)

Resources

This skill includes:

scripts/
  • batch_export.py - Batch export .blend files to glTF
  • optimize_model.py - Optimize geometry and textures for web
  • generate_lods.py - Generate LOD copies automatically
references/
  • gltf_export_guide.md - Complete glTF export reference
  • bpy_api_reference.md - Blender Python API quick reference
  • optimization_strategies.md - Detailed optimization techniques
assets/
  • export_template.blend - Pre-configured export template
  • shader_library/ - Web-optimized PBR shaders
  • threejs-webgl - Load and render exported glTF models in Three.js
  • react-three-fiber - Use glTF models in React applications
  • babylonjs-engine - Alternative 3D engine for web
  • playcanvas-engine - Game engine that supports glTF import

© freshtechbro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references, assets) in .claude/skills/blender-web-pipeline of freshtechbro/claudedesignskills.

  • SKILL.md
  • assets/README.md
  • references/bpy_api_reference.md
  • references/gltf_export_guide.md
  • references/optimization_strategies.md
  • scripts/batch_export.py
  • scripts/generate_lods.py
  • scripts/optimize_model.py

Open the folder on GitHubat commit 1da73fe

Compare with similar skills

Blender Web Export Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Blender Web Export Pipeline compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blender Web Export Pipeline this skillfreshtechbro/claudedesignskills1k—~4.2kAutomated safety check: PassMIT
Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill148—~2.1kAutomated safety check: PassNone
Pneuma Lucidpandazki/pneuma-skills161—~4.6kAutomated safety check: WarnMIT
Make Blender Game AssetsDanMcInerney/orchflows117—~520Automated safety check: PassMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Threejs World Generationcalesthio/OpenMontage66k—~2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Text To 3D Asset

    LaurentiuGabriel/unreal-game-assets-creation-skill

    Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.

    148 GitHub stars~2.1k tokensUpdated 2 mo ago
    Game DevelopmentAuto-check passed
  • Pneuma Lucid

    pandazki/pneuma-skills

    Pneuma Lucid Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~4.6k tokensUpdated yesterday
    Game DevelopmentAuto-check: warnings
  • Make Blender Game Assets

    DanMcInerney/orchflows

    Create original Blender assets with editable sources, GLB exports and inspection through a Three.js loader.

    117 GitHub stars~520 tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Threejs World Generation

    calesthio/OpenMontage

    Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

    66k GitHub stars~2k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • 3Dviz Pro Max Scene Builder

    viettranx/3dviz-pro-max

    Guides building an expressive 3D scene in Three.js or Blender by reasoning through intent, object construction and scientific grounding before using a catalog of recipes and kits.

    709 GitHub stars~2.8k tokensUpdated 29 days ago
    Game DevelopmentAuto-check passed

More from freshtechbro/claudedesignskills

All 19 skills in this repo
  • Anime.js Animation Guide

    freshtechbro/claudedesignskills

    Guides use of Anime.js for timeline sequences, stagger effects, SVG morphing and keyframe animation on DOM elements, CSS, SVG and JavaScript objects.

    1k GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Barba.js Page Transitions

    freshtechbro/claudedesignskills

    Adds animated page transitions to multi-page sites with Barba.js, covering the wrapper and container markup, lifecycle hooks, views and GSAP integration.

    1k GitHub stars~4.9k tokensUpdated 10 mo ago
    Auto-check passed
  • GSAP and ScrollTrigger

    freshtechbro/claudedesignskills

    Covers GSAP tweens and timelines and the ScrollTrigger plugin for scroll-driven animation, including pinning, scrubbing, parallax and horizontal scroll sections.

    1k GitHub stars~4.3k tokensUpdated 10 mo ago
    Auto-check passed
  • Locomotive Scroll

    freshtechbro/claudedesignskills

    A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration.

    1k GitHub stars~3.1k tokensUpdated 10 mo ago
    Auto-check passed
  • Lottie Animation Integration

    freshtechbro/claudedesignskills

    Implements After Effects Lottie animations in web and React apps: picking JSON or dotLottie format, a rendering library, and a data source, with an optimizer script.

    1k GitHub stars~4.5k tokensUpdated 10 mo ago
    Auto-check passed
  • React Spring Physics Animation

    freshtechbro/claudedesignskills

    Guides React UI animation built on spring physics with React Spring and Popmotion: hooks, config presets, trails, list transitions and scroll or in-view effects.

    1k GitHub stars~2.8k tokensUpdated 10 mo ago
    Auto-check passed

Questions about Blender Web Export Pipeline

What does Blender Web Export Pipeline do?

Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js. js. It works through the Blender Python API (bpy) to script exports rather than clicking through the UI each time.

When should I use Blender Web Export Pipeline?

Blender Web Export Pipeline fits situations like: exporting a Blender scene to glTF or GLB for a web app; reducing a 3D model's polygon count or texture size for real-time web rendering; batch-converting many .blend files to web-ready models; generating levels of detail for a web 3D asset.

How do I install Blender Web Export Pipeline in Claude Code?

Run `npx skills add freshtechbro/claudedesignskills --skill blender-web-pipeline -a claude-code`. Or copy the skill folder (.claude/skills/blender-web-pipeline in freshtechbro/claudedesignskills) into .claude/skills/blender-web-pipeline in your project. Claude Code loads it when a task matches its description.

How do I install Blender Web Export Pipeline in Codex?

Run `npx skills add freshtechbro/claudedesignskills --skill blender-web-pipeline -a codex`. Or copy the skill folder (.claude/skills/blender-web-pipeline in freshtechbro/claudedesignskills) into .agents/skills/blender-web-pipeline in your project. Codex loads it when a task matches its description.

Can I use Blender Web Export Pipeline in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add freshtechbro/claudedesignskills --skill blender-web-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blender-web-pipeline, .gemini/skills/blender-web-pipeline, .github/skills/blender-web-pipeline and .opencode/skills/blender-web-pipeline in your project.

What does Blender Web Export Pipeline need to run?

Going by SKILL.md and its folder, Blender Web Export Pipeline needs Python for the scripts in its folder. Our summary lists: Blender with its Python API (bpy); Python.

Does Blender Web Export Pipeline access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Blender Web Export Pipeline safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Blender Web Export Pipeline use?

Blender Web Export Pipeline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blender Web Export Pipeline use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.

What are the alternatives to Blender Web Export Pipeline?

Skills that share tags, products or a category with Blender Web Export Pipeline: Text To 3D Asset (LaurentiuGabriel/unreal-game-assets-creation-skill, 148 stars), Pneuma Lucid (pandazki/pneuma-skills, 161 stars), Make Blender Game Assets (DanMcInerney/orchflows, 117 stars) and Image to Three.js Model (img2threejs/img2threejs, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blender Web Export Pipeline?

freshtechbro (a GitHub user) maintains it in freshtechbro/claudedesignskills, which has 1,016 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on November 20, 2025.

Source: freshtechbro/claudedesignskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.