Skip to main content
Glama
VRM_VS_ROBOT_MODELS.mdโ€ข8.92 kB
# VRM vs Robot Models for Vbots **Last Updated**: 2025-12-02 **Status**: Analysis and Recommendations --- ## ๐ŸŽฏ Key Question: Should Robots Use VRM Format? ### Short Answer: **No, robots should NOT use VRM format** **Why:** - **VRM is humanoid-only**: VRM format requires a standardized humanoid bone structure (head, spine, arms, legs, hands, feet) - **Scout is not humanoid**: Scout is a wheeled robot with mecanum wheels, no humanoid bones - **VRM specification**: Based on glTF 2.0 but requires VRM humanoid bone mapping ### When VRM Makes Sense: - โœ… **Humanoid robots** (Unitree G1, Atlas, ASIMO-style) - โœ… **Anthropomorphic robots** (Robbie from Forbidden Planet - humanoid shape) - โœ… **VTuber avatars** (VRoid Studio output) - โœ… **VRChat human avatars** ### When VRM Does NOT Make Sense: - โŒ **Wheeled robots** (Scout, Scout E) - โŒ **Quadrupeds** (Unitree Go2 - has legs but not humanoid structure) - โŒ **Non-humanoid robots** (drones, arms, custom robots) --- ## ๐Ÿ“ฆ Recommended Formats for Robot Vbots ### For Unity3D/VRChat: 1. **FBX** (`.fbx`) - **BEST CHOICE** - Industry standard - Supports animations, materials, textures - Unity native support - VRChat compatible 2. **GLB** (`.glb`) - **MODERN ALTERNATIVE** - Based on glTF 2.0 - Single file (includes textures) - Web-friendly - Unity supports via glTF importer 3. **OBJ** (`.obj`) - **SIMPLE FALLBACK** - Basic mesh only - No animations - No materials (separate MTL file) - Use only if nothing else available ### For Resonite: - **VRM** - โœ… Works (Resonite imports VRM directly) - **GLB** - โœ… Works (Resonite imports GLB directly) - **FBX** - โŒ Not directly supported (need to convert) --- ## ๐Ÿค– Creating Scout as Vbot ### Option 1: Use FBX/GLB (Recommended) **Workflow:** 1. **Obtain/Create Scout Model**: - Get from official sources (Pilot Labs, FCC filings) - Create in Blender from specs (11.5ร—10ร—8 cm) - Use Blender MCP to create from primitives 2. **Export to FBX**: ```python # Using blender-mcp blender_export( format="fbx", filepath="D:/Models/scout_model.fbx", use_selection=True ) ``` 3. **Import to Unity**: - Drag FBX into `Assets/Models/` - Unity auto-imports - Create prefab 4. **Use with vbot_crud**: ```python vbot_crud( operation="create", robot_type="scout", platform="unity", model_path="Assets/Models/scout_model.fbx", position={"x": 0.0, "y": 0.0, "z": 0.0} ) ``` ### Option 2: Create "Humanoid" Scout VRM (Not Recommended) **Why this is problematic:** - Scout has no humanoid bones (no head, arms, legs) - Would need to "stretch" Scout to fit humanoid rig - Would look weird and not represent actual Scout - VRM validator would reject or warn **If you really want VRM:** 1. Model Scout in Blender 2. Create humanoid armature (head, spine, arms, legs) 3. Map Scout mesh to humanoid bones (stretching required) 4. Export as VRM using Blender VRM add-on 5. **Result**: Weird humanoid-shaped Scout (not recommended) --- ## ๐Ÿ› ๏ธ Current avatar-mcp Tools Analysis ### What avatar-mcp CAN Do: - โœ… **Load VRM models** (`avatar_load`, `avatar_manager`) - โœ… **Animate VRM avatars** (bone control, blend shapes) - โœ… **Export to FBX/UnityPackage** (but NOT to VRM) - โœ… **Manage VRM metadata** ### What avatar-mcp CANNOT Do: - โŒ **Create VRM from scratch** - โŒ **Convert non-humanoid models to VRM** - โŒ **Export to VRM format** (only imports VRM) - โŒ **Handle robot-specific models** (no robot bone structures) --- ## ๐Ÿ”ง Recommended Expansion: Robot Model Tools ### Option A: Expand avatar-mcp **Add robot-specific tools:** ```python # New tools needed in avatar-mcp robot_model_load( model_path: str, robot_type: str, # "scout", "go2", "custom" format: str # "fbx", "glb", "obj" ) robot_model_export( robot_id: str, format: str, # "fbx", "glb", "vrm" (if humanoid) output_path: str ) robot_to_vrm_convert( robot_model_path: str, humanoid_rig: bool = False, # Create humanoid rig for VRM output_path: str ) ``` ### Option B: Add to robotics-mcp (Better) **Create robot-specific model tools:** ```python # In robotics-mcp robot_model_import( robot_type: str, model_path: str, format: Literal["fbx", "glb", "obj", "vrm"], platform: Literal["unity", "vrchat", "resonite"] ) robot_model_export( robot_id: str, format: Literal["fbx", "glb", "obj"], output_path: str ) robot_model_convert( source_path: str, source_format: str, target_format: str, target_path: str ) ``` **Why this is better:** - Keeps robot-specific logic in robotics-mcp - avatar-mcp stays focused on humanoid avatars - Clear separation of concerns --- ## ๐ŸŽจ Creating Scout Model: Recommended Workflow ### Step 1: Get/Create Scout 3D Model **Using Blender MCP:** ```python # Create Scout from primitives blender_mesh( operation="create_cube", name="Scout_Body", location=(0, 0, 0), scale=(0.115, 0.10, 0.08) # 11.5ร—10ร—8 cm in meters ) # Add wheels (cylinders) blender_mesh( operation="create_cylinder", name="Scout_Wheel_FL", location=(-0.05, 0.05, -0.04), scale=(0.02, 0.02, 0.01) # Wheel dimensions ) # ... repeat for 4 wheels # Add camera (small cube) blender_mesh( operation="create_cube", name="Scout_Camera", location=(0.0575, 0, 0.02), # Front of robot scale=(0.01, 0.01, 0.01) ) ``` ### Step 2: Export to FBX ```python blender_export( format="fbx", filepath="D:/Models/scout_model.fbx", use_selection=False, # Export all apply_modifiers=True ) ``` ### Step 3: Use in Unity ```python # Via vbot_crud vbot_crud( operation="create", robot_type="scout", platform="unity", model_path="D:/Models/scout_model.fbx", position={"x": 0.0, "y": 0.0, "z": 0.0}, scale=1.0 ) ``` --- ## ๐ŸŽญ Special Case: Robbie from Forbidden Planet **Robbie IS humanoid!** โœ… Robbie has: - Humanoid shape (head, torso, arms, legs) - Can be rigged with humanoid bones - **CAN be converted to VRM** **Workflow for Robbie VRM:** 1. Get Robbie 3D model (FBX/OBJ) 2. Import to Blender 3. Create humanoid armature 4. Rig Robbie mesh to armature 5. Export as VRM using Blender VRM add-on 6. Use with avatar-mcp tools ```python # Robbie can use VRM! vbot_crud( operation="create", robot_type="robbie", platform="unity", model_path="Assets/Models/robbie.vrm", # VRM format OK! position={"x": 1.0, "y": 0.0, "z": 1.0} ) ``` --- ## ๐Ÿ“‹ Summary & Recommendations ### For Scout (Wheeled Robot): - โœ… **Use FBX/GLB format** (NOT VRM) - โœ… **Use vbot_crud with `model_path`** - โœ… **Create model in Blender** (use Blender MCP) - โŒ **Don't try to make VRM** (not humanoid) ### For Robbie (Humanoid Robot): - โœ… **Can use VRM format** (humanoid shape) - โœ… **Use avatar-mcp tools** for VRM management - โœ… **Or use FBX** (also works) ### For Unitree Go2 (Quadruped): - โš ๏ธ **Technically not humanoid** (4 legs, no arms) - โš ๏ธ **VRM might work** (if rigged as humanoid - weird) - โœ… **Better: Use FBX** (preserves quadruped structure) ### For Unitree G1 (Humanoid): - โœ… **Perfect for VRM** (humanoid with arms) - โœ… **Use avatar-mcp VRM tools** - โœ… **Or use FBX** (also works) ### Tool Expansion Needed: **avatar-mcp expansion:** - โŒ **NOT needed** for robot models (avatar-mcp is for humanoid avatars) - โœ… **Keep as-is** (focused on VRM/humanoid avatars) **robotics-mcp expansion:** - โœ… **Add robot model import/export tools** (DONE) - โœ… **Add robot model creation tool** (DONE - uses blender-mcp) - โœ… **Support FBX/GLB/OBJ formats** (DONE) - โœ… **Integrate gimp-mcp for textures** (DONE) - โœ… **Optional: VRM export for humanoid robots only** (DONE) **MCP Server Integration:** - โœ… **blender-mcp**: For creating/editing 3D models, exporting FBX/GLB/OBJ - โœ… **gimp-mcp**: For creating/editing textures and images - โœ… **unity3d-mcp**: For importing models into Unity projects - โœ… **avatar-mcp**: For VRM management (humanoid robots only) --- ## ๐Ÿš€ Next Steps 1. โœ… **Create Scout FBX model** (using `robot_model_create` - automated with blender-mcp + gimp-mcp) 2. โœ… **Add robot model tools to robotics-mcp**: - โœ… `robot_model_import` (FBX/GLB/OBJ/VRM) - โœ… `robot_model_export` (FBX/GLB/OBJ) - โœ… `robot_model_create` (automated creation via blender-mcp + gimp-mcp) - โœ… `robot_model_convert` (format conversion via blender-mcp) 3. โœ… **Use FBX for Scout** (not VRM) 4. โœ… **Use VRM for Robbie** (humanoid, VRM works) 5. โœ… **Keep avatar-mcp focused** on humanoid avatars 6. โœ… **Integrate blender-mcp** for model creation/editing 7. โœ… **Integrate gimp-mcp** for texture creation/editing --- **Austrian Precision**: Right tool for the right job - VRM for humans, FBX for robots! ๐Ÿ‡ฆ๐Ÿ‡น๐Ÿค–

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/robotics-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server