On this page |
User interface ¶
-
You can now save and reuse parameter presets and nodes as recipes.
-
Improved the node info window for LOPs, ROPs, SOPs, and VOPs.
-
Added a mono color editor for grayscale.
-
Added the
Float - Mono
parameter type in the Operator Type Properties window. -
Added the Grayscale View parameter in floating point ramps.
-
Added a Quick Shapes tool to the shelf that lets you create different types of primitive geometry.
-
You can now choose choose Edit ▸ Syntax Highlight to a different syntax highlighting color scheme or create your own using the syntax coloring editor.
-
Added the ability to interrupt the OpenCL kernel compilation.
-
Houdini uses a new hotkey resolution and context system. See Transitioning hotkey systems.
-
Improved the look and feel of viewport HUD widgets and panels.
-
Improved the wireframe representation for HeightFields in Vulkan.
Viewport ¶
Mac
The Vulkan viewport isn’t supported on macOS. MacOS uses the OpenGL viewport renderer.
Vulkan ¶
Note
Currently, the Minimal Pyro Solver runs slower in the Vulkan viewport than it does in OpenGL.
-
Vulkan is now the default viewport renderer.
-
Supports rendering with arbitrary camera clipping planes.
-
Higher quality display in many scenarios.
-
Improved light shading.
-
Improved shadows for area and distant lights.
-
Infinite viewing plane when not looking through a camera.
-
Threaded updates and rendering.
-
More configurable ambient occlusion.
-
The Enable APEX Character Deformation option allows you to display APEX scenes and characters in the viewport without entering the animate state or using an APEX Scene Invoke SOP.
Scripting ¶
For changes to VEX, see what’s new in VEX.
-
Added hou.AnimBar for controlling the animation toolbar. This can be accessed through the animBar() methods on hou.playbar and hou.ChannelEditorPane.
-
Added new bookmark features in hou.Bookmark and hou.anim including:
-
A new flag to enable/disable a bookmark using hou.isEnabled() and hou.enable(). Disabled bookmarks are greyed out on the playbar.
-
A new flag to mark a bookmark as temporary using hou.isTemporary() and hou.setTemporary(). Temporary bookmarks are not saved by default.
-
Bookmarks can now store user metadata using hou.metadata() and hou.setMetadata().
-
Save and load bookmarks from a string using hou.saveBookmarksToString() and hou.loadBookmarksFromString().
-
hou.saveBookmarks() and hou.saveBookmarksToString() takes an optional parameter,
include_temporary
, which allows temporary bookmarks to be saved. -
hou.loadBookmarks() and hou.loadBookmarksFromString() takes an optional parameter,
remove_existing
, which determines whether to remove existing bookmarks before loading new bookmarks.
-
-
Replaced the following methods:
-
hou.getBookmark() replaced with hou.bookmark()
-
hou.getGeometryChannels() replaced with hou.mergeGeometryChannels()
-
hou.getPinnedGeometryChannels() replaced with hou.pinnedGeometryChannels()
-
-
Added hou.lockGeometryChannelCollection for locking/unlocking a geometry channel collection.
-
A new hou.AgentClip constructor creates a new agent clip from a USD primitive.
-
Added HOM support for recipes. See recipe scripting for more information.
-
You can now subscribe to visualizer events using the hou.viewportVisualizers.addEventCallback function.
-
The hou.ui.selectFile function now takes a
file_types
argument that allows multiplehou.fileType
values. This is useful to allow when you want to allow the user to choose either a file or a directory. -
In the cook script of nodes implemented in Python (such as the Python SOP, you can now call hou.OpNode.addMessage, hou.OpNode.addWarning, and/or hou.OpNode.addError to add notices to the node. Previously you could only show an error on the node by raising an exception.
-
hou.NetworkEditor.tools returns the list of hou.Tool objects that would be shown in the Tab menu for the editor’s current network, taking into account the metadata on each tool specifying in which contexts it’s available.
-
hou.OpNode.lastCookTime returns the last cook time of the node, in floating-point milliseconds.