| On this page |
Overview ¶
SideFX Labs is a free, open-source, and artist-friendly toolset developed by SideFX. It contains hundreds of Houdini Digital Assets (HDAs), various Python modules, game engine plugins, Houdini UI extensions, custom VEX functions, and more. The tools are developed outside the regular Houdini development cycle which makes them more accessible for testing and feedback.
-
See the Labs overview page on the SideFX website for a high-level introduction.
-
Browse the source, report issues, and follow active development on the SideFX Labs GitHub repository.
-
We're always looking for feedback — if something isn’t working or could be better, let us know.
Install ¶
Installation instructions are maintained on GitHub, where we can keep them up to date as things change:
SideFX Labs Installation Guide (GitHub)
The guide covers installation via the Houdini Launcher, command line deployment for studio environments, and manual installation from GitHub for specific versions or Steam users.
Nodes ¶
-
Labs 2D Wave Function Collapse
The main WFC node: The solver.
-
Quickly render a 3D scene to a 2.5D image that can be uploaded to Facebook.
-
Match all features between candidate image pairs using Alicevision.
-
Retrieves the depth value of each pixel from the cameras using Alicevision.
-
Configure which images to process using Alicevision.
-
Creates a dense geometric surface representation of the scene using Alicevision.
-
The complete Alicevision photogrammetry pipeline.
-
Detects 3D points with position and orientation and calibrate the cameras accordingly using Alicevision.
-
Texture the generated mesh using Alicevision.
-
Aligns and arranges geometry pieces in linear or grid layouts.
-
Utility TOP to Collect and Archive current HIP file dependencies
-
Imports geometry attributes as image planes using a UV attribute
-
Labs Attribute Normalize Float
Normalizes floating-point attribute values to a specified range.
-
Labs Attribute Normalize Vector
Normalizes vector attribute lengths to a specified range.
-
Replaces attribute values with user-defined values.
-
Automatically generates UV attributes using one of multiple algorithmic methods.
-
Automatic Trim Texturing node.
-
Evolve all the attributes on the terrain to create more realistic results.
-
Labs Biome Attributes to Terrain
Assign the base biome attributes onto the terrain
-
Scatters plants on an example mountain terrain with one biome.
-
Labs Biome Configure Multibiomes
Scatters plants on an example mountain terrain with multiple biomes.
-
This node sets the necessary attributes on curves created in Houdini to use with Labs Biome Region Assign SOP.
-
Define the biome attributes for the Biome Toolset.
-
This node reads biome information from the disk file or writes to the disk file from input Biome Define SOP nodes.
-
Defines the plant attributes for the Biome Toolset.
-
Labs Biome Plant Definitions File
This node reads plant information from the disk file or writes to the disk file from input Biome Plant Define SOP nodes.
-
Scatters plant species points across the surface of an input heightfield by matching input plant types with their preferred environmental conditions.
-
Labs Biome Plant Scatter Import
Import a biome plant scatter from SOPs to LOPs.
-
Delineates biome regions for the Biome Toolset workflow.
-
Generates a blackbody ramp, or colorizes a black and white image with a blackbody ramp
-
Performs boolean operations between a polycurve and polygonal geometry.
-
Clips geometry using a resizable box-shaped region.
-
Performs interactive boolean cuts in the viewport for hard-surface modeling.
-
Generates detailed building geometry from low-resolution blockout meshes using modular components.
-
Labs Building Generator Utility
Creates and configures building modules for use with the Labs Building Generator.
-
Creates buildings from blockout geometry defined by a pattern of floor modules.
-
Export geometry attibutes to a CSV file.
-
Creates and simulates cables based on curve or geometry input.
-
Calculate the slope of a surface by comparing to a direction, and optionally blur and remap the result.
-
Computes an approximate thickness value for geometry using inward ray casting.
-
Calculates the UV distortion of a mesh.
-
Generates a capsule mesh.
-
Generates different chaotic maps.
-
Removes from an edge group all the edges that are not borders between different primitive islands identified by an island attribute.
-
Refines cluster boundaries by propagating cluster influence across neighboring elements.
-
Blends Color data on 2 separate meshes based on common algorithms
-
Merges one or more text files into a single file.
-
Labs Connect Polygon Neighbours
Creates points at polygon centroids and optionally connects neighboring polygons.
-
Labs Connectivity and Segmentation
This node segments geometry based on connectivity, UV islands, proximity clustering, and custom attributes. This is very useful when paired with the multithreaded functionality of compile blocks.
-
Cooks geometry with optional time limits and controlled execution.
-
Swizzles Quaternions in order to change rotation spaces
-
Reorders Vector Components
-
Scatters curves over curves, with many intuitive controls to go from clean geometric branches to organic vines. Duplicates of this sop can be chained together for recursive growth, approximating the look of L-Systems but much more controllable.
-
Labs Curve Resample by Density
Redistributes points along curves based on density criteria.
-
Labs Cut Geometry to Partitions
Cuts up incoming geometry
-
Create a tube from a curve, with UVs and normals.
-
Diffs a variety of geometry, text and image files.
-
Project a decal (localized piece of geometry and a texture) onto geometry.
-
Removes pieces based on connectivity and size
-
Remove light and shadow variation from photogrammetry textures.
-
Converts a single mosaic (flipbook/subuv) image into a sequence of sub images based on the frame
-
Prepare rigid body simulation results for export, reducing redundant geometry, cleaning normals, cleaning attributes.
-
The Detail Mesh SOP allows you to project a so called detail mesh onto template geometry.
-
Creates a geometry “skirt” where an object intersects a ground surface. The skirt is intended to serve as a soft blend region when imported into a game engine.
-
Create a polygon disc with UVs.
-
Remove edges on flat surfaces.
-
Calculates the distance for each point from the nearest unshared edge
-
Color sharp edges on geometry
-
Adds procedural damage along hard edges to create worn, eroded, or aged-looking geometry.
-
Converts edge groups to polycurves.
-
Smooth an edge-group found in input geometry.
-
Exports a UV wireframe image for use in external texturing workflows.
-
Extract curves from Meshes
-
Stores the filename of a file SOP as its detail attributes to be then used in other SOPs.
-
Extracts image metadata, such as the resolution, bit depth, color model, etc.
-
Create an outline of an object projected from either an axis, or from a camera.
-
Import an FBX as an archive similar to how the Alembic Archive sop works.
-
Computes Gaussian curvature using a fast angle-deficit method.
-
Identifies and groups unshared geometry elements.
-
This node performs Houdini’s native remeshing operation on partitioned geometry, processing each piece in parallel which greatly reduces the calculation time of traditional remeshing.
-
Caches (writes out once and then reads from) geometry (possibly animated) to disk.
-
Caches (writes out once and then reads from) geometry (possibly animated) to disk.
-
Partition work items used for file caching
-
Partitions and generates work items based on range and wedge values for file cache.
-
Filters one or multiple work items by specific attribute values.
-
Quickly generate and render fire simulations using presets for size varying from torch to small to 1m high and low
-
Renders, composites, and exports flipbook textures.
-
This utility tool sets up a flowmap template on your input geometry.
-
The flowmap distortion applied on a texture usable for renders
-
The flowmap obstacle SOP allows for easy modifications on the flowmap based on geometry.
-
The flowmap SHOP is a GLSL based viewport shader to preview flowmap shaders.
-
A high quality realtime preview of a flowmap texture in the Houdini viewport.
-
The flowmap to color SOP converts the flowmap data to vertex colors
-
Generate Textures based on a High Poly to Low Poly match
-
Labs Gas Expand from Temperature
Creates divergence from temperature change.
-
A simple flamefront combustion model.
-
Labs Generate from Imageplanes
Generates work items based on image planes found in an image
-
Sends Houdini Mesh data automatically to Zbrush
-
Contains GoZ data sent from Zbrush
-
Generates a texture that can be used as a simple resolution checkerboard
-
Creates Groups for Inside and Outside corner points
-
Converts Attributes to Groups
-
Allows for grouping geometry based on properties that can be measured
-
The Guide Flowmap modifies a flowmap based on a guide curve.
-
Simplifies the process of blending masks together in Heightfields
-
Allows you to insert a layer from another heightfield.
-
Generates a hexagonal grid.
-
Generates a geometric representation of the Houdini icon.
-
This OBJ sets up a camera rig to be used with the Impostor Texture ROP
-
The impostor tool creates texture sheets to fake 3D objects in your game engine.
-
Create UV’s for inside faces of Voronoi fractured geometry.
-
Builds and manages instance-related attributes for geometry instancing workflows.
-
Export geometry attibutes to a JSON file.
-
Renders USD stages using Karma with integrated caching, wedging, and TOPs workflows.
-
Labs Karma AOVs for RenderMan Denoiser
Generates AOVs for the Pixar RenderMan denoiser.
-
Renders images using Karma through TOPs with file versioning, wedging, and scheduling support.
-
Allows for easy LOD generation.
-
Creates and export an LOD Hierarchy as FBX.
-
Generate lightning effect around meshes
-
Takes one or two input volume sequences and creates a seamlessly looping volume animation.
-
Finds edge loops or quad loops from manually or procedurally selected start edges.
-
Divides polygons into panels.
-
Imports the assets from a directory.
-
Creates a variant set from USD assets in a directory.
-
Generates a camera from one of the random positions within a specified 3D camera dome and frames the focus object within the camera’s view.
-
Prepares the keypoint metadata.
-
Prepares the label metadata.
-
Labs ML CV Promote Synth Attribute
Converts an attribute into a format compatible with COCO JSON.
-
Labs ML CV ROP Annotation Output
Outputs a ground truth JSON per frame and then aggregates them all into a COCO JSON file for the full dataset.
-
The base template for synthetic dataset pipelines.
-
Labs ML CV Synthetics Karma Rop
Renders RGB image or ID EXR file for segmentation masking.
-
Adds geometry attributes needed for the mask ground truth pipeline.
-
Creates the ground truth for 3D vectors.
-
Labs ML CV Visualize Keypoints
Visualizes keypoints and their connections.
-
Takes a mesh or volume that is animated and loops them.
-
Generates Mandelbulb geometry.
-
Generates textures bakes from a high resolution to low resolution model at near interactive speeds.
-
The Marmoset Export ROP allows you to quickly generate an mview inside Houdini
-
Generates material_override attributes per primitive based on the assigned material.
-
Measures the convex and concave curvature of a model.
-
Consolidates Small UV Islands into Larger Neighbors
-
Merges disconnected Polylines together like the Polypath Sop, cutting them at intersections. But with specified conditions, while preserving and merging attributes and groups.
-
Sharpens the geometry based on curvature
-
Clips the geometry into multiple submeshes based on a 3d grid pattern
-
Makes packed geometry lying on a plane tileable.
-
Multiple Min/Max/Average analyses in a single node.
-
Viewport shader for motion vector textures
-
Generate Several Bounding Boxes For the Input Mesh
-
Detects what the bone name of the highest skinning weight influence is.
-
Export point caches to be used with Unreal’s Niagara particle system.
-
Export point caches to be used with Unreal’s Niagara particle system.
-
Simple Helper Node to generate the default Normal Color
-
Overlays 2 normal maps together
-
Convert a grayscale image into a normal map
-
Invert individual channels on an image
-
Adjusts black point, white point, and midrange to increase, balance, or decrease contrast on a Normal Map.
-
Rotates a normal map while correcting recalculating it’s internal vectors
-
Ensures the normal map is balanced in a unit vector
-
Import an OBJ File including its materials and textures.
-
Generate Buildings from OSM Data
-
Isolates Specific OSM Data Layers
-
Imports Open Street Map Data
-
This is a CVEX based Lens Shader used to generate Impostors.
-
Physically Based Viewport Shader
-
Takes a point cloud with attributes and exports them as 2 CSV files to be used with Unreal Engine PCG system.
-
Import input and output files attached to a work-item in PDG
-
Deform geometry along a curve.
-
This node creates paths between points of interest on a given terrain based on cost and avoidance attributes.
-
Labs Physical Ambient Occlusion
Computes ambient occlusion, generates dirt masks, as well as identifies peaks and valleys on meshes.
-
Allows users to paint physics objects onto any other object.
-
Allows you to interactively place individual objects in a scene.
-
Warps a source mesh to match the shape of a target
-
Slices new polygonal edges or points into the primary input geometry from the secondary input in various configurations.
-
Slice polygons into polygons or polylines
-
Generates polywire geometry from curve networks with consistent UVs and orientation.
-
Apply modeling changes to deforming geometry
-
The procedural smoke SOP will generate an animated volume to represent smoke.
-
Resamples a curve progressively based on an attribute
-
A mantra wrapper for previewing pyro renders.
-
Generates a quad spherical mesh.
-
Converts triangulated meshes back into a quad-dominant topology by collapsing diagonal edges and repairing resulting N-gons.
-
Generates a simple procedural tree for rapid prototyping.
-
Generate polystrips on fractured geometry for extra destruction detail in game engines.
-
This tool allows for fast export of an RBD Sim to bone based FBX
-
Reorders points and primitives in a radial way.
-
Randomly selects a subset of input points or primitives.
-
This tool removes inside faces for objects that are intersecting.
-
Remove UV Distortion tries to reduce UV distortion by inserting new seams
-
Renders cached or merged geometry with controlled loading, display, and render settings.
-
Quickly repairs an area of a mesh
-
Enables the use of RizomUV and performs a UV optimize inside Houdini
-
Enables the use of RizomUV within Houdini.
-
Enables the use of RizomUV and performs a UV rectangularize inside Houdini
-
Enables the use of RizomUV and performs a UV unwrap inside Houdini
-
Generate roads from curves or OSM data
-
Example HDA from the Rebirth Project to generate Sci Fi Panneling
-
This node generates connections between points of interest based on angle and distance calculations.
-
SOP Based Baking of Texture Maps
-
Retimes animated geometry using a ramp.
-
Generate a rubber band like rope around an object based on inputs.
-
Creates simple 2D shapes.
-
Deforms a mesh based on a sine wave curve
-
Uploads geometry to Sketchfab
-
Uploads geometry to Sketchfab
-
Skinning Converter is a SOP that can convert any non-changing topology deforming mesh sequence into a bone based animation.
-
Creates geometry to an input mesh that mimics snow build up.
-
Soften Normals is a convenience SOP that is frequently used to prepare geometry for baking.
-
Extracts frequency-based features from scalar or vector attributes.
-
Creates a POP Fluid simulation setup for splattering.
-
Labs Split Primitives by Normal
Splits primitives into separate outputs based on their primitive normals.
-
The Static Fracture SOP takes static geometry data from sop level, and separates them into newly generated geometry containers on object level
-
Generate the central curve (straight skeleton) for 2D input shapes.
-
Generates a curve based on the internal structure of a mesh
-
Orients a mesh based on up and front groups.
-
Load Substance Archive (SBSAR) Files into COPs
-
Loads a Substance archive and assigns it as a PBR material.
-
Creates 2D shapes using the superformula equation.
-
This node analyzes a HeightField and generates cost and avoidance attributes.
-
The terrain layer export SOP exports a heightfield with the correct settings for Unreal.
-
The terrain layer import SOP exports a heightfield with the correct settings from Unreal.
-
The Terrain Mesh Output allows you to convert the plugged in heightfield into (tiled) geometry.
-
The Terrain Texture Output renders image data from a heightfield.
-
A scan of Luiz Kruel.
-
A scan of Paul Ambrosiussen.
-
Measures, visualizes, and calculates UV texel density.
-
Extrudes a mesh along it’s averaged normals
-
A GLSL toon shader based on the Guilty Gears GDC 2015 talk
-
A GLSL toon shader based on the Guilty Gears GDC 2015 talk
-
Generates Curves from Photoshop file layers.
-
Generates tree branches
-
Generates procedural tree branches on trunks or existing branches.
-
Places and shapes procedural tree branches with interactive and rule-based controls.
-
Controls other tree nodes
-
Controls global growth, deformation, pruning, and meshing settings for Labs tree nodes.
-
This tool extracts geometry and pivot points from trees created with Labs Tree Generator tools for use with Labs Unreal PivotPainter.
-
Generates leaves on procedural tree branches.
-
Generates a simple leaf mesh for preview and procedural foliage workflows.
-
Generates a tree trunk
-
Generates the trunk of a procedural tree.
-
Interactive version of the Trim Texture node.
-
Helps preparing trim texture geometry for a Trim Texture workflow
-
Displacing geometry based on a triplanar projection
-
Rotates the input geometry around itself based on the timeline
-
This is a CVEX based Lens Shader used to generate Impostors.
-
Creates a UDIM tile number attribute on primitives, points, or vertices.
-
Marks and optionally repairs UV overlaps.
-
Transfer UVs between a source and target geometry.
-
Scales primitives or UV islands to fit within a unit UV space.
-
Unwraps cylindrical shaped meshes.
-
Visualizes UV attributes and properties.
-
Exports hair to Unreal Engine.
-
Pivot Painter stores model pivot and rotation information for geometry used in a shader.
-
Takes a curve and turns it into an Unreal Spline, it can import and export multiple splines.
-
Labs Unreal Worldcomposition Prepare
Prepare heightfield and actor instances for use with World Composition in Unreal
-
Converts the input volume/VDB field to a VDB vector field and updates how the vector field will respond to transformations downstream.
-
This node evaluates the geometry types of the input geometry and returns a warning message if the specified geometry type and type count are not found.
-
Export a vector field, compatible with Unreal Engine.
-
Labs Vertex Animation Textures
Exports a mesh and a set of textures to be used with a shader for complex real-time effects, such as: soft-body deformation, rigid-body dynamics, dynamically remeshed geometries, and particle sprites.
-
A simple utility that creates arrow indicators on poly primitives displaying their vertex order.
-
Visualizes vectors as arrows.
-
Adjusts volume visualization mode (default / normals / motion vectors), density, colors (including greyscale colors), emission, and viewport rendering quality.
-
Take a volume as an input and export a texture of the density field.
-
A utility tool to initialize a WFC grid to be used with the WFC Solver
-
A utility tool to paint attribute values on a grid used by the WFC Solver
-
A decoder that decodes color information into Wang Tilesets.
-
Sample tiles that can be used as Wang Tilesets.
-
Creates work items with varying attribute values.
-
Export a pointcloud to XYZ file.
-
Compresses a VDB sequence and caches it to disk as a single .zibravdb file.
-
Compresses a VDB sequence and caches it to disk as a single .zibravdb file.
-
Loads a single .zibravdb file from disk and decompresses it as a VDB sequence.
-
Performs compression and caching, or loading and decompression, of a VDB sequence to or from a single .zibravdb file.