SuperAPI AI Directory

blender-interchange

Design & creation

View repository

Updated 10-15 20:34

About this skill

blender-interchange

Typed import/export tools for Blender scene interchange. Load this skill when a workflow needs asset import (FBX, OBJ, USD), GLTF/USD/Alembic export, or batch export. Existing blender-geometry exposes FBX/OBJ export names and delegates to the same implementation.

Tools

Tool Category Description
import_file Import Import FBX or OBJ files with format auto-detection
import_fbx Import Import FBX files with Blender's FBX importer
import_obj Import Import OBJ files with Blender's OBJ importer
import_usd Import Import USD files (.usd/.usda/.usdc/.usdz) with typed options — meshes, materials, cameras, lights, textures
export_gltf Export Export to GLTF/GLB for game engines and web (see GLTF export vertex counts)
export_usd Export Export to USD for pipeline interchange
export_alembic Export Export to Alembic with optional frame range
batch_export Export Run multiple exports with optional preset

Prefer blender-export-preset for reusable export settings, blender-shot-export for camera/shot metadata, and blender-scripting only after checking typed interchange tools.

Native operator options

Options use the current host's RNA names. Represent enum flags as JSON arrays, for example {"object_types": ["MESH"], "bake_anim": false} for FBX batch export. Scalar enums remain strings. The adapter converts enum flags to native sets while retaining JSON arrays in export receipts and stored presets.

Unknown names, invalid values, unfinished operators and missing output files return failure. Requested options are never dropped or retried with defaults. OBJ's basic writer is used only when no native OBJ exporter exists and no options were requested.

Typed USD import_textures maps to import_textures_mode (IMPORT_PACK or IMPORT_NONE). Typed import_subdiv maps to the host's import_subdiv (4.5) or import_subdivision (5.2) RNA property.

GLTF export vertex counts

A glTF/GLB file stores one vertex per unique normal + UV combination, so an exported asset systematically reports more vertices than the shared-vertex count Blender shows for the same mesh. A mismatch is expected behavior, not an export defect.

  • Why: hard edges and flat shading split each corner into one vertex per face normal. A default cube is 8 vertices in Blender and 24 in GLB (3x), because each of the 8 corners carries 3 hard-edge normals.
  • Rule of thumb: hard-edged / flat-shaded meshes multiply the most (typically 2x-4x; more for meshes with many UV islands or per-vertex color/skin splits); smooth-shaded meshes approach 1x. UV seams, tangents, vertex colors, skin weights and multi-material boundaries also split vertices, so a smooth-shaded mesh can still land above 1x.
  • Measured example: a 3-part Blender white-clay model reported 554 vertices in-host and 2200 in GLB (~4x): cube 8 -> 24, sphere 482 -> 1984, cylinder 64 -> 192.

export_gltf returns no vertex / face / material metrics, so compare counts on the exported asset: re-import it with import_file and inspect it with get_mesh_info, run blender-validation checks such as validate_mesh and validate_export_readiness, or use an external glTF validator. Never treat "GLB vertex count differs from host vertex count" as a failure on its own.