From metashape-mcp
Exports photogrammetry terrain tiles from Blender to game-ready FBX for Unity, Unreal, Godot with identity object transforms, FBX_SCALE_NONE, -Z forward/Y up axes, cleanup checklist, and batch Python script.
npx claudepluginhub jenkinsm13/claude-plugins --plugin metashape-mcpThis skill uses the workspace's default tool permissions.
Export photogrammetry terrain tiles from Blender to FBX for game engines (Unreal, Unity, Godot). Enforces strict rules for transforms, scale, and axis conventions to ensure tiles load correctly.
Exports Blender 3D models and animations to web-optimized glTF via Python bpy scripts. Handles batch processing, asset optimization, texture baking, model compression for Three.js and Babylon.js.
Guides UV mapping, texture atlas generation, color calibration, and quality optimization in Metashape MCP server for 3D meshes. Used after mesh building, covers blending modes, ghosting filter, and artifacts.
Guides Adobe Substance 3D Painter workflows for PBR material creation, web-optimized texture export to Three.js, Babylon.js, Unity, Unreal, and Python API batch automation.
Share bugs, ideas, or general feedback.
Export photogrammetry terrain tiles from Blender to FBX for game engines (Unreal, Unity, Godot). Enforces strict rules for transforms, scale, and axis conventions to ensure tiles load correctly.
Tile_X-Y where X-Y are grid coordinates.bpy.ops.export_scene.fbx(
filepath="/path/to/output/Tile_X-Y.fbx",
use_selection=True,
apply_scale_options='FBX_SCALE_NONE',
axis_forward='-Z',
axis_up='Y',
use_mesh_modifiers=True,
mesh_smooth_type='OFF',
use_tspace=True,
embed_textures=False,
path_mode='COPY'
)
Before exporting any tile, verify:
Tile_X-Y matching grid positionFor each tile object in the scene:
import bpy
for obj in bpy.data.objects:
if not obj.name.startswith("Tile_"):
continue
# Deselect all, select this tile
bpy.ops.object.select_all(action='DESELECT')
obj.select_set(True)
bpy.context.view_layer.objects.active = obj
# Verify identity transform
assert obj.location.length < 0.001, f"{obj.name} has non-zero location!"
assert abs(obj.scale.x - 1.0) < 0.001, f"{obj.name} has non-unit scale!"
# Export
filepath = f"/path/to/output/{obj.name}.fbx"
bpy.ops.export_scene.fbx(
filepath=filepath,
use_selection=True,
apply_scale_options='FBX_SCALE_NONE',
axis_forward='-Z',
axis_up='Y',
use_mesh_modifiers=True,
mesh_smooth_type='OFF',
use_tspace=True,
embed_textures=False
)
FBX_SCALE_NONE — any other option will bake Blender's scale factor.