Houdini is a high-end 3D animation package developed by Side Effects Software which headquartered in Toronto, Canada. Its main distinction from other packages is that it has been designed as a purely procedural environment.
Houdini covers all the major areas of 3D production, including:
* Modeling - All standard geometry entities including Polygons, (Hierarchical) NURBs/Bezier Curves/Patches & Trims, Metaballs
* Animation - Keyframed animation and raw channel manipulation (CHOPs), motion capture support
* Dynamics - Rigid Body Dynamics, Computational Fluid Dynamics, Wire (Curve) Dynamics, Cloth Simulation
* Lighting - node-based shader authoring, lighting and re-lighting in an IPR viewer
* Rendering - supporting a variety of renderers; besides Mantra: Renderman, mental ray and various 3rd party support
* Volumetrics - generations/population/manipulation/rendering of scalar- and vectorfields
* Compositing - full compositor of floating-point deep (layered) images
* Plugin Development - development libraries for user extensibility
Like Maya, Houdini is an open-environment and uses the popular Tcl/Tk scripting language and toolkit (as opposed to the proprietary MEL used in Maya). Houdini also has its own CShell-like scripting language, Hscript. However, any major scripting languages which support socket communication can interface with Houdini. As of version 9, Houdini also offers Python as a substitute to hscript and the original expression language.
Houdini\'s procedural nature is found in its operators - digital assets are generally constructed by connecting sequences of operations (or OPs). This proceduralism has several advantages: it allows users to construct highly detailed geometric or organic objects in comparatively very few steps compared to other packages; it enables and encourages non-linear development; and new operators can be created in terms of existing operators, a flexible alternative to non-procedural scripting often relied on in other packages for customisation. Houdini uses this procedural paradigm throughout: for textures, shaders, particles, \"channel data\" (data used to drive animation), rendering and compositing.
Houdini\'s operator-based structure is divided into several main groups:
Operators are connected together in networks. Data flows through, manipulated by each operator in turn. This data could represent 3D geometry, bitmap images, particles, dynamics, shader algorithms, animation, audio, or a combination of these. The paradigm is similar to that employed in node-based compositors such as Shake or Nuke.
Complex networks can be grouped into a single meta-operator nodes, allowing users to create their own sophisticated tools without the need for programming. These nodes can be regarded as a visual programming language made more interactive and accessible to artists.
Houdini is unique in its very rich set of tools, which are usually implemented as operators. This has led to a higher learning curve than other comparable tools. Also unique to Houdini is the range of I/O OPs available to animators, including MIDI devices, raw files or TCP connections, audio devices (including built-in phoneme and pitch detection), mouse cursor position, and so on. Of particular note is Houdini\'s unique ability to work with audio, including sound and music synthesis and spatial 3D sound processing tools. These operators exist in the context called \"CHOPs\" for which Side Effects won a Technical Achievement Academy Award in 2002.
VEX (Vector Expression) is one of Houdini\'s internal languages. It is similar to the RenderMan shading language. Using VEX a user can develop custom SOPs, POPs, shaders, etc. The current implementation of VEX utilizes SIMD-style processing.
Houdini is bundled with a production-class renderer, Mantra, which has many similarities to PhotoRealistic RenderMan in its scope and application. Micropolygon rendering is supported, allowing high-quality displacement operations as well as traditional scan-line and raytracing modes. Shaders are scriptable and composed in their VEX language, or by using VOPs; their node-based interface to programming VEX. Mantra (as does Houdini itself) also supports point-clouds, which can be similar in application as brickmaps in Renderman. This allows more complicated light interactions, such as sub-surface scattering and ambient occlusion, to be produced with lower computational overhead. Mantra can perform extremely fast volume rendering, and also Physically Based Rendering - a technique which attempts to more accurately model the interactions of light.
Industry Reception & Use
Historically, Houdini\'s main strength has been its particle animation system, and its major weakness its unintuitive animation tools. As a result, its use was relegated to special effects. However, in more recent versions these tools have been vastly improved and it has been used in the various feature animation productions, such as The Wild, a major Disney feature film as well as the feature animation Ant Bully.
Derivative Inc. is a spin-off of Side Effects Software that markets a derivative of Houdini called TouchDesigner. Tailored toward real-time OpenGL-generated animation, it was used on rock group Rush\'s 30th Year Anniversary Tour to produce dynamic graphics driven directly by the musicians.