(18.5.401) Added Rokoko Mocap sop. This node allows for the streaming of live mocap data from Rokoko Studio.
(18.5.401) Added Unreal World Composition Prepare. This nodes prepares all the attributes you need for the world composition support in Unreal Engine using V2 of the Houdini Engine plugin.
(18.5.414) VHDA has had a big update to improve the functionality and add some new things too. You can now set the Tab menu category, set defaults you like using the new preferences window and more
(18.5.406) The Destruction Cleanup sop will now warn the user if the required attributes have not been found, or if no packed geometry has been detected
(18.5.406) Renamed the Labs HF Insert Mask and Labs HF Combine Masks HDA to use “Heightfield” instead of “HF”. This solves the issue of these nodes showing up above the HF node in the tab search results
(18.5.402) Released VoxelMesh 2.0 with bugfixes, UI cleanup and more in preparation for it becoming part of Houdini itself
(18.5.401) The SkinningConverter is now KineFX compatible. That means that it will no longer generate OBJ level rigs, but instead generates three outputs. 1. Skin, 2. Rest Pose, 3. Animated Skeleton. This feeds directly into a bonedeform or FBX export node. Also updated docs and icon to reflect changes
(18.5.401) Changed UV Visualize to no longer scale the UVs to increase tiling of the grid texture, but do the scaling in the shader instead. NOTE: This requires Houdini 18.5.401 to properly function. Also cleaned up interface and exposed the UV attribute to be used. This means you can now also choose to look at different UVsets in the viewport without changing your primary UV attribute
(18.5.401) The MapsBaker now has the ability to render rounded edges configured on a principledshader
(18.5.401) Added a new set of stickers to the Sticker Picker. These are all created by and courtesy of Shari Solo - @shari_sol
(18.5.401) The MapsBaker now allows for rendering out single frames, but also frameranges. In order to do this, new parameters have been added at the top of the parameter interface
(18.5.401) MapsBaker now applies pixel padding between UVShells to produce even better maps
(18.5.406) Fixed issue in Gaea Tor Processor where a grid pattern would appear on non-power of two heightfields. The tool will now warn you, and do a better job at resampling from non-power of two inputs.
(18.5.406) Fixed issue in Gaea Tor Processor during node instantiation in the Python 3 build.
(18.5.406) Disabled a print in the Ruler python state.
(18.5.402) Fixed output connector color on AutoUV node
(18.5.402) Fixed issue in Skinning Converter where some skinning would produce bad results when processing based on incoming name attributes.
(18.5.401) Fixed GoZ plugins to work in the python3 builds.
(18.5.401) Building Generator now works in python3 build
(18.5.401) Corrected the attribute type for tile splitting in the Unreal Worldcomposition Prepare tool. Also fixed a viewport issue
(18.5.401) PBR Shader no longer throws a material definition error when you create it in recent daily builds of Houdini.
(18.5.401) Updated Cut Geometry to Partitions and Workitem Import TOP demoscenes.
(18.5.401) CSV Exporter is now python3 compatible
(18.5.401) Flowmap Brush is now working in the Py3 build of Houdini.
(18.5.401) Fixed issue in MapsBaker where heightmaps would be inverted when baking using a cage mesh.
Hi everyone! First of all, happy new year! The below update contains the changes from December 1st - December 15th. It didn't get posted until now due to the holidays. The next update will be January 15th. Enjoy!
15 Dec 2020 Updates
(18.5.424) Added output node back to Filter By Value TOP. Also added help card for version 1.1
(18.5.423) Extended Labs Filter by Value TOP to support filtering by greater than or less than a given value. Increased version to 1.
(18.5.422) Added missing docs for Substance Material sop
(18.5.421) File>Crash Recovery>Open Crashfile now supports hip files not on the same drive as the $HOUDINI_TEMP drive.
(18.5.421) Removed Axis Align from SideFXLabs Shelf in Houdini. NOTE: Dropping down Axis Align has been dropping down Match Size for a while now, and that is the correct behavior. That node is the replacement for Axis Align
(18.5.420) Updated AliceVision integration to support 2.3.0 / Meshroom 2020.1. (Be sure to download the new binaries attached to the tutorial!)
(18.5.416) Moved the Edit Extra Sections Source Code option of the rightclick menu up to help people with muscle memory expecting type properties to be there
(18.5.421) Updated Cut Geometry To Partitions TOP to fix loading error in newer versions of Houdini.
(18.5.421) Fixed bug in AutoUV where existing hip files would complain about missing parms.
(18.5.421) Fixed issue in Terrain Texture rop. This prevented it from being instantiated.
(18.5.420) VHDA Renamed the "Reset Defaults" button to "Restore Factory Defaults" to clarify what things get reset to. Also fixed a bug where a created HDA would not work in all contexts. Also fixed minor wrapping issue on the asset creation window.
(18.5.415) VHDA will no longer auto-update the type name if you modify the label. Also allowed the major version number to become 0, for cases where you dont want a version number at all. (0 will not add a ::0 to your type or .hda)
(18.5.415) MapsBaker is now able to better write UDIM maps if shells cross two or more tiles. Previously it would cause streak artefacts in the output map.
(18.5.415) Fixed issue in VHDA where the bump version dialog would crash when an HDA uses an invalid icon.
(18.5.415) Pick and Place now preserves the normals (if found) of incoming geometry.
(18.5.455) Added a new tool called Edge Damage in SOPs that will allow you to very easily add edge wear to your geometry. This is very useful to add some detail to geometry to for example make it look old. Not only useful to modify geo, but also to generate masks for shading purposes. Tool courtesy of Simon Verstraete.
(18.5.457) VHDA dialog has been cleaned up a bit more to support longer filepaths. (auto resize). Added support for disabling version number. When creating a new asset, the end digits of the node names will be set as major version. Default Menu Entry (tab menu category) can be set by preferences
(18.5.456) Released big update to RBD>FBX. It now uses the new hierarchy from attribute functionality found in the FBX exporters. This technically means this node could be deprecated, but since it is a convenient tool (and heavily used) it will remain in the toolset
(18.5.455) Added docs to Edge Damage
(18.5.455) Added support for 2-Edge Decoding and 2-Corner Decoding in the Wang Tiles Decoder SOP. Also added the required sample geometries that you need. Also updated the demoscene to show these in action
(18.5.451) Implemented the ability to bake geometry using a name attribute as a bake mask in MapsBaker. This is disabled by default and needs to be enabled in the advanced settings under sampling
(18.5.448) Exoside QuadRemesher is now py3 compatible on Windows (minor issue to be fixed on Linux&Mac in next few days). Also, the tool is now supported on Linux as per popular request
(18.5.457) Fixed a bug in Destruction Cleanup where it would incorrectly merge & optimize pieces because of pieces going to sleep mid-sim in bullet. This should now no longer happen.
(18.5.451) Fixed the number of points the Spiral sop generates. Parameter said 300, but the tool would generate 301. (mixed segments with points)
(18.5.449) Fixed the attribute naming for Measure Curvature. Convex is now called convex, and Concave is called concavity, instead of being swapped.
(18.5.449) Fixed bad parameter default value on AV Photogrammetry node. This would throw a warning when cooking.
(18.5.449) Fixed issue in AV Photogrammetry where the editable nodes were configured incorrectly. This cause some warnings to not be promoted correctly.
Before the update, I would like to welcome a new member to the Labs team: Mai Ao!
(18.5.487) Gaea TOR Processor is now able to use opdef: syntax for specifying TOR files. This means you can now embed the tool in HDAs and bundle the tor files
(18.5.486) Data Diff TOP now supports FBX files. It will convert the FBX to bgeo internally before diffing
(18.5.486) Filter by Value TOP now has a checkbox to invert the result of the filter (keep opposite
(18.5.486) Filter by Value TOP now supports checking if an attribute "startswith", "endswith" or "contains" a certain substring. This works on both strings aswell as floats and ints. (It will just cast those to strings before comparing)
(18.5.484) Fixed heightmap baking error in MapsBaker. Also added the support for baking Material ID maps
(18.5.479) Static Fracture Export now exports packed prims to OBJ level with the pivot information stored on the OBJ level instead of baked into the geometry at sop level. This should make transforming the geo post operation (Ex in engine) a lot easier
(18.5.479) Moved the help card for Ruler out of the labs_toolset.shelf file into a new directory help/shelf/ which is where all help cards for non-operator should now go. However, currently there is an issue where Right clicking the tool and going to Help, or hitting F1 while the state is active, opens a blank page
(18.5.479) Add support for construction plane intersection to the ruler tool
(18.5.478) The 2D WFC Solver is now py2 and py3 compatible. It should also produce identical results between the two. Note: This compatibility update resulted in a new definition, meaning already existing instances of the node will not be updated. Only new instances will
(18.5.478) Rewrote Merge Small Islands to use the latest versions of measure and uvflatten inside. This should significantly improve stability and overall performance. NOTE: This is a version bump, meaning already existing instances of the node will NOT update for backward compatibility reasons
(18.5.478) Added option to restore input scale for PivotPainter sop. Controls if the output of this sop should restore the geometry to Houdini units. This does NOT affect the exporting process of the node, and is only really useful if you want to do further processing on the geo before exporting
(18.5.478) PivotPainter now has an output connector again at user request
(18.5.477) Updated the documentation of Pick and Place to list all possible interactions with hotkeys
(18.5.477) Updated Mapbox tool to fix some precision errors on the OSM data, aswell as cleaning up the interface and implementing new features. You can now disable attribution watermark (see docs on rules!), download sattelite data in different styles, and even provide your own style. Also updated documentation to reflect the significant changes
(18.5.466) Released Unreal PivotPainter 2.0 support. There are some significant changes to the workflow, so be sure to read the updated documentation. The example file has also been updated to reflect these changes
(18.5.485) Fixed an imageplane name issue in Substance Material sop. The basecolor for the principledmaterial now uses the "baseColor" coming from substance instead of the "diffuse". This better matches the shader in Houdini.
(18.5.479) Fixed an issue in DemBones Skinning Converter where it would throw a permission error on instances of Houdini without administrator permissions.
(18.5.478) Fixed regression in UV Visualize where scale 10 would result in a scale of 1 instead of 10.
(18.5.477) Fixed shader definition issue on MatCap shader. (Required for newer builds of Houdini)
(18.5.507) Added Concatenate Text TOP, which combines multiple textfiles into a single file.
(18.5.500) Added Remove UV Distortion sop. It will try and remove distortion from pre-existing UV Shells by inserting new seams.
(18.5.492) Added Labs Calculate UV Distortion, which will calculate the distortion amount on your UVs based on "Texture Stretch Metric" in "Texture Mapping Progressive Meshes", by P. Sander, J. Snyder, S. Gortler, and H. Hoppe. It is the same technique used by the default visualizer in Houdini.
(18.5.515) Refactored the Terrain Texture ROP to use PDG under the hood (incl parm interface), and it no longer uses editable nodes. This makes it faster and easier to embed. The tool also got renamed to Terrain Texture Output to be in line with Houdini terminology
(18.5.514) Added option to control the axis objects will be placed on when using grid mode in Align and Distribute. Also cleaned up UI
(18.5.514) Changed output file naming scheme on Terrain Mesh Output node, so it matches the updated Terrain Texture Output which will be released soon
(18.5.514) Refactored the Terrain Segment ROP and renamed it to Terrain Mesh Output to be more in line with Houdini terminology. It is now much faster and produces better meshing results. It is now also python 3 compatible and no longer uses editable nodes to export geo, making it easier to embed in other nodes.
Did a big refactor of Inside Faces UVs to solve the issue where it outputs split geometry instead of just adding UVs without modifying topology. Also rewrote docs and UI to reflect that. Tool is now also compileable and uses group parms to expose more functionality to the user
(18.5.501) PivotPainter 2.0 now has the option to export pow2 textures instead of perfect matches
(18.5.515) Fixed issue on Substance Material SOP where it wouldnt cook when changing the SBSAR path, or when pressing reload.
(18.5.515) Expression Editor now properly saves the config file in HOUDINI_USER_PREF_DIR on all platforms. Previously it would not on Mac.
(18.5.504) Fixed bug in XYZ Exporter where an internal chref had broken and prevented exports.
Obj importer will now sanitize the material names from the mtl file so that the material nodes inside it can use those names. Before, if a material had an illegal character like '+' we would fail to create the material node. I also added a try-except to the hda module in the LoadMTL function. If no mtl file is found, the node will no longer throw up an error window. The node will still have a warning message, but at least the user won't have to click out of anything.
(18.5.501) Fixed issue in Boxcutter where it would throw an error when deleting the node while the tool state was active.
(18.5.500) Fixed an incorrect chref in Calculate UV Distortion for the uv attribute to be used.
(18.5.500) Fixed the bug where Labs Motion Vectors ROP didn't output correct screen space velocities and didn't render point velocites at all. Also fixed the bug where the last frame of the atlas was dropped due to a mistake in frame range calculation.
(18.5.499) Fixed noise parms not being hooked up for all modes in Edge Damage.
(18.5.499) Fixed an issue in PBR Shader on mac where the fragment shader was using "half" as a variable name, which is a reserved keyword on MacOS.
(18.5.494) Fixed the issue in Vertex Animation Textures ROP where the Real-time Data / materials JSON file records "Soft" no matter what outputs method was used.
(18.5.529) Added Archive Project TOP. The Archive Project TOP node attempts to collect all, if not, most external file dependencies. It essentially facilitates cherry-picking external dependencies from a list, and fixing up references in the generated hip file for archiving. Tool courtesy of Jeffy Mathew Philip.
(18.5.534) Updated the 1.0 version of InstantMeshes to be using the deterministic algorithm by default. Also cleaned up UI and added documentation. Note: This update is primarily for Mac users, since Windows + Linux have the 2.0 (HDK) version of the tool
(18.5.532) Instant Meshes will now create the older version of the node when the user platform is Mac. This because the newest version of the tool does not work on Mac
(18.5.529) UV Unitize now has a new mode called "Input UV Shell", which allows you to unitize entire UV Shells instead of simply unwrapping every face
(18.5.525) Updated internals of Dissolve Flat Edges to use a __ prefix for the internal group names to avoid user created group conflicts. Also added a group parm
(18.5.534) Fixed an issue in MapsBaker where using any other downsampling filter than point would produce bad seams in the output texture. This has been resolved by changing the order of operations (extrapolate boundaries first, then downsample)
(18.5.534) RizomUV Unwrap with the mode set to custom group now works again. The tool will also no longer error when you click the group select dropdown when you dont have any edgegroups.
(18.5.528) Fixed an issue in Vertex Animation Textures 2.1 where the content plug-in button doesn't work with Python3.
(18.5.522) Fixed a small remaining issue in "Vertex Animation Texture 2.1" related to the last commit about missing name point attribute.
(18.5.522) Fixed a bug with Vertex Animation Textures 2.1 rigid mode where if the name attribute is not present on points while the orient, rest, pivot attributes are, the ROP implicitly throws an error that doesn't give tell users to add the missing attribute. The fix ensures that if name is missing on points, it will be fetched from unpacked geometries, or created automatically if that fails too.
(18.5.547) Added Network Editor Painter. This new tool found in the network editor menu bar allows you to draw in the network editor, and store the results in a background image. Very useful for annotating or annoying colleagues. Please note that drawings are stored in $HIP/drawings and the path is currently absolute due to limitations in the background image functionality.
(18.5.543) Added the ability for Color Ramps to rightclick them and press "Sample Screen Colors". This will then allow you to move your cursor while holding LMB down to sample any color visible on your screen. Once LMB is let go the ramp will be populated with the sampled colors as keys.
(18.5.549) Extract Filename now allows you to specify a custom file sop to extract the filenames from, instead of just using the sop directly above
(18.5.548) Network Editor Painter now uses a round brush, which looks much better
(18.5.547) Updated Gaea TOR Processor default preset to work with latest Gaea (188.8.131.52
(18.5.547) Updated documentation for PivotPainter. Users are now also able to feed a custom up vector on pivots instead of relying on internally calculated tangents. (Which would produce weird results on non-box-like meshes
(18.5.547) Updated PivotPainter to produce better results that match the 3dsMax script more. The tool now also has a range parameter allowing you to specify what range the exported Extents should be in, instead of the hardcoded 2048 before. Doing this allows you to get far more precision in UE5. NOTE: This funtionality is not yet in the 3dsmax tool, but will be coming soon. Also fixed incorrect parentindex on multi-branching geometry
(18.5.540) Changed how Progressive Resample resamples under the hood to better work with a variety of curve types. The scale attribute now controls length in worldspace rather than relative to curve length, aligning better with the normal resample node
(18.5.540) Deprecated the RealityCapture plugin nodes due to the SDK used for the integration no longer being supported by Capturing Reality, and the nodes therefore no longer being able to cook. We are however in talks with Epic to decide if or how we might be able to continue to support the RC plugin in the future
(18.5.546) Fixed the colors that the colorsampler produces for ramps. They had to be color corrected.
(18.5.539) Fixed an issue in Mapbox SOP 2.0 (though the latest version is 2.1, which doesn't have this issue) where the polygon export of the map was rotated 90 degrees around Y for unknown reasons. Removed the rotation.
(18.5.556) Predefined sticky notes can now be made using the Education Shelf Sticky Notes tool.
(18.5.554) Added Flowmap Distort VOP so that you can now render flowmaps created in sops using Karma/Mantra/Redshift/etc very easily. The tool takes a diffuse texture, uvs, and color/flowmaptex as input.. And returns the result of the distorted textures.
(18.5.554) Added Random Selection SOP. This tool provides multiple intuitive ways to isolate, color, or group a random subset of input points or primitives.
(18.5.560) Fixed some minor fusing bugs in Thicken, as well as adding support for groups and improved middle seam disolving technique
(18.5.560) Flowmap Visualize now allows for exporting animated vertexcolors instead of only functioning as a viewport only shader. This might be useful for people wanting to do cheap but art-directable 2D fluid sims
(18.5.560) Brought back Group by Attribute at request of customer. (Previously deprecated)
(18.5.560) Fixed an issue with Make Loop SOP 2.1 that when particle wrap mode is set to "Spawn at Start ...", it creates flickering in Niagara due to interpolations when the particles comes in and out of visibility
(18.5.559) Changed Niagara ROP's default export attribute list to include all the ones Niagara will need for correct looking results
(18.5.559) Make Loop SOP has been updated from 2.0 to 2.1. Fixed the issue where particles aren't affect the loop number parameter. Added several particle-related new features to fully support correct looping in Niagara
(18.5.556) Added help link to Sticker Placer button shelf tool
(18.5.555) Changed title for Parameter Diff tool help page
(18.5.555) Updated documentation for Extract Silhouette to include all present parameters. Also fixed a bug with handling holes (eg with a torus). Also fixed bug where surface normal flipped at random sometimes
(18.5.554) FBX Archive Import now has a convert units checkbox like other FBX nodes recently got.
(18.5.563) Fixed issue in Alicevision SOPs where they would fail cooking on py2 builds if user their environment had any special characters in them. Upgrade to 2021 coming soon.
(18.5.563) Fixed some issues in 3D Facebook Image ROP where it would sometimes render old data to disk. This was caused due to some bugs in comp ROP, which has now been replaced with a custom solution.
(18.5.560) Fixed broken video links in Vertex Texture Animations ROP documentation.
(18.5.555) Fixed Number Items missing definition in the edu.shelf file
(18.5.553) Fixed issue in Diff Parms python panel that prevented other python panels from being loaded.
(18.5.571) Upgraded the AliceVision tools to support Meshroom/Alicevision 2021.1.0. With this update, support has now also been added for providing a bounding box input for the meshing step to isolate regions of the reconstructed point-cloud for optimized reconstruction. This input is optional, and is only allowed to be a transformed box. Aditionally, the texturing step now has a second optional step as well that allows you to feed in a custom mesh to be used for the texturing step. A possible workflow is now to retopologize the geometry output from the meshing step (eg quadremesher + uv) and have AV texture that instead of texturing the highpoly. All default values for the parameters have also been updated to match the defaults in Meshroom for optimal processing. Docs have also been updated to reflect the aforementioned changes
(18.5.571) Extract Filename now also exports the file directory as a detail attribute
(18.5.567) Updated Measure Curvature significantly. The tool is much faster now, and has its parm decoupled from the measuring process and instead applies those as a post-process allowing for faster cook times. The single color is now centered around 0.5 grey, several parameters such as uniform contrast have been replaced with a ramp, visualizer buttons have been added, and pameter ranges have been reworked to make more sense overall. Please note that this release also changed the definition to a new namespace to fix a spelling error in the name. If you want the older version of the tool you need to opunhide labs::measure_curvarture::2.1
(18.5.567) Updated Number Items documentation
(18.5.578) Fixed issue in AutoUV udim where it would not properly place the 1010 tile.
(18.5.576) Fixed Quickmark framing and added support for module reload in both py2 and py3
(18.5.574) Terrain Texture Output now uses HOUDINI_TEMP_DIR instead of TEMP. Fixes some path issues on Linux
(18.5.571) Fixed minor cooking bug in OBJ Importer that would not always refresh if you changed the filepath of the incoming geometry.
It appears the build number tags are broken on Github, and will therefore also not be present in this changelog. Apologies. The tech ops team is looking into the issue.
Added Attribute Import COP. This node will import attributes from geometry into COPs based on the specified uv attribute. This is useful for doing image processing on for example mask attributes you generated in sops. This is very similar to tech used in the MapsBaker, but bypasses the whole baking to disk step, allowing for more procedural setups.
(18.5.583) Added Boolean Curve. This tool is very similar to the regular boolean found in Houdini, except that it is made specifically doing a boolean on polycurves using input geometry.
Made some improvements to the Substance Material sop. By default diffuse and roughness are no longer gamma corrected. Also changed the texturesampler to sample R channel instead of Luminance for Roughness and Metallic
Dissolve Flat Edges now has the option to preserve attribute boundaries when deciding when an edge should be dissolved or not. This allows you to for example preserve UV shell borders when decimating geometry using this tool. (Or keep multiple correct material assignment
The simple baker node feeds from the Games Baker node. Fixed Games Baker to subdivide before the bake avoiding subdivision issues.
Buiding Generator had concave instead of convex and viceversa in one of the lines of code.
Destruction Cleanup takes a very long time to cook due to the chunking optimization SOP Solver being run on heavy scenes. Added a toggle parameter called "Optimize Pieces Into Chunks" that defaults to On but will allow users to switch that network off if they need to.
Fixed Filter By Value to cast parameters to type of work item value before comparison.
Fixed UDIM baking issue for heightmaps in MapsBaker.
Fixed edge-case where MapsBaker would not bake correctly when you feed a polysoup as the primary input (lowpoly).
Fixed a regression caused by the earlier UV optimization. Tree Branch Generator would have UVFlatten inside crash when the radius of any branch would be 0 for the ends.
Fixed issue in group logic of Branch Generator in the Tree tools. The input of "Branch on Group" parm was inverted.
Fixed issue in VHDA where HDAs created in /OUT would throw an error when being instantiated.
(18.5.606) Added Simple Rope Wrap tool at request of Marketing. Also added docs and examplefile.
(18.5.602) Education Sticky Notes are now created at the center of the visible network.
(18.5.602) Updated the Number Items help page.
(18.5.602) Number Items now does not do anything if no items are selected (to prevent accidental deletion of numbers.
(18.5.602) Changed Archive tool on Education shelf to create nodes at /obj level.
(18.5.602) Added appendNumberItems() and clear() methods to the numberItems() tool.
(18.5.606) In Vertex Texture Animations ROP 2.1 redirected the references to the external Python module "explore.py" to the respective new name "labs_explore.py" and locations "labsopui". Fixed the playbar setting button which didn't work. Fixed Pos 2's explore button which didn't work.
(18.5.606) Relocated and renamed a few Python modules that was causing naming conflicts for some clients. Changed implicit relative import to absolute import. I suspect they were created because of Vertex Texture Animations 2.0+ but was later made generic. I assume the original intention was for them to be useful to other tools as well. Other tools' dependencies on the old files will be updated in ensuing commits and as I discover them.
(18.5.605)Fixed the PivotPainter examplefile. The tree example had the scale set incorrectly.
(18.5.604) Fixed issue in VHDA where the text fields for user, branch and type would force the cursor to go to the end of the line when trying to edit text not at the end.
(18.5.604) Fixed issue in PARMmenu.xml that would throw an error if you RMB click on a locked parameter.
(18.5.603) Set the workingdir in the AliceVision nodes python process, which should fix occasional errors about some library files not being found on Linux.