Share

Bifrost 2.7.1.0 and 2.7.1.1 Release Notes

Bifrost 2.7.1.0 is a feature release with new capabilities, performance improvements, and bug fixes, and Bifrost 2.7.1.1 is a patch release with a digital signing update. They are available for Maya 2022, 2023, and 2024 from the Autodesk Accounts Portal. See Bifrost for Maya Compatibility for more information.

For installation help, see Download and install Bifrost for Maya.

Velocity on refined VDB volume

Release Highlights

Value display expressions

You can add node value display to any node by renaming it with an expression that includes the name of an input port inside curly braces, for example, my function at {input}.

Value display expression

For editable compounds, you can also set a value display expression when the Customize UI editor is open by clicking on the compound's header on the Parameters tab. Display expressions are included with compounds that you publish.

In addition, value display now shows labels for combo boxes instead of the underlying values.

Detachable Watch Points

You can now detach a watchpoint from its connection wire by dragging its eye icon or the table header anywhere in the graph view. The table is joined to the wire to show which data is dispayed.

Detachable watchpoint

To return the watchpoint to the wire, double-click the eye icon or right-click the icon and choose Return to Wire. You can also remove the watchpoint itself by Alt+Shift+dragging across the dotted line.

Sticky notes

The formatting bar that appears when a sticky note has been selected now has a gripper on the left. The gripper lets you use the mouse to move the sticky note without clicking outside the note to finish editing text.

In addition, the sticky note colors have been made darker and more saturated based on user feedback.

Other user interface improvements

  • Clicking on a sticky note, watchpoint, or node automatically brings it to the front of others in the graph view.

  • UI performance is faster, especially for sliders on Macs and zooming with backdrops.

  • You can right-click on a Bifrost graph in Maya's Outliner and choose Open in Bifrost to open the graph in the Bifrost Graph Editor.

  • All nodes where you can specify a component now have dropdowns that let you quickly select a common component such as point_component. You can still type in a component name.

  • There is now a pause when dragging a wire to a port group before it opens.

  • Shift-clicking on a port group in the parameter editor now opens or closes all port groups.

  • All color inputs now use color pickers.

  • Many input ports now have soft minimum and maximum values for sliders.

    • Fractions, weights, sizes, starts, iterations, and many others have minimums of 0 and no maximum.
    • Interpreted auto ports used as weights become sliders with a minimum of 0 once you set the port's value type to float.
    • Ports with units of radians range from –pi to pi.
    • Ports with units of degrees range from –180 to 180.

Scene info

The new scene_info node returns the location of the current file and project. This is useful for relative paths in USD as well as many other things.

If the scene is referenced, the scene paths are taken from the scene being referenced. For example if the scene alice.ma contains a Bifrost graph, the scene paths refer to alice.ma even when alice.ma is referenced into another scene. This means that if the graph in alice.ma references a "sidecar" file like a cache or USD layer, that reference still works when alice.ma is included as a reference in another file like shot003.ma in another directory.

Component tags

Component tags on Maya scene geometry are now included when you import the geometry into the graph. You can control which tags to transfer in the parameters of the input node.

Tags are also included when you convert an output mesh to a Maya mesh. You can control which tags to transfer in the parameters of the bifrostGeoToMaya node in Maya's Node Editor.

Internally, tags are represented as arrays of Booleans, where true means that the corresponding point, face, or other component is a member of the tag. You can use the get_component_tag and set_component_tag compounds to work directly with tags in the graph.

Using component tags in the graph

The interpret_auto_port_as_component_tag node can convert between different representations of tags. It can accept a tag name (string), array of indices, or an array of Booleans and return both the corresponding array of Booleans and array of indices. This is useful for including in your own compounds for processing components that can be specified in different ways.

Mesh scope

The mesh_scope node can visualize data regarding points, faces, face edges, adjacency, face vertices, and more. It is very useful for diagosing issues with meshes.

Smooth strands

The smooth_strands node averages the values of each point's value with those of its neighbors along the same strand. By default it smoothes the point positions, but it can be used to smooth any list of geo properties whether or not that includes the point positions.

Voxel smoothing

The smooth_voxel_property node has new parameters that are especially useful for smoothing a level set that has been created from points or particles.

  • You can set the filter mode used for smoothing: Gaussian, Mean, or Median.
  • You can set the number of iterations for performing the smoothing operation.

Input points, level set with Gaussian filter, and level set with Median filter (10 iterartions)

Other modeling improvements

  • The duplicate_points node always transfers required properties.
  • The transfer_properties_by_2d_indices node is significantly faster.
  • The merge_geometry node is now entirely implemented in the graph, and can transfer properties of any type.

Volume rendering

Viewport rendering of volumes is faster, more accurate, and more stable. In addition, the translation of the volume is skipped if the volume is not changing, such as when editing a paused simulation graph where an identical volume is generated.

Arnold rendering of Bifrost volumes is also significantly faster.

USD improvements

There are two new nodes for working with USD in the graph:

  • get_all_attribute_names
  • get_authored_attribute_names

Other new nodes

  • filter_meshes
  • filter_points
  • get_points_structure
  • copy_properties
  • erase_geo_properties
  • update_strands_point_neighbors
  • extrude_faces
  • force_pull_port

Other changes

  • The output of the mesh_to_volume node is now deterministic. Internally, the min_hole_radius that is used for filling gaps when voxelizing in Solid mode is clamped to be at least the voxel size (determined by detail_size and resolution_mode).
  • The write_OpenVDB node now correctly exports velocity data when using post_refine_aero. This allows Arnold and other renderers to render VDBs from Bifrost with correct motion blur.
  • On macOS, the preference for one-button mice is now respected. This allows navigating the graph editor using the Command or Command+Option modifier keys, making Bifrost much more usable on MacBooks without mice.

Arnold and USD Compatibility Information

Bifrost 2.7.1.0 works with the following:

See Maya USD, Bifrost, and Arnold compatibility for more information.

Bifrost content created from the procedural graph can also be rendered with Arnold for Maya (MtoA) version 4.0.0 or later. The most recent version of MtoA is recommended for the latest features, bug fixes and performance improvements. See Bifrost for Maya Compatibility for information about compatible versions of Maya and Arnold.

To obtain the latest Arnold for Maya installer, visit the Autodesk Accounts portal.

The first version of Bifrost that introduced Bifrost USD is 2.4.0.0. All versions of MayaUSD (available on github https://github.com/Autodesk/maya-usd/releases) that use the same USD version as Bifrost are compatible with Bifrost USD.

Older versions of MayaUSD can be installed alongside Bifrost, but Bifrost USD functionality will not be available.

Backward Compatibility Warnings

Bifrost 2.7.1.0 contains no changes that break backward-compatibility compared to the previous version.

Changes in Detail

What's Fixed in Bifrost 2.7.1.0
Aero: Burning barrel example lost emission BIFROST-8207
Aero: Simulation bounds are infinitely large in the first few frames of simulation BIFROST-8339
Aero: Simulations crash on Linux BIFROST-8362
Arnold-Bifrost: Bifrost is not loaded correctly in Kick.exe, missing the scatter pack and USD BIFROST-8539
Arnold-Bifrost: GPU rendering blocked by a hidden Bifrost shape that outputs a volume BIFROST-7567
Arnold-Bifrost: Should not use velocities when motion blur is off BIFROST-8436
Arnold-Bifrost: Speed up Bifrost volume rendering using NanoVTT BIFROST-8444
Backdrops: Follow conventions for names and titles BIFROST-7594
Backdrops: Only one backdrop changes color with multi-selected backdrops BIFROST-7887
Backdrops: Slow zooming performance with a few backdrops in the graph BIFROST-8278
Backdrops: Sticky notes text not displaying correctly while typing BIFROST-8313
Backdrops: Text rendering cursor unpremultiplied BIFROST-8314
Bifcmd: Include frame numbers with bifcmd output BIFROST-4974
Bifcmd: Should error if invalid set-port arguments are used, but not if port is merely unused BIFROST-5545
Bifcmd: bifcmd should print output information per frame (for Terminals) BIFROST-5299
Bifcmd: fixed crashes and issues for handling user input data BIFROST-8086
Compiler: AnyArray resize_array's default value shouldn't assume to be a jitted Any BIFROST-8443
Compiler: Expose Amino::Any's TypeId as an opaque but comparable and hashable type BIFROST-8414
Compiler: Remove most Array logic/capture from Amino Any BIFROST-8446
Compiler: get_any_array_values should capture indices by reference BIFROST-8514
Compiler: matrix operations on ARM64 are not using NEON SIMD extensions BIFROST-8212
Esc Termination: Basic Aero Graph hangs when pressing Esc with resumable on ARM64 BIFROST-8003
Fan-in: Connections are lost if fan-in is disabled on a referenced node BIFROST-7896
File IO: Coarse velocities fail to get written to OpenVDB with post-refined Aero BIFROST-8342
FileIO: Read_PDC node is broken BIFROST-8210
Geometry: A compound in the User::Compounds namespace is included BIFROST-8577
Geometry: Add dropdown combobox with some defaults for component inputs BIFROST-7932
Geometry: Duplicate_points skips canonical properties if no properties specified to transfer BIFROST-8275
Geometry: Extrude_faces fails to extrude when there are open edges BIFROST-8238
Geometry: Implement 2d Index based geometry operations BIFROST-6993
Geometry: Implement extrude_faces and helpers BIFROST-7501
Geometry: Implement mesh_scope node BIFROST-8429
Geometry: Implement sampling-based geometry operations BIFROST-6994
Geometry: Improve performance of transfer_properties_by_2d_indices BIFROST-8507
Geometry: Smooth strands compound with property transfer BIFROST-7000
Geometry: Terminals are on by default on extrude_faces but they are supposed to be off BIFROST-8481
Geometry: interpret_auto_port_as_component_tag BIFROST-8292
Geometry: merge_points is broken if tags are not specified. BIFROST-8272
In-app doc: Interpreted_auto_port_as_ missing in-App documentation BIFROST-8453
Interaction: Add delay when auto-expanding group ports on dragging wires (LOOKDEVX-1148) BIFROST-8568
Interaction: After renaming a node, undo queue is broken by user navigation in the graph BIFROST-8333
Interaction: Click on node name to rename should work when type display is on BIFROST-8318
Interaction: Crash on Mac when adding backdrop to Input/output node and clicking "L" to layout (LOOKDEVX-1315) BIFROST-8624
Interaction: Enable auto-expand at mouse hovering if "Ctrl" key is pressed (LOOKDEVX-971) BIFROST-8437
Interaction: Expand/collapse all groups together in parameter editor using shift key (LOOKDEVX-1118) BIFROST-8569
Interaction: Hotkeys and undo during context menu cause a crash BIFROST-8378
Interaction: Make node names editable from parameter editor (LOOKDEVX-914) BIFROST-8252
Interaction: Node value display does not refresh properly after undoing port rename in Edit UI mode BIFROST-8253
Interaction: Node value display should respect combo boxes BIFROST-7644
Interaction: Renaming port breaks value display BIFROST-7312
Interaction: Right clicking input ports crashes when input by path is invalid BIFROST-8289
Interaction: Setting a port to a specific type doesn't work when interior ports get out of sync with exterior ones BIFROST-8009
Interaction: Support 1 and 2 button mouse modes on Mac BIFROST-7984
Interaction: When undoing the explosion of a compound some compounds will be moved off screen BIFROST-8522
Interaction: With print pack nodes, interaction becomes extremely slow BIFROST-8265
Interface: Cannot read custom value type dropdowns because menu is too narrow BIFROST-8028
Interface: Enum items are in wrong order BIFROST-7992
MPM: Cloth compatible with ground_plane_influence BIFROST-8116
MPM: Diagnostic draw fraction at value 1 is broken BIFROST-8262
MPM: Diagnostics arrowhead sizes reset to default automatically BIFROST-8261
MPM: Diagnostics fails to display volumes in cloth and fiber BIFROST-8266
MPM: Fluid freezes mid-simulation while source emits more particles BIFROST-7860
MPM: Grains and cloth interact when detect_discontinuity is enabled BIFROST-8415
MPM: Make diagnostic volumes render more smoothly BIFROST-8258
MPM: Volume conversion for viewing with NanoVTT BIFROST-8527
Maya Plug-in: Access Bifrost Graph from the Maya Outliner Context Menu BIFROST-8082
Maya Plug-in: Optionally translate component tag data and colorsets BIFROST-7978
Maya Plug-in: Signed and Unsigned Char Maya to Bifrost graph mismatch BIFROST-7962
Maya Plug-in: bifrostBoard nodes don't show up in channel box BIFROST-7740
NanoVTT: Artifact viewing levelset on Linux BIFROST-8263
NanoVTT: Cache hash of volume properties and avoid re-conversion to NanoVTT BIFROST-8358
NanoVTT: Crash diffusing volume density BIFROST-8215
NanoVTT: Disappearing volume (both fog and level set) BIFROST-8200
NanoVTT: Level sets with standard surface are very dark BIFROST-8166
NanoVTT: Levelset of box has artifacts in non-interactive mode BIFROST-8167
NanoVTT: Volume enters a bad state on Linux Rocky 8 (Open GL) at times BIFROST-8160
Node library: Scene info node to get current scene and project location on disk BIFROST-8250
Node library: Switch all remaining browser graphs to not use the "color" property BIFROST-8225
Rebel Pack: force_pull_port BIFROST-7898
Rebel Pack: update_strands_basis has incorrect interpreted auto usage when using "update by walking" BIFROST-8545
Sliders: Slider and color picker assignments on nodes BIFROST-6771
Sliders: Slider and color picker assignments on operators (core, geometry, scatter pack, usd) BIFROST-8424
Sliders: Sliding a float3 value node does not update child plugs BIFROST-7592
Sliders: Slow value node slider performance on Mac BIFROST-8288
Sliders: Very slow editing values from inside a compound BIFROST-7585
Sticky Notes: Make Sticky Notes Slightly Darker BIFROST-8140
Sticky Notes: Notes are always under nodes/compounds, and should be at same level BIFROST-7669
Sticky Notes: Sticky note default color is grey BIFROST-8330
Sticky Notes: Sticky note text is blurry/pixelated on zoom BIFROST-8312
Sticky Notes: Toolbar Gripper BIFROST-7935
Type Inference: Undoing set port type on an inferred port loses auto-ness BIFROST-8377
UI Editing: Allow users to rename and setup node-value display in UI Customize BIFROST-8218
UI Editing: Allow users to set up node-value display by renaming BIFROST-7335
UI Editing: Don't show un-settable ports outside of edit mode BIFROST-7925
UI Editing: Empty port groupings remain on parameter editor if edit mode was closed via X button BIFROST-7203
USD: Inconsistent UI in define_usd_prim and define_usd_mesh BIFROST-8426
USD: Switch "Read USD data" compounds to not use the "color" property BIFROST-8452
USD: get_all_attribute_names to get names of all prim attributes BIFROST-8100
USD: get_authored_attribute_names node to query name of authored attributes BIFROST-8319
USD: sublayers are not saved when using relative paths BIFROST-8273
Unknown nodes: A port in a red error state is see through BIFROST-6120
Volume: Convert_to_volume is slow on self-intersection mesh BIFROST-7350
Volume: Crash when disconnecting from output BIFROST-8332
Volume: Crash with feedback volume smooth with added property BIFROST-8216
Volume: Non-deterministic mesh_to_volume with artifacts BIFROST-8214
Volume: additional smooth_voxel_property filter methods BIFROST-8512
Watchpoints: Detachable, resizable watchpoints BIFROST-4707
Watchpoints: Interference with port grouping expand and collapse functionality BIFROST-8364


Was this information helpful?