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
.blend
file 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
.blend
file and call methods to get the interpolated joint data at a certain keyframe to power your skeletal animation.