Skip to content

RobotLocomotion/drake-blender

Repository files navigation

Overview

drake-blender is an implementation of the Drake glTF Render Client-Server API atop Blender.

This is a relatively new project and may still have bugs. Please share your issues and improvements on GitHub.

Compatibility

This software is only tested on Ubuntu 22.04 "Jammy", but should probably work with any Python interpreter that supports our requirements.txt.

Running the render server

There are two ways to run the server.

(1) From a git checkout of drake-blender:

./bazel run :server

This way has no extra setup steps. It will automatically download the required dependencies into the Bazel sandbox, using the same versions as pinned by our requirements lockfile that is tested in our Continuous Integration build.

(2) From your own virtual environment:

The server.py file is self-contained -- it does not import any other files from drake-blender. Instead of using Bazel, you can also run it as a standalone Python program (python3 server.py) so long as the packages listed in our requirements.in are available in your Python runtime environment. You are responsible for preparing and activating an appropriate virtual environment on your own.

Examples

See examples.

Testing (for developers)

From a git checkout of drake-blender:

./bazel test //...

Linting

Check for lint:

./bazel test //... --config=lint

Fix all lint:

./tools/fix_lint.sh

Credits

The Drake-Blender project was created by the Robotics Division at Toyota Research Institute. Many other people have since contributed their talents. Here's an alphabetical list (note to contributors: do add yourself):

  • Bassam ul Haq
  • Cody Simpson
  • Eric Cousineau
  • Jeremy Nimmer
  • John Shepherd
  • Kunimatsu Hashimoto
  • Matthew Woehlke
  • Sean Curtis
  • Stephen McDowell
  • Zach Fang

Licensing

Per LICENSE.TXT, this module is offered under the BSD-2-Clause license, but note that it loads import bpy from Blender so is also governed by the terms of Blender license GPL-2.0-or-later.

Per examples/LICENSE.TXT, the examples code is offered under the MIT-0 license.