(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.
Updates
(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
Bug Fixes
(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
Bug Fixes
(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.
Updates
(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
Bug Fixes
(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!
Updates
(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
Bug Fixes
(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.
Updates
(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
Bug Fixes
(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.
Updates
(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
Bug Fixes
(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.
Updates
(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 (1.2.1.8
(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
Bug Fixes
(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.
Updates
(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.
Bug Fixes
(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
Bug Fixes
(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.
New Tools
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.
Updates
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
Bug Fixes
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. Also added docs and examplefile.
Updates
(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.
Bug Fixes
(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.
(18.5.629) Updated Unreal materials for Vertex Animation Textures ROP 3.0 to enable smoothly interpolated trajectories.
Bug Fixes
(18.5.627) Fixed some minor issues with Vertex Animation Textures ROP 3.0: made sure error nodes checks the correct attribute names; changed some Time Shift SOPs' clamp range to the ROP's frame range instead of global animation frame range.
(18.5.627) Fixed issue in Branch Placer tool where the multiparm that allows you to set the rotation of input branches (3rd input) would not correctly get saved with the hip. The mechanism previously used to auto-populate the multiparm has now been replaced with a button that initializes it for the user. This is more robust in general, and also helps prevent accidental changes to the multiparm due to input changes.
(18.5.694) Added Network Walk shelf tool that allows for installing/uninstall a new network walk behavior through bound hotkeys.
Updates
(18.5.695) Cleaned up some of the code. Removed the angle snapping mode which was either broken or probably not very useful to begin with.
(18.5.690) Updated Labs Index page in help docs.
(18.5.690) Using now PySide2 instead of Qt.py + updated deprecated functions and some py2/py3 compatibilities.
(18.5.690) Updated Qt.py to 1.3.
(18.5.689) Added a Labs namespace to the VHDA OPmenu entries.
(18.5.689) Added Unity import setting presets to Vertex Animation Textures ROP 3.0 so it's easier to apply the correct settings to the imported meshes and textures.
01 Sep 2021 Updates
(18.5.675) Added support for the new Conditional VAT feature in Vertex Animation Textures ROP 3.0 so it can export a first-frame only texture to be used together with Render Targets in Unreal. Added a material function / shader sub graph output respectively to RBD mode and particle mode; it outputs the piece/particle final position, which takes into account any parameters that can affect the piece/particle position. Fixed a bug with RBD mode where if the max revolutions per frame was lower than 1, the derived max RPF was wrong. Updated docs and tooltips based on the aforementioned features and changes
Bug Fixes
Fixed deprecation warning in the StickerPicker tool. Also moved the python code into labs namespace to prevent conflicts.
Fixed deprecation warning in QuickTip tool.
Fixed some deprecation warnings in Parmwatcher for Edit in External Editor functionality.
(18.5.682) Attempted to fix a bug with Imposter Textures ROP where it would load after its last update.
(18.5.679) Removed some unused nodes in Imposter Texture ROP. Changed the default value of Remove Insides to off on LOD Create SOP as that functionality is sometimes producing unexpected results.
(18.5.679) Fixed issue in the docs for Lightning sop. (Missing Images)
(18.5.676) Fixed deprecation (py3) warnings in some XML UI code.
(18.5.676) Fixed issue in Curve Sweep where the tool would try to generate end caps for the line mode, where no caps should be generated regardless if the toggle to generate them was turned on.
(18.5.676) Fixed UV Seam that appears in the Tree Trunk Generator and Tree Branch Generator when enabling displacement on the mesh. Also fixed same issue for UV Blending.
15 Aug 2021 Updates
(18.5.668) Added the ability to override Display Frame parameter and get pivots from the rigid material function in Vertex Animation Textures 3.0 ROP. Updated VAT shader tooltips. Updated some tooltips for *Make Loop 2.1 SOP.
(18.5.661) Added a small new feature to Vertex Animation Textures 3.0 ROP to print last render's embedded data to the node's interface so it can be compared with the values you will see in Unreal when you turn on Debug Embedded Data. This helps you more easily determine if the decoded values displayed in Unreal are indeed correct
(18.5.660) Updated the documentation of the SkinningConverter to mention the bonedeform sop as a way to preview the skinning decomposition
(18.5.660) Added bonedeform to the skinningconverter demoscene to make it clear how to preview the result
(18.5.660) QuickMat sop when set to Principledshader will now allow users to specify a displacement texture
Bug Fixes
(18.5.662) Fixed issue in Branch Generator where the grid behavior parameter would not get correctly saved to the .hip.
(18.5.661) Fixed the Mosaic unwrap mode on RizomUV Unwrap. Also updated the default path to point to RizomUV 2020.1
(18.5.661) Fixed bug in Edit in External Editor for users on Linux so that they can now set the EDITOR variable to just an executable instead of a path.
(18.5.660) Fixed an issue with Vertex Animation Textures 3.0 ROP where the sprite card UVs are not correctly calculated due to a previous update to the tool. Changed a few shader parameter default values and updated some tooltips.
(18.5.660) Fixed a raw string deprecation warning in the OBJ+MTL Importer.
(18.5.660) Fixed issue in Measure Curvature where the concavity and convexity parms were switched for the blurring parms.
(18.5.660) Progressive Resample will now preserve all incoming attributes on the curves.
(18.5.660) Fixed issue in UV Transfer where the point numbers would change after the node. It will now only affect the attributes and not the topology.
(18.5.659) Fixed an issue with Vertex Animation Textures 3.0 ROP where error nodes inside compiled blocks don't propagate the message to the ROP level. Added a few changes to make sure LODs work correctly with Rigid-Body Dynamics mode. Added a feature to detect incorrectly prepared RBD input where they are packed after the solver, not before, causing prim intrinsic pivot to change every frame with P.
01 Aug 2021 Updates
(18.5.655) Uploaded Unity URP shaders for Vertex Animation Textures ROP 3.0. Added motion blur support for all modes. Added LOD export support for Soft-Body Deformation and Rigid-Body Dynamics modes. Converted parts of the network to compiled blocks to speed things up
(18.5.647) Changed how Dynamic Remeshing (Fluid) mode in Vertex Animation Textures ROP 3.0 encodes textures. This new method reduces this mode's texture memory consumption by around 70%. Fixed an issue with all four modes' material parameter Display Frame which wasn't progressing the animation smoothly as its value increased
(18.5.645) Updated how Make Loop SOP 2.1 handles particles born and dying outside the range of the loop. They used to be removed, which means all particles may be deleted if their original life expectancies are very long. Now there is an option to adjust their "age" and "life" attributes in addition to the removal option
Bug Fixes
(18.5.645) Fixed an issue with Motion Vectors ROP where if the camera was not facing the -Z direction, the computed motion vectors were wrong.
SideFXLabs is preparing for the H19 release, and has quite a few new fantastic tools and workflows using new H19 tech we're excited to show you! We have also been doing a big pass on code quality, which means a lot of tools have had parts of their functionality refactored. Please submit any issues that have arisen because of this with support. Thank you!
Updates
(18.5.717) Added ability to provide a custom name attribute in Align and Distribute. Also fixed a bug in the splitting by name logic, as well as a minor cleanup of internal nodes
(18.5.716) Added the ability to set the Extrusion Mode on the Thicken sop. The user can now choose between the original behavior (point) or Edge/Prim normal
(18.5.715) Released Mesh Tiler 1.0. This new iteration of the tool works on packed primitives and has received a UX pass as well as a performance improvement in overall cooking speeds
Bug Fixes
(18.5.716) Fixed an issue in the OSM Import sop where it would fail when toggling "Generate Marker Nodes" was enabled.
(18.5.708) Fixed bug in Terrain Mesh Output where the 0-1 UV toggle would produce bad UVs when enabled..
(18.5.708) Gaea TOR Processor will now allow the resolution of the input Heightfield to change when auto-cook is enabled.
(18.5.708) Fixed regression in Niagara ROP due to code cleanup.
(18.5.707) Fixed regression in ParmWatcher that happened when trying to set the editor interactively.
PSA: If you are manually downloading from Github when installing Labs, please be aware that the default branch called "Development" will start shipping Houdini 19 functionality as soon as it releases. To download Houdini 18.5 Labs, make sure you use the "Houdini18.5" branch which will be created at that time.
New Tools
(18.5.728) Added Edge Smooth tool. This tool will smooth edge-groups provided to the tool, and relax the neighbors around it to produce smooth edges.
(18.5.724) Released Name from Capture Weight. This small utility helper tool will detect what the bone with the highest skinning weight influence is on a point, and store its name and index as a point attribute. Useful for exploding skinned geo by name for inspection.
Updates
(18.5.730) VHDA Dialogue now respects UI scaling
(18.5.723) Released Edge Damage 2.0. This update adds mesh clean up and processing to get more consistent results. The results of Boolean and VDB are more similar (because the noise is linked). General smaller tweak to have better results
(18.5.721) Fixed some naming inconsistencies in Sticker Placer. All references to "Sticker Picker" have been replaced, including docs
Bug Fixes
(18.5.730) Fixed bug in Simple Rope Wrap where it didn't allow negative rotation values for UVs.
(18.5.722) Fixed displacement texture sampling issue in Tree Branch Generator and Tree Trunk Generator.
(18.5.722) Fixed UV issue in Branch Generator of the tree tools. UV blending should now work in engine too.
(18.5.722) Fixed issue in Pick and Place where the tool would throw an error if you tried deleting placed objects while "Place on Others" is turned off.
The Labs team hopes you have been enjoying H19 so far. The Github repository has now deleted the temporary Houdini19.0 branch, and is now using the default Development branch for its primary work. The tags and releases have also been ported to reflect the update to Houdini19.0.
Please also note that as usual, Labs has deprecated several nodes in favor of functionality now found in Houdini itself:
labs::voxelmesh //deprecated in favor of remeshgrid
labs::color_adjustment // deprecated in favor of attribadjustcolor
labs::color_gradient // deprecated in favor of attribadjustcolor
labs::rokoko_mocap // deprecated in favor of kinefx::mocapstream
labs::neuron_mocap // deprecated in favor of kinefx::mocapstream
labs::multi_file // deprecated in favor of filemerge::2.0
labs::texture_sheets // deprecated in favor of new tool coming soon
labs::motion_vectors // deprecated in favor of new tool coming soon
New Tools
(19.0.426) Released Material to Override. This tool will generate a material_override attribute based on the assigned material on a per-primitive level. Useful for getting a dictionary format description of assigned materials.
(19.0.426) Released Capture and Embed. This tool found in the network editor menu allows you to quickly capture any region on your screens, and places it in the network-editor as an image. Useful for embedding references.
(19.0.426) Released PolySlice. This HDA slices polygons into strips of polygons or polylines.
(19.0.426) Released FileCache++. This node is a more enhanced version of the new filecache found in Houdini, and uses PDG to allow for quick iteration and caching of work. Included with this functionality are also: Karma LOP, Render Geo, Karma ROP, Filecache++ TOP.
Updates
(19.0.426) Calculate Occlusion has been deprecated in favor of MaskbyFeature sop. This tool now produces the same (or better) results
(19.0.426) Marmoset Export now supports Marmoset Toolbag 4. It has also been refactored to better support multiple material types using a new materialmapping system. The tool now also allows for a simple "Export", which enables GoZ-like functionality
(19.0.426) EdgeGroup To Curve now supports invoking the tool with a pre-existing selection of edges
(19.0.426) Thicken now allows for invoking the tool with an already existing selection
(19.0.426) Texel Density SOP now allows for scaling the UVs in-place and therefore skipping the layout step
(19.0.426) Simple Rope Wrap now has a second output that contains just the spine curves of the rope
(19.0.426) QuickMat now uses a material override approach for creating and assigning materials to geometry. This means it no longer has editable internals, and can also be safely used inside the Houdini Engine plugins. The tool also has a button to revert back to the old approach for those that still need it
(19.0.426) The Vector Field Eport sop is now compatible with VDB as input. It will auto-convert VDB vel volumes to native vel.x, vel.y, vel.z float volumes. The tool has also been renamed to adhere to Houdini naming scheme. It was previously called "ROP Vector Field"
Bug Fixes
(19.0.426) Reset Viewport will no longer throw an error in LOPs. Note however that this script is not yet supported in LOPs.
(19.0.426) Fixed issue with GoZ import in Houdini 19 for py3
Before the update, I would like to welcome a new member to the Labs team: Danicka Oglesby!
22 Nov 2021 New Tools
(19.0.439) Added a new Network Editor menu utility tool Node to Network Origin which will move the current node to the network origin, along with all other items. Updated Reset Viewport to allow you to specify the Scene Viewer's external object visibility when you call the function.
Updates
(19.0.444) Removed VHDA Labs code, since the tool is now found in H19 by default
(19.0.442) UV Unitze now also allows for scaling UV shells uniformly to fit 0-1 based on the largest axis when using the "Input UV Shells" mode
(19.0.442) Removed HelpCard python module in favor of a new solution. (Which can be found in labutils.py)
(19.0.437) Refactored reset_viewport Python module to support resetting Floating Pane Tab Scene Viewers and split Viewports. Now the function also correctly resets lighting, Reference Plane, camera locking, and all five Scene Viewer Toolbars' visibilities
(19.0.430) Added "Tangent" as an alias for Polyframe SOP. It configures the node to MikkT tangent by default
(19.0.430) Feature and quality of life updates to Cylinder Generator and updated documentation.
(19.0.429) Renamed Retime to Simple Retime to better reflect the tool. This will not break any already existing files using the old retime node.
(19.0.429) Added missing docs for the latest version of QuickMat.
Bug Fixes
(19.0.442) Fix extra data being written at the end of FGB file in Vector Field Export.
(19.0.442) Axis Align alias will no longer override parm values in Match Size if a user has created overridden permanent defaults in Match Size.
(19.0.430) Fixed a step in AV Texturing to properly apply UV data to resulting mesh
(19.0.455) Added Show in File Browser to the File menu, for easy browsing to the save location of the currently open hip file.
(19.0.455) Added Show in File Browser RMB option when clicking on string parms. This allows you to very easily browse to the specified file or directory on the machine.
(19.0.448) Added Flipbook Textures ROP which streamlines volume or non-volume flipbook rendering, compositing, and packing processes using H19's latest viewport rendering features.
(19.0.447) Adding Superformula Shapes that creats 2D shapes based on the superformula ellipse equation.
Updates
(19.0.455) Added warning dialog if nothing is selected when using Number Items (CTRL+Click)
(19.0.454) Quickmarks now using embedded images with Data Block functionality.
(19.0.454) Added parameters to add_network_image() to attach it to an item in the network editor and to define custom bounds.
(19.0.454) In sidefxedu.py merged appendItems() into numberItems() and added 'append' argument to the function
(19.0.449) Added initial version of Unreal shaders for Flipbook Textures ROP
(19.0.449) Deprecated Labs MatCap in favor of a new matcap shader that ships in Houdini
(19.0.449) Replaced the MatCap shader used in QuickMaterial to use the new built-in shader in Houdini
(19.0.447) Minor tweaks to Superformula Shapes to bring it in line with submission criteria, and minor update to UV calculation.
Bug Fixes
(19.0.456) Terrain Layer Export now checks to see if the supplied directory has a forward slash at the end of the directory to work with HDAs in game engines
(19.0.447) Static Fracture Export now throws an error when you try and export packed primitives without a valid name attribute.
(19.0.455) PhysicsPainter should no longer select the generated temp nodes when you hit dry paint. Previously in some instances it would jump to a different place in the network
(19.0.447) Fixed label on SketchFab ROP. It now sits in the Labs namespace.