Bifrost 2.8.0.0 is a major feature release with new capabilities, performance improvements. It is 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.
Release Highlights
Component tags
Bifrost now supports component tags. Component tags are named clusters of subgeometry (points, faces, face vertices, strands, voxels) that can be selected and specified for various operations. They allow you to procedurally "tag" parts of models and manipulate the tagged parts.
Maya's component tags are automatically converted to Bifrost tags by default when geometry is imported, and Bifrost tags are automatically converted to Maya tags when the graph output is converted to Maya geometry.
Tags can be produced by geometry operations and be used to drive further operations. You can also directly author tags with new nodes such as tag_inside_geometry
and tag_randomly
.
The new nodes that are included for working with tags are:
tag_scope
for visualizing tagging.tag_randomly
for producing tags of random components.tag_inside_geometry
for tagging points, faces, etc., inside of other geometries.tag_by_angle_between_vectors
for tagging things like upward facing normals.tag_strand_ends
for tagging strand's start or end points.
All the nodes have diagnostic visualizations to show what is tagged. They also all produces weights (for example, the weights produced by tag_inside_geometry
are based on the distance to the surface) that are controlled by an fcurve and can be used to control further operations. The tag data is a Boolean array that can also be used as weights.
A browser graph called flowers
shows creating flowers and strands using tag data at each step.
New rubber material and MPM improvements
The new source_mpm_rubber
node is ideal for simulating materials such as rubber and other purely elastic materials. It works with the existing MPM framework and can be used in the same way as source_mpm_snow
and other materials.
While it is possible to get similar results using gel with an extremely high yield stress, the dedicated rubber material is easier to use and has better performance. It is also more realistic under large deformations compared to gel.
In addition, the make_mpm_cloth
node now includes a port to control rest_length_scale
to create inflation or deflation effects. You can vary the value over time for inflation or deflation that needs to happen over several frames to maintain simulation stability, or simply for art directon. Interesting results can be obtained using a noise field with an fcurve to vary the intensity over time.
The mpm_solver_settings
node also has a new option to prioritize speed versus accuracy for collisions: collide_particles
. This option (on by default) determines whether to collide the particles themselves as an additional collision phase. When turned off, collisions are still performed but they use the volume representation and bounciness and roughness have no effect. Certain types of effects may see worthwhile performance gains without introducing artifacts, especially large-scale effects like an avalanche where exact particle accuracy is not necessary.
UI logic
You can now enable, disable, hide, and show parameters and groups based on the other settings in the Parameter Editor. For example, you can hide a color widget if the associated display option is toggled off. This UI logic has been added to many existing compounds to reduce clutter, and you can also use it in your own compounds.
To add this logic when editing a compound's UI, select the parameter or group to be affected and click Add Conditional Display Rule in the Customize UI editor. The conditions that are available depend on the type of the controlling parameter (Boolean, integer, float, string, or auto). This creates a special group, and you can drag more parameters into it to control them by the same rule as well as drag the group itself. You can also nest these groups inside each other.
Formatted sticky notes
You can now format sticky notes using Markdown syntax. Click the Markdown button to activate formatting, then enter Markdown syntax manually or use the menu (right-click or click ...
in the upper-right corner).
.
Shift on connect
The new Options > Shift on Connect setting moves upstream nodes when adding a node onto an existing connection. This applies when you select a connection and then press Tab for a new node, as well as when you Alt+drag an existing node onto a connection. It also applies when exploding compounds (making room for the newly visible nodes), and respects backdrops and nearby sticky notes.
Better smoothing
The new smooth_level_set_property
node provides smoothing on level-set volume surfaces. In addition to the Gaussian, Mean, and Median modes already available for smooth_voxel_property
, it supports two new modes: Laplacian and MeanCurvature. These algorithms smooth the surface while preserving surface details. They are similar to OpenVDB's levelSetFilter smoothing modes, and work on the spatially adaptive level sets in Bifrost.
Additionally, both smooth_voxel_property
and smooth_level_set_property
support an input mask to control where smoothing is applied. The mask can be either a field or on existing property on the volume, and you can choose to interpret it either as a level set or fog value.
Delete strand points
The delete_points
compound has been updated to support strands. Internally, it uses the new delete_strands_points
node which is also available as a building block for your own compounds.
Get geo component indices
The new get_geo_component_indices
nodes returns the array of indices for the specified component type from an input geometry. It is a convenient building block for procedural geometry. For example, you can use it with an auto-looping port and avoid the need for a for-each loop.
Exposing ports to Maya
When exposing a port to Maya, it now keeps its value in the same way as exposing a port in a compound. This makes workflows between Maya and Bifrost smoother.
Rebel Pack nodes
Another batch of Rebel Pack nodes has been modernized and added to Bifrost. These include:
remap_fog_density
, formerlyextract_volume_density
create_particle_trails
points_array_to_strand_trails
memory_cache
memory_frame_cache
randomize_direction
, formerlyrandomize_vector_in_cone
randomize_direction_array
create_mesh_cylinder
sample_points_by_radius
New graphs
The following new graphs are available in the Bifrost browser:
- Fire:
pyroclastic_explosion
- Rubber:
rubber_helix
- Sand:
sand_grain_instances
- Volumes:
ragged_cloud
Other new nodes
log_message
update_face_centers
disconnect_mesh_faces
set_layer_permission
Arnold and USD Compatibility Information
Bifrost 2.8.0.0 works with the following:
- Arnold for Maya 5.3.4.1 (Arnold 7.2.4.1)
- MayaUSD 0.25.0 (USD 22.11-ad1) for Maya 2024
- MayaUSD 0.25.0 (USD 21.11-ad1) for Maya 2022/2023
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
The new features of this release bring with them a few changes that break backward compatibility with previous versions of Bifrost. You may need to modify graphs or republish compounds in some older scenes to obtain the same results as before.
Changes in Detail
Parent page: Bifrost for Maya Release Notes