GLTF Joint Extraction & Visualization
Budget: €8 – €70 EUR
I have a rigged GLTF file that captures a full–body animation, and I need a clean, repeatable way to turn that motion into numbers my robotic-leg controller can understand.
The job breaks down into three connected parts:
• Build a Python script that walks through every joint in the GLTF hierarchy, pulls out rotation (quaternion or Euler), translation, and timing data, and saves the result to a well-structured CSV. Column headers should follow the pattern time, joint_name_x, joint_name_y, joint_name_z (or _w for quaternions) so the file can feed directly into my control pipeline.
• Generate easy-to-read joint-by-joint plots in Python. Matplotlib is the natural choice, but feel free to lean on other Python plotting libraries if they make the workflow smoother. Plots must let me toggle individual joints and overlay multiple motion clips for comparison.
• Create a lightweight stick-figure animation—again entirely in Python—that replays the exported data so I can confirm visual fidelity before moving to hardware. As long as the figure maintains correct limb lengths and joint ordering, you can choose the most convenient Python 3D toolkit (e.g., PyThreejs, VPython, Matplotlib’s mplot3d).
Acceptance will be based on:
– Frame-accurate CSV output that matches the source GLTF when re-imported.
– Plots that clearly track every joint over time without axis confusion.
– Stick-figure playback that visually mirrors the original file for at least two complete cycles.
– Clear, commented code and a short README so I can point it at other GLTF clips later.
If you’ve already tackled GLTF parsing with pygltflib, tinygltf, or similar libraries, you’ll likely finish quickly. I’m ready to test on sample files as soon as you deliver.
The job breaks down into three connected parts:
• Build a Python script that walks through every joint in the GLTF hierarchy, pulls out rotation (quaternion or Euler), translation, and timing data, and saves the result to a well-structured CSV. Column headers should follow the pattern time, joint_name_x, joint_name_y, joint_name_z (or _w for quaternions) so the file can feed directly into my control pipeline.
• Generate easy-to-read joint-by-joint plots in Python. Matplotlib is the natural choice, but feel free to lean on other Python plotting libraries if they make the workflow smoother. Plots must let me toggle individual joints and overlay multiple motion clips for comparison.
• Create a lightweight stick-figure animation—again entirely in Python—that replays the exported data so I can confirm visual fidelity before moving to hardware. As long as the figure maintains correct limb lengths and joint ordering, you can choose the most convenient Python 3D toolkit (e.g., PyThreejs, VPython, Matplotlib’s mplot3d).
Acceptance will be based on:
– Frame-accurate CSV output that matches the source GLTF when re-imported.
– Plots that clearly track every joint over time without axis confusion.
– Stick-figure playback that visually mirrors the original file for at least two complete cycles.
– Clear, commented code and a short README so I can point it at other GLTF clips later.
If you’ve already tackled GLTF parsing with pygltflib, tinygltf, or similar libraries, you’ll likely finish quickly. I’m ready to test on sample files as soon as you deliver.
Related categories:
JavaScript
Python
Data Processing
Software Architecture
3D Animation
Arduino
Data Visualization
Data Analysis