qLib

A procedural asset library for SideFX Houdini

Download latest version View on GitHub

About

qLib is a procedural digital asset library for SideFX's Houdini. It is a collection of tools designed to work in accordance with Houdini's native toolset. It improves the production process by allowing you to spend more time on what you want to achieve instead of how to achieve it.

qLib is open source software licensed under the New BSD license. It's developed by VFX professionals from several studios, working on feature films, game cinematics and commercials.

Feature highlights

Some highlights of what's available in qLib:

  • Generation, manipulation and visualization of geometry attributes and groups
    • Scalars and vector types (Vector, Vector Jitter, etc.)
    • Build attributes using rules (Attrib Builder) or volumetric shapes (Attrib Shape)
    • Access topology details as attributes (number of connected edges, etc.)
    • Modify attributes with various methods (remapping, direction reorientation, etc.)
    • Visualize attributes (scalars and vectors) and groups (point- and primitive-groups)
  • Boundary geometry generation and manipulation
    • Determine boundaries of animated geometry
    • Camera-related geometry: camera frustrum, camera plane (with from/to persp projection)
    • Clip geometry outside frustrum; keep all geometry within specified bounds; etc.
  • A complete deformer suite, implemented with a common deformer framework
    • The most common deformer types are available (Bend, Taper, Twist, Bias, etc.)
    • Common framework provides standardized parameters, sophisticated placement controls, etc.
    • Even some default Houdini deformers are reimplemented using the framework
    • Additional "non-standard" deformers (deform by NURBS surface, point cloud, motion path, etc.)
  • Re-implemented versions of certain original Houdini operators
    • Multithreaded, very fast variants (Ray qL SOP, Scatter qL SOP)
    • Improved ("convenience") variants of original OPs (TimeBlend, Peak, PointJitter, etc.)
  • Other ways of generate and manipulate geometry
  • Workflow-related tools
    • Waypoint SOP: a FileCache SOP variant with important additions
      • Quick setup with many presets for various filename components (folder, name, extension, etc.)
      • When the node is deleted, it can clean up after itself by deleting the files on disk (optional)
      • Easy-to-setup saving of sub-frames
      • Options for building ROP networks to run multiple Waypoints in proper order
    • Shot qL (OBJ): a single operator for storing all shot-related information (frame ranges, etc.)
    • Shot Builder (OBJ): for automatically importing many Alembic files into the scene
    • Environment qL (OBJ): automatic and manual setup of variables, etc.
  • A large collection of gallery items (node and subnet presets)
    • Lots of various stuff that is very useful but would be too inflexible to use as assets
  • Shelf tools
    • A small but very useful set of shelf tool items
  • Installation

    The installation process involves two steps: getting the contents and setting up the environment for Houdini.

    There are two ways to get the contents of the library. You can download a compressed archive file or you can clone the official repository with Git. While installing from an archive may sound a bit simpler, we still recommend you to use Git for the additional benefits of instant updates and easy access to older versions and development branches.

    Note: the recommended variant to download is the dev branch as it always contains the latest updates and bug fixes (and it's stable enough for daily use).

    From Archive File

    Simply download the current version by pressing one of the download buttons and unpack it to the place where you want to install qLib.

    Cloning the repository with Git

    In order to use Git, you first have to install it. Every modern Linux distribution has a Git package. Use your choice of package manager to install it. On Windows download and install Git on Windows, on OS X do the same with git-osx-installer.

    After installing Git, open a terminal and clone the repository. On Windows use git bash which is a pretty decent shell included in Git on Windows. Go to the directory where you want to install qLib and run git clone with the url of the repository.

    $ cd PLACE/TO/INSTALL
    $ git clone https://github.com/qLab/qLib.git
    

    Later if you want to update the library just go into your cloned repository and run git pull.

    $ cd qLib
    $ git pull
    

    Setting up the environment

    To finish the installation you must tell Houdini to load the assets by setting the HOUDINI_OTLSCAN_PATH environment variable. You can skip or postpone this step if you want to try out individual assets by loading them manually.

    The easiest way to do this is to put the following lines into your houdini.env file:

    QLIB=PLACE/TO/INSTALL/qLib/otls
    HOUDINI_OTLSCAN_PATH=@/otls:$QLIB/base:$QLIB/future:$QLIB/experimental
    

    Note that on Windows you should use semicolons instead of colons as path separator, so the last line on Windows should look like this:

    HOUDINI_OTLSCAN_PATH=@/otls;$QLIB/base;$QLIB/future;$QLIB/experimental
    

    Further reading and other places of interest

    qLib comes with fairly extensive documentation. First and foremost every asset should have a help card describing the asset's functionality and behavior.

    Other aspects of the library are covered in the Wiki.

    If you think you ran into a bug, please report it on the project's issue tracker. RFEs are also welcome!

    If you need help, have a question or just want to keep up with the news regarding qLib, feel free to join us on our Google Groups page.

    Archives of older versions can be downloaded from the Tags section of the Github page.


    Thank you for your interest in qLib!

    The qLib Team