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 from our website: Rebelle Motion IO. 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).

    • 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

    • To get all these:

      • 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
      • On Ubuntu

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

        pip3 install shapely svgpathtools
      • On macOS try to install packages using Homebrew or Macports.

        Help needed

        This macOS section needs your help. If you find a way to install packages mentioned in the Windows or Ubuntu section, please send us those steps to [email protected] and we'll include them here. Thanks!