Houdini Main Changelogs
20.5.232 | Fixed bug where hou.Geometry.intrinsicValue() and hou.Prim.intrinsicValue() incorrectly returned tuple/array intrinsics that happened to have a current tuple size of 1 as non-tuple values. This required identifying intrinsics as scalar or not during registration. In most cases this should not require changes to HDK code. The exception is if your code calls GA_IntrinsicManager::Registrar::addAttribute(), in which case, you'll need to add the new argument. |
Fri. May 10, 2024 | |
20.5.229 | Fixed positions outputs for mx_voronoi VEX functions and kma_voronoinoise2d, kma_voronoinoise3d. |
Tue. May 7, 2024 | |
20.5.224 | Specifying a camera override to husk will now pass that new camera information to any render-time procedurals. For example, the Ocean procedural would previously *always* use the RenderSettings camera to control the dicing of the plane, even if a camera override was specified. |
Thu. May 2, 2024 | |
20.5.222 | MuscleFlex: added a KineFX Rest Skel parameter for when Deformation Style is set to BoneDeform. If BoneDeform is chosen, and a Rest Skel is not provided, an attempt will be made to extract a rest pose from the animated skel. |
Tue. April 30, 2024 | |
20.5.216 | TissueSolidify: reverted all changes to restore the H20.0 version. All new features have been pushed into a version::2.0 of the node. ie, all parm dialog improvements, visualizer improvements, and new layer setup are now in tissuesolidify::2.0 |
Wed. April 24, 2024 | |
20.5.215 | SkinSolverVellum: the sliding limit constraint was reverted back to the extra vellum constraint. Also, fixed a bug in the deferred enabling of collsions. If the Rigid Points group was used, collisions were being enabled on this group unintentionally. |
Tue. April 23, 2024 | |
20.5.209 | Fixed a minor muscle_id naming issue in the Capybara test geometry. R_vastus was properly renamed R_vastus and R_vastuslateralis. Muscle IDs on the right side are now consistent with the left side. |
Wed. April 17, 2024 | |
20.5.207 | Muscelsolidify had a typo in a wrangle snippet that adjusted tetsize with local thickness. This may introduce some different point counts in existing hip files where internal remeshing and thickness based sizing are used. |
Mon. April 15, 2024 | |
20.5.207 | Fixed a bug in the 'hou.ViewerStateDragger' where the dragger did not correctly account for the object-to-world transform when the viewport was set to 'Hide Other Objects'. After this fix, the dragger should correctly respond to interactions when there is an object transform set and the transforms have been set using the matrix returned by 'hou.GeometryViewport.modelToGeometryTransform()'. |
Mon. April 15, 2024 | |
20.5.204 | Improves consistency in Quad Remesh and Tangent Field SOPs output across different platforms. |
Fri. April 12, 2024 | |
20.5.203 | TissueSolidify: now includes parameters to offset the core layer via painted attribute. A Scale parameter is also included. This makes it possible to separate (create gaps) between the tissue and core layers via painted attributes, each independently. When using the attribute and Scale parameters to affect the tissue layer, this may result in some differences in the core layer point count when compared to the result prior to this change. Some parameters have been reorganized, this may produce harmless warnings for existing hip files. |
Thu. April 11, 2024 | |
20.5.202 | PDG processor nodes that are generating work items dynamically may now be invoked with a list of upstream work items, instead of always generating from a single item. This is because the graph evaluation logic is able to coalesce work item generations that are happening around the same time as a performance optimization. The main implication for custom nodes is that work item generation logic must now always specify the parent task when creating a work item in a work item holder, since PDG no longer knows which of the upstream work items should be set as the parent of a newly created item. This was already the standard/best practice for writing nodes that worked both statically and dynamically. |
Wed. April 10, 2024 | |
20.5.201 | The image viewer when isolating a particular plane will do so prior to colour correction, rather than after. This means you will see the equivalent of having manually pre-extracted that channel as a grey scale image. The biggest changes are in alpha and if your primaries of your space and your display do not match. |
Tue. April 9, 2024 | |
20.5.200 | Improves consistency in Quad Remesh SOP output across different platforms. |
Mon. April 8, 2024 | |
20.5.194 | In HOM, fix the erroneous inclusion of packed primitives types when calling hou.Geometry.containsPrimType() and hou.Geometry.countPrimType() with hou.primType.Custom. |
Tue. April 2, 2024 | |
19.5.939 | Fixed hanging in Houdini related to Python SOP nodes. For example, Houdini would hang when cooking Python SOP nodes from Houdini Engine Session Sync, or when a background thread tried to call into HOM while Houdini cooked Python SOP nodes. The fix required restoring old behavior in Python SOP nodes that unfortunately reintroduces an old hang, one at least that is limited in scope. The old hang occurs when Python SOP nodes execute multi-threaded code that calls into the HOM `hou` package from separate threads. If you wish to run such code in Python SOPs, then you can set `HOUDINI_ALLOW_PYTHON_SOP_MULTITHREADING=1` in the environment with the caveat that you may encounter other hangs as detailed above (i.e. cooking Python SOP nodes from Session Sync). |
Tue. April 2, 2024 | |
20.0.666 | Fixed hanging in Houdini related to Python SOP nodes. For example, Houdini would hang when cooking Python SOP nodes from Houdini Engine Session Sync, or when a background thread tried to call into HOM while Houdini cooked Python SOP nodes. The fix required restoring old behavior in Python SOP nodes that unfortunately reintroduces an old hang, one at least that is limited in scope. The old hang occurs when Python SOP nodes execute multi-threaded code that calls into the HOM `hou` package from separate threads. If you wish to run such code in Python SOPs, then you can set `HOUDINI_ALLOW_PYTHON_SOP_MULTITHREADING=1` in the environment with the caveat that you may encounter other hangs as detailed above (i.e. cooking Python SOP nodes from Session Sync). |
Tue. April 2, 2024 | |
20.5.194 | Fixed hanging in Houdini related to Python SOP nodes. For example, Houdini would hang when cooking Python SOP nodes from Houdini Engine Session Sync, or when a background thread tried to call into HOM while Houdini cooked Python SOP nodes. The fix required restoring old behavior in Python SOP nodes that unfortunately reintroduces an old hang, one at least that is limited in scope. The old hang occurs when Python SOP nodes execute multi-threaded code that calls into the HOM `hou` package from separate threads. If you wish to run such code in Python SOPs, then you can set `HOUDINI_ALLOW_PYTHON_SOP_MULTITHREADING=1` in the environment with the caveat that you may encounter other hangs as detailed above (i.e. cooking Python SOP nodes from Session Sync). |
Tue. April 2, 2024 | |
20.5.187 | Modified the signature of the APEX python API function 'apex.graph.connectedPorts'. The first keyword argument has been renamed from 'traverse_subnets' to 'include_subports' and a third keyword argument for 'traverse_subnets' has been added. This fixes a bug where internally the flag to traverse into subnets was always being passed false, and the 'traverse_subnets' argument was actually being used for including all connections to subports. |
Tue. March 26, 2024 | |
20.5.182 | The LOP Output Processors API has had several changes for handling references with stage variable expressions:
|
Thu. March 21, 2024 | |
20.5.169 | Fix the Rig Doctor's Convert Instance Attributes parameter to follow Copy to Points exactly. In particular, it was missing handling for v and pscale/scale were never multiplied together when both are present. This can cause existing uses of it to produce different results. |
Fri. March 8, 2024 | |
20.0.626 | The materialW attribute was not being handled cleanly after updates were made to the way axialramp was being created. Affected nodes include MuscleProperties, MuscleConstraintProperties, and Fibergroom. The materialW attribute will now be created by each of these nodes if it doesn't exist. Some minor discrepancies may also be noticed in attributes like muscleendmask, tendonmask, and muscletobonemask.
|
Thu. February 22, 2024 | |
20.5.154 | The materialW attribute was not being handled cleanly after updates were made to the way axialramp was being created. Affected nodes include MuscleProperties, MuscleConstraintProperties, and Fibergroom. The materialW attribute will now be created by each of these nodes if it doesn't exist. Some minor discrepancies may also be noticed in attributes like muscleendmask, tendonmask, and muscletobonemask.
|
Thu. February 22, 2024 | |
20.5.147 | The Edit Material Properties LOP now prepends referenced material, instead of appending them, to allow the expected ordering of opinions and making the last LOP in the strongest layer take precedence. |
Thu. February 15, 2024 | |
20.0.618 | Added SkinSolidify 2.0: the new version of the skinsolidfy hda uses a different smoothing setup. This includes the ability to use a weight mask attribute to control the interior smoothing and reduce the potential for inversions. |
Wed. February 14, 2024 |