3D scan objects using smartphone // 2017
Category:
WORK
August 12, 2019
Exploring free and paid tool 3D scanning models from the real world.
iPhone 3d scanning Qlone, Trnio, RealityCapture, ColMAP, Meshlab, Agisoft Photoscan/Metashape
From CAD to Animation: A Complete Journey
Over the past months, I've had the privilege of working alongside Epic Games' exceptional team, talented instructors, and an amazing technical artist to master Control Rig. This tutorial documents the complete workflow for rigging the SO-ARM 100 educational robot entirely within Unreal Engine.
Prerequisites
• Unreal Engine 5.5+ (with Control Rig enabled)
• FreeCAD - Open source CAD software
• SO-ARM 100 STEP files from manufacturer
• Basic understanding of 3D modeling concepts
Phase 1: Converting CAD Models
Step 1: Download STEP Files
STEP files (.step or .stp) are the industry standard for CAD data exchange. Engineers use these for manufacturing, rapid prototyping, and robotics applications.
Why STEP files?
• Parametric data preservation
• Industry-standard format
• Contains accurate assembly hierarchies
• Maintains precise measurements
[SCREENSHOT: SO-ARM 100 STEP files]
Step 2: Convert STEP to glTF Using FreeCAD
Download FreeCAD: https://www.freecad.org/downloads.php
Conversion Process:
1. Launch FreeCAD and open your STEP file (File > Open)
2. Verify the import - check all parts are visible
3. Export as glTF 2.0 (File > Export > glTF 2.0)
4. Choose .gltf format (not .glb) for easier debugging
[SCREENSHOT: FreeCAD import interface]
Why glTF? Native Unreal support, preserves hierarchies, open standard, maintains materials.
Phase 2: Preparing the Mesh in Unreal
Step 3: Import and Transform Correction
1. Import the glTF: Drag and drop into Content Browser
2. Fix Transform Offsets: STEP files often have arbitrary pivot points
3. Use Modeling Mode tools to correct positioning
4. Apply transforms: Right-click mesh → Bake Transform
[SCREENSHOT: Unreal Modeling Mode]
Position the arm from contracted to relaxed/extended state for easier bone placement.
Step 4: Convert to Skeletal Mesh
1. Select all prepared Static Meshes
2. Right-click → Convert to Skeletal Mesh
3. Unreal creates a basic skeleton structure
[SCREENSHOT: Convert to Skeletal Mesh option]
Phase 3: Skeleton and Weight Painting
Step 5: Manual Bone Placement
This is where precision matters. Place bones at servo motor locations.
My Strategy:
• Lock viewport to Left/Side orthographic view
• Use "Place Bones Into Mesh" tool
• Place bones ONLY at servo motor locations
• Bones import as: joint1, joint2, joint3, etc.
[SCREENSHOT: Bone placement in orthographic view]
Step 6: Weight Painting Strategy
My Workflow:
1. Open Skeletal Mesh in Mesh Paint Mode
2. Work part-by-part: Select bone, paint arm segment WHITE (1.0)
3. Keep servo housing BLACK (0.0)
4. Real-time testing: Switch between Paint and Animation modes
5. Rotate bones to check for vertex issues
6. Iterate: Paint → Test → Fix → Repeat
[SCREENSHOT: Weight painting interface]
Critical: Real-time viewport feedback made this incredibly efficient!
Phase 4: Control Rig Implementation
Step 7: Create Modular Control Rig
The moment we've been working toward!
1. Right-click Skeletal Mesh in Content Browser
2. Select: Create → Control Rig → Modular Control Rig
3. Opens Modular Control Rig Editor
[SCREENSHOT: Create Control Rig menu]
Step 8: Add Physics Dynamics
Make the digital robot feel like the physical one!
1. In Modular Rig Hierarchy, locate Chain Dynamics module
2. Drag it into your rig
3. Configure dynamics:
• Adjust Damping for oscillation settling
• Tweak Stiffness to match servo holding force
• Set Mass based on physical arm segments
4. Enable Live Preview and test
[SCREENSHOT: Chain Dynamics settings]
Result: Fully rigged robot with realistic physics in just a few clicks!
The Learning Process: Iteration as Meditation
I've discovered that redoing projects in Unreal is like meditation. There's a rhythm:
1. Observe - Watch professionals demonstrate
2. Attempt - Try it yourself
3. Execute - Complete it, learning from errors
4. Refine - Redo it properly with understanding
Thank You
Massive thanks to the Epic Games Team, incredible instructors, amazing TA, and fellow riggers who made this journey possible.
Special thanks to: Julie Lottering, Chase Cooper, Jeremie Passerin, Matt Ringot, Sara Schvartzman, Ferris Webby, Helge Mathee, Benoit Gaudreau, James Burton, Shenaz Baksh, Sean Spitzer, and Kevin Miller.
Why This Matters
This workflow proves Unreal can be a complete content creation environment. For my work in medical education and AR/VR training with POCUS technology, rigging complex medical devices entirely in Unreal eliminates pipeline friction.
The SO-ARM 100 now moves with precision and purpose—100% rigged in Unreal Engine.
Your Turn!
Have you explored Control Rig for mechanical rigging? Share your experiences in the comments!
