Houdini FX

A terrain with a shape of Mandelbrot set created in Houdini.

Houdini is a 3D animation software by SideFX that is broadly used in filming industry. Its built-in shader language (VEX), geometric data structures, and its integration with Python (where one can call numerical linear algebra library such as SciPy) make it a powerful tool for scientific computing and geometry processing. Moreover Houdini comes with industry standard renderer allowing stunning visualization. Its free apprentice license is fully functional, with only a few limitations in the resolution of rendering preventing commercial uses. Houdini has become a frequently used software for not only research demonstration, but also for teaching and generating illustrations for lectures and talks.

Learning Materials

Getting Started

To get started, first we recommend rummaging around the SideFX website and searching for tutorials on YouTube. I also made a tutorial that contains the essential workflow for mathematical visualization

We also recommend that you work through some of the tutorials on the Houdini Tech Blog, a course blog for "Visualization in Mathematics" in TU Berlin. For example you can work through all the tutorials in the "Introduction" category. There are more tutorials on that site and if you feel inspired check them out. All come with Houdini files that allows you to load the completed tutorials if you wish.

Our lecture note listed above teaches you how to create simple geometry inside Houdini using the VEX language; basic scene setup with simple lighting and camera as well as manipulating surface appearance for rendering.

The complete documentation is also available on the SideFX website.

A note on installing Houdini (and SciPy)

You can instal the "Apprentice" version of Houdini on your own machine. See the system requirements.

Installing Houdini is straightforward on Windows, Linux and Mac OSX. However, if we want to import the Python numerical linear algebra library SciPy, additional steps are required.

The followings are tested in September 2020.

MacOSX / Linux

We recommend installing the latest version of Houdini (Houdini 18.0). Another option is to install an older version of Houdini, which requires different steps to install SciPy.

  • Houdini 18.0 (and later versions)

    In later versions of Houdini (17.5 and on), a separate Python implementation is shipped within the Houdini software. To install additional Python packages we make sure we install them to Houdini's Python.

    0. First, let us make sure Scipy is indeed not installed. Open Houdini, on any dock add a tab "Python Shell" (e.g. click "+" right next to the "Geometry Spreadsheet" tab). Typing

    >>> import scipy
    
    should give us error ImportError: No module named scipy. (If there is no error, then for some reason you do have SciPy installed, and you can skip all following steps and you are good to go.)

    1. Find the Python directory. Open Houdini. On any dock (subwindow) add a tab "Python Shell." In the Python shell, type
      >>> import os
      >>> path=os.path.abspath(os.__file__)
      >>> print(path)
      
      The result should be something like /Applications/Houdini/Houdini18.0.499/Frameworks/Python.framework/Versions/Current/lib/python2.7/os.pyc
    2. Open Terminal, and goto the bin directory ".../Versions/Current/bin" (according to the path shown on Step 1.)
      $ cd /Applications/Houdini/Houdini18.0.499/Frameworks/Python.framework/Versions/Current/bin
      
    3. Use the local python to install the Python Package Installer (pip). In that directory execute (you will need to enter your root password for the superuser do (sudo) command)
      $ sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      $ sudo ./python get-pip.py
      
    4. Use the local pip to install SciPy.
      $ sudo ./pip install scipy
      
    5. Back to the Houdini Python shell (no need to restart Houdini). Now
      >>> import scipy
      
      should give no error.
  • Houdini 17.0, 16.5 (May be outdated)

    In these earlier versions, Houdini's Python will read the Python library installed on your machine. The following includes instruction of installing older versions of Houdini.

    1. Get an older Houdini. To download an older version of Houdini, visit SideFX's FTP server (in case the version you look for is no longer shown on the Daily builds page from SideFX).
    2. Install the older Houdini with the most recent Apprentice license. If you install the old Houdini with the default setting, it will install an old license server. However, SideFX no longer support free Apprentice licenses via old license servers. All you need to do is one of the following (based on "this entry of the official FAQ"):
      • Before installing the old Houdini, first install a latest Houdini with the default settings (i.e. with license server). Install the old Houdini without the license server component. Then you can use the old Houdini (which runs with the new license server).
      • If you have already installed the old Houdini with an old license server, reinstall the latest Houdini again to overwrite the license server.
    3. Install SciPy

Windows

We refer the Houdini-Scipy installation on Windows to the guide on Houdini tech blog. It relies on the Houdini build with Python 3, which is the default version as you download Houdini. You may follow the Step 0 and Step 5 above (in the Mac/Linux section of this page) to make sure whether the installation is successful.