Skip to main content

Intro

Rebelle Motion IO is a scripting tool designed for motion artists and visual effects studios for creating animations. It is based on Rebelle.

It was developed in cooperation with Sony Imageworks and reflects their requirements for implementing it into their Houdini pipeline. They developed their own plugin for Houdini to allow their artists to use Motion IO seamlessly.

There are several ways you can use Rebelle Motion IO:

  • Write a JSON file for your animation manually (suitable only for very simple animations and testing)
  • Use a scripting language (e.g. Python) to generate the JSON file
  • Develop a plugin for your favorite animation software (Houdini, Nuke, Blender, Synfig, ...). There are no such plugins publicly available yet, so if you decide to work on one, please, write about it on our forum to let others know.

This documentation consists of examples and reference. If you have any questions or suggestions, please write them down on our forum in the Rebelle / Motion IO secion.

Basic Workflow

  1. Create a JSON file containing commands for Rebelle grouped into animation frames.
  2. Run Rebelle Motion IO with the JSON file. It will render animation frames and store them in a specified folder.
  3. Process animation frames in your preferred video editing app.

Prerequisites

  • Minimum
    • Download and install Rebelle Motion IO (scroll down to the Download section). It's not the normal Rebelle package but a separate one, so you end up with two Rebelle packages installed (Rebelle and Rebelle Motion IO).
  • To follow this documentation and run all examples yourself
    • A Bash-compatible terminal. On Windows, we recommend Msys2 (www.msys2.org). On macOS, Homebrew (brew.sk).
    • Python3 with several libs for running simple scripts creating complex JSON files for Rebelle
    • ImageMagick for processing animation frames
    • Ffmpeg for converting animation frames to videos

Detailed instructions for individual platforms follow next.

Windows

On Windows with Msys2, at the end of the installation, it asks to run Msys2, you can run it, but close it afterwards, because we're going to work with a different terminal.

Run c:\msys64\mingw64.exe (the Msys2's mingw64 terminal) and paste following commands there:

# Install required Msys2 packages
pacman -S \
mingw64/mingw-w64-x86_64-python \
mingw64/mingw-w64-x86_64-python-numpy \
mingw64/mingw-w64-x86_64-python-pip \
mingw64/mingw-w64-x86_64-python-lxml \
mingw64/mingw-w64-x86_64-python-scipy \
mingw64/mingw-w64-x86_64-cython \
mingw64/mingw-w64-x86_64-geos \
mingw64/mingw-w64-x86_64-ffmpeg \
mingw64/mingw-w64-x86_64-imagemagick \
mingw64/mingw-w64-x86_64-gcc \
mingw64/mingw-w64-x86_64-zlib \
git \

export SETUPTOOLS_USE_DISTUTILS=stdlib # workaround for setuptools >= 60.0 as suggested in https://www.msys2.org/docs/python/

# Install Shapely from source to make it use the numpy version already installed by Msys
git clone https://github.com/shapely/shapely.git
cd shapely
export GEOS_INCLUDE_PATH=/mingw64/include
export GEOS_LIBRARY_PATH=/mingw64/lib
# Get and apply patch needed to build Shapely in MSYS2
wget https://escapemotions.com/products/rebelle/download/motionio_patches/shapely_msys2_numpy.patch
git apply shapely_msys2_numpy.patch
# Build and install shapely
pip install -e .[test]

pip install svgpathtools

macOS

After downloading Motion IO, open its DMG file, then drag Rebelle 8 Motion IO.app to your Applications folder.

Install other recommended packages using Homebrew or Macports. These instructions are for Homebrew, but you should be able to use MacPorts in a similar way.

# Install Homebrew (standard official script):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install python libs:
pip3 install numpy scipy shapely svgpathtools

# Verify installation (should list all 4 libraries with versions)
pip3 list | grep -E "numpy|scipy|shapely|svgpathtools"

# Install ImageMagick and FFmpeg via Homebrew
brew install imagemagick ffmpeg

# Verify ImageMagick (shows version like "ImageMagick 7.x.x")
magick --version

# Verify FFmpeg (shows version like "ffmpeg version 8.x")
ffmpeg

Troubleshooting:

  • JSON file not found: Ensure you’re in the correct folder (use cd to navigate) or use the full JSON path (e.g., /Users/YourName/Desktop/my_animation.json).
  • Homebrew installation stuck: Run pkill -9 brew; pkill -9 curl to stop stuck processes, then retry.
  • FFmpeg/ImageMagick "command not found": Restart Terminal to load Homebrew paths.

Linux (Ubuntu)

sudo apt install \
python3 \
python3-numpy \
python3-scipy \
python3-pip \
ffmpeg \
imagemagick \
gcc

pip3 install shapely svgpathtools