- houdini hda tools focused on procedural modeling environments .
- open source work in progress , many thanks to sidefx and other libraries and tutorials .
DOWNLOAD | INSTALL NOTES | HDA TOOL LIST | ALL | WEBSITE
- DOWNLOAD , extract zip to any local path
- Copy zenv.json to ( C:/Users/USER/Documents/houdini18.5/packages/ ) matching local user and houdini version
- Edit zenv.json file text line to match local path to zenv folder
- Alternatively may copy the included houdini.env to ( C:/Users/USER/Documents/houdini18.5/ ) editing to match local path of zenv folder
- Install reccomended houdini libraries
jump to category :
CREATE | Â | PLANTS | ITEM | PATH | |||
---|---|---|---|---|---|---|---|
LAYOUT | MODIFY | REMOVAL | CHARACTER | ||||
UV | QA | TEXTURE | VFX | ||||
CAM | MESH | LINES | |||||
COLOR | _________ | MATERIAL | _________ | NORMALS | _________ |
click names below for tool example :
______ | ||
---|---|---|
z GEN BRICKMAIN 01 | stone brick variation generator , creates set of low and hipoly for baking | |
z GEN STAIRWAY | creates stairway made of bricks , optional guideline and collision avoidance | |
z GEN STONE BRICK CIRCLE | creates a circular brick section by even voronoi fracturing extruding toward center . applies noise and bevel to resemble stone | |
z CURL LINES THEN PLACE SPIRALS | creates curllines on the surface of mesh then copies spirals to the geometry with collision detection | |
z GEN CIRCLES RADIATE PATTERN | creates circular patterns inspired by Seigaiha . scatter circles , then radiate those circles outward while avoiding intersection by order or generation . | |
z HELIX ALONG CURVE | creates multiple spiraling helix curves around input guide line | |
z GEN ROCK THIRDS | creates a rock stylized by lot subdivision rule of thirds , setup for PDG | |
z DIFFUSION REACTION TUBES | fill mesh with intestine brain like tubes based on simulated diffusion chemical reaction | |
z CURL LINES LOOP | creates lines curling on input mesh surface using curlnoise loop | |
z DRIP GRUNGE | drips grunge under overhangs , longer when near more drip neighboors | |
z GEN REVOLVE BASIC | creates revolved mesh path deformed to backbone curve , input profile and backbone curves | |
z WIRE OVERLAPING OFFSET | creates wires from input curves rayed to ground collision offset near neighboor wires | |
z GEN PILLAR | generate pillar - holding multiple brick generators and circle brick generators assembled to create a full pillar . | |
z GEN ROCK 4m | creates a simple rock , with fractured surfacing | |
z GEN TUBES FINDPATHS FROM CURVE | creates tubes that find a path to not intersect other tubes following along the length of a guide curve | |
z GEN CRACK BRANCHING | creates branching crack mesh used for booleaning other meshes | |
z GEN GIZMO | axis gizmo for debug | |
z GLASS BOOLEAN | input mesh with irregular shaped holes , creates an intersection plane cut to fit , adds inset with vertex color falloff from edge for shader | |
z GEN LATTICE GRIDMESH | creates a box of grids with interior points ideal for use as a lattice deformer | |
z GEN HEXA STRUCTURE | creates a hexagon support structure based on input mesh | |
z GEN RUNES | creates rune like symbols |
______ | ||
---|---|---|
z PLANTS HELIX ROOTS | create winding intertwined roots from a guide line . | |
z PLANTS VINES W LEAVES | creates vines conforming to surface of object guided by line with iterative collision avoidance on vine and leaves | |
z PLANTS MOSS HANGING | creates hanging placements of moss mesh | |
z PLANTS VINES GUIDED | creates a vine tube using a wandering path finder guided variably by a curve or direction vector | |
z PLANTS TREE PATHFIND | creates tree using shortest path curves scattered connected around collision objects and self | |
z PLANTS FUNGI | creates a fungus mushroom mesh | |
z PLANTS LEAF | creates a hipoly leaf mesh | |
z PLANTS BARK | creates bark pieces for tree | |
z PLANTS BARK PLACER | layout bark on mesh surface guided by curves , smooth aligned , used with tree | |
z PLANTS PETAL FORM | creates petal from curve backbone and multiple warped elipse curves defining the shape changes over the length of the backbone | |
z PLANTS SCATTER LEDGE | places hanging plants aligned along edges of input mesh with collision checks |
______ | ||
---|---|---|
z ITEM ABILITY ICON | creates variety of icon of ability in TOPS by wedgenum | |
z ITEM RING | creates ring item variants , helix , diffusion tubes , rock gemstones , in TOPS by wedgenum | |
z ITEM RING FROM IMAGE | creates a projected 3d ring from isometric image , setup for TOPs processing folder of images to 3d relit renders | |
z ITEM SWORD | creates sword item variants | |
z ITEM SWORD FROM IMAGE | creates a sword mesh from image , traces , orients , thickens by skeleton , uvs projected , baked to vertex colors | |
z ITEM HELM | creates variety of helm items in TOPS by wedgenum | |
z ITEM HELM FROM IMAGE | projects a helm mesh from image | |
z ITEM POTION | creates potion item variants in TOPS by wedgenum | |
z ITEM POTION FROM IMAGE | revolves a potion mesh from image | |
z ITEM BOW | creates bow item variants | |
z ITEM STAFF | creates staff item variants |
______ | ||
---|---|---|
z PATH BASE | creates a PATH floor section and collision , this is the base for all path snapmap variants | |
z PATH LEDGE | creates environment mesh for isometric snapmap pieces , used with PATH_BASE | |
z PATH DIRECTIONS | cycle thru 90 degree rotations and mirrored variations . used with PATH toolset | |
z PATH LEDGE CAVE STALAG | creates modular PATH cave for use with snapmap | |
z PATH LEDGE DIFFUSION | creates modular PATH diffusion reaction for use with snapmap | |
z PATH LEDGE FOREST | creates modular PATH forest for use with snapmap | |
z PATH LEDGE POOLS | creates modular PATH pools for use with snapmap | |
z PATH REVIEW | layout path based meshes to review their connections | |
z PATH 2SPLINE COLLISION | input two curves defining the border of a path , creates floor geo and collision for gameplay | |
z PATH ISO EXTRUDE | isometric camera angle extrude , for use with PATH to avoid camera blocking geo |
______ | ||
---|---|---|
z COPY TO POINTS BY PIECENUM INTERSECTIONCHECK | copy variants by piecenum attribute with collision checks | |
z COPY MESH ALONG CURVE DEFORM | pipe / wire curvedeform for houdini engine . copies input mesh without stretching along a curve , adds cuts for smoother bending , projects normals outward from curve | |
z COPY TO EVENLY DISTRIBUTED GRID | copy by piecenum to dynamic evenly spaced grid - useful when baking and review | |
z TILEABLE | copies input to each of the nearby quadrants preview tiling ( 4m default ) | |
z TRANSFORM ITERATE COLLISION CHECK | iteratively move pieces towards nearest goal while avoid itersection with collision ( simplified gravity / attraction sop ) |
______ | ||
---|---|---|
z VORONI FRACTURE GRADIENT OFFSET | voronoi fractures then offsets clusters by multiple world space gradients . useful for rock and cliff forms . | |
z DEFORM BY AXIS | bounding box ramp deformation , by multiple axis ramps | |
z NOISE DISPLACE MASKED | 3d noise ramp creates a mask remaping the displacement of mesh by a second 3d noise . | |
z MESH CHIP CRACK | boolean subtract chipping and crack meshes onto the surface based on curvature and fitting projected crack meshes | |
z MESH WRAP DEFORM BY UV | deform mesh to another mesh by using the flattened UVs , useful to wrap a pattern around another | |
z MESH SURFACE SIMPLE REMESH | ray projects a grid unto the input geo and remeshes then reduces , helpful for fixing chaotic geo and non manifold errors . | |
z PLANARIZE MULTIPLE SURFACES | input mesh surface is segmented by avg n and flattened from multiple directions . useful to randomly planarize from different angles for rock meshes | |
z CONFORM INTERSECTING LERP | conform around a given colllision object if has intersection | |
z STAMP FOREACH PIECE | randomized boolean of one mesh on to the surface of variants . useful for cutting designs into bricks | |
z SPLIT CLIP CREVISE | separate the input into two outputs with an indent along the separation , useful separating environment shell into terraced layers | |
z CUT INTERSECT DARKEN | darken a surface from the intersections of other objects , with option to boolean those cuts in | |
z DEFORM BY HELIX | deform the input mesh by a helix fit to the object bounds | |
z MESH SUBTRACT COLLAPSE END | simple boolean subtract with option to collapse . useful for quick edits in ue4 | |
z MESH SLICER SAVE | separates large meshes into grided sections and exports them to fbx , options for specific area exports , and compatible with houdini engine . |
______ | ||
---|---|---|
z REMOVE PIECES BY VOLUME | for each connected element , remove if doesnt match min or max measured volume , also has options of perimeter or other measurements | |
z KEEP ONLY LARGEST CONNECTED ELEMENT | removes smaller detached objects | |
z KEEP BIGGER OF TWO | takes two inputs and ouputs only one ( bigger or smaller ) | |
z KEEP ONLY FIRST LAST PRIMS | carve for prim lines after segments split | |
z REMOVE THIN MESH | removes prims based on thickness measurement , then can fill in holes , useful for removing thin slivers |
______ | ||
---|---|---|
z UV AXIS ALIGN SNAP | optimize uv location , moves uvs to zero to one space for precision in games | |
z UV ALIGN WORLD | align uv islands to world axis | |
z UV OVERLAP CHECK | a slow tho absolute uv overlap check , by intersection checks , separates all overlaping prims, then repacks | |
z UV TEXEL DENSITY CHECK | check texel density with colorized debug , handles multiple materials with different texture resolutions by specifiying the materials name string and their rez | |
z UV POLYWIRE | creates polywire with specific UVs , useful when sweep is not producing desired bends | |
z UV TRIM | fits uvs into specific trim sheet area while scaling the pieces along an axis relative to their world space | |
z UV LIGHTMAP | UVs creation for lightmaps , stored to uv1 with higher merge threshold |
______ | ||
---|---|---|
z VDB INTERNAL FILL | mesh to vdb to mesh , combines lower res eroded vdbs to fill in internal spaces , useful for airtight lowpoly | |
z VOXEL AUTOSIZE | auto voxel resolution for target polycount , safely lowers resolution on large objects | |
z EDGEGROUP BY UV AXIS | edgegroup based on axis of uvs , useful for polybeveling specific edges procedurally | |
z SHRINKWRAP VORONOI CLUSTERS | similar to convex decomposition , cuts mesh into pieces via voronoi , shrinkwraps those pieces . useful for rocky shapes | |
z REVERSE BY N UP | attempts to fix reversed backfacing normals on multiple sub meshes, useful for fixing exported levels with mirrored ( negative scaled ) objects | |
z POLYREDUCE GRADIENT QUADS | polyreduce setup with gradient retention to keep mostly quads , with secondary reduction | |
z REMESH RAY SPHERE | remesh using sphere around object , iteratively raycast and smooth to approximate shape | |
z TUBE MESH BETWEEN TO CIRCLES | creates a cyllinder between 2 input circles | |
z POLYBEVEL SAFE | polybevel with fix for exploding points | |
z POLYEXTRUDE SAFE | polyextrude with fix for exploding points |
______ | ||
---|---|---|
z CURVE FROM TUBE | centered curve from mesh ( even if mesh has nonuniform topology ) | |
z CURVES FROM UV ISLANDS | for each uv island create a line curve aligned by the longest angle or specific axis . useful for generating tree branch curves from existing low poly trees | |
z MASK TO LINE | creates line from image color | |
z SORT BY LINEAXIS | sorts a line contigously linearly along axis , enforcing a point order on a curved line when sort by axis may skip around |
______ | ||
---|---|---|
z COLOR MASK VERTEX | vertex color RGB mask for game shader . AO grunge , Variation , and localized gradients | |
z COLOR NOISE HI | colors based on curvature ramps , grunge moss for hi poly stones and bricks | |
z COLOR LINES SCRATCH VTX | cuts in elipses and applys vertex colors for stratches along an axis | |
z VERTEXCOLOR CONVERT | converts standard rgb vertex color blending to multilayer vertex blending with alpha |
______ | ||
---|---|---|
z UDIM CONVERT | convert single material UDIM to multiple materials , and reposition the uvs into zero to one |
______ | ||
---|---|---|
z NORMAL AREA WEIGHTED | normals smoothed face area weighted alternative | |
z SMOOTHING FROM UVs | hard edges by uv island for baking |
______ | ||
---|---|---|
z COLLISION INTERSECT CHECK | detect and show intersections with provided collision geometry . useful to avoid clipping into level geometry beyond a specific distance threshold |
______ | ||
---|---|---|
z TEX SEAM BLENDER | blend and blur a texture across uv seams to fix small bake errors and make seamless , additionaly blends intersections of the meshes |
______ | ||
---|---|---|
z VFX SLASH from ANIM | creates a smoothed swipe mesh from animation for vfx , sword slashing |
______ | ||
---|---|---|
z CAM ISOMETRIC | camera with crane\boom arm setup matching isometric game settings | |
z CAM PROJECTION fspy | a wrapper for fspy hda created by floodini , input fspy json creating camera matching ref image perspective then projects that image to floor plane |
______ | ||
---|---|---|
z EXPORT TO UNREAL | applies unreal specific parameters = material parameter conversion , point color to vtx conversion | |
z EXPORT MAYA FBX | applies maya specific detail parameters = named uv channels , named color sets for vertex colors , uv1 to uv2 . |
- HOUDINI_HDA_PLACE_ALL.py = for each hda in a folder creates hython script to place the nodes in houdini
- HOUDINI_PATH_TOPs_CREATE_SET.py = creates hython script to place TOP nodes for each PATH mesh component
- UNREAL_PATH_CREATE_SNAPMAPS.py = for each set of PATH meshes creates unreal map for each corresponding variant
- ZENV_GITHUB_DOC_GEN.py = creates readme and docs from googlesheet and existing files
- SideFXLabs https://github.com/sideeffects/SideFXLabs
- qLib https://github.com/qLab/qLib
- MLOPs https://github.com/Bismuth-Consultancy-BV/MLOPs
- AeLib https://github.com/Aeoll/Aelib
- nLib https://github.com/Njordy/nLib
- mifthtools https://github.com/mifth/mifthtools
- jhorikawa https://github.com/jhorikawa/HoudiniHowtos
free to all , creative commons CC0 , free to redistribute , attribution not required