Introduction
landon is a collection of heavily unit and integration tested tooling, data structures and methods for
exporting data (such as meshes and armatures) from blender preparing it for your rendering pipeline.
A typical landon workflow involves running the mesh/armature data export scripts
(optionally supplemented with your own Python scripts) from Blender via the CLI or Rust API.
All export scripts write json stdout.
landon provides APIs to parse this data from stdout into Rust structs - but you can also read the JSON
output yourself if you don't use Rust.
#![allow(unused)] fn main() { // Parsing exported landon data via the Rust API. // Rust is not required - you can read the exported JSON data with any programming language. let meshes = blender_mesh::parse_meshes_from_blender_stdout(&blender_stdout); let armatures = blender_armature::parse_armatures_from_blender_stdout(&blender_stdout); }
landon can export data that most other exporters typically don't, such as custom mesh properties
and bone groups.
Goals
- Make it as easy as possible to take something from Blender and render it in your application without straying from the raw Blender data
- We favor exporting the data from Blender as is and then providing APIs to transform it in the different ways that you might like.
Example Use Cases
Some examples of things that landon might help you do include:
-
Export all of the meshes in a
.blendfile into a collection ofBlenderMesh's and call methods to get the vertex data such as positions, uvs and normals from thatBlenderMesh. -
Export all of the armatures in a
.blendfile and call methods to get the interpolated joint data at a certain keyframe to power your skeletal animation.