Bifrost 2.2.1.0 is a feature release with new capabilities, performance improvements, and bug fixes. It is available for Maya 2018, 2019, 2020, and 2022 from the Autodesk Accounts Portal.
Bifrost 2.2.1.0 contains no changes that break backward-compatibility compared to the previous version.
To obtain the latest Arnold for Maya installer, visit the Autodesk Accounts portal.
Bifrost 2.2.1.0 includes the following new features.
The new filter_particles
node extracts points that satisfy various criteria into a new object. There is also a new killed_particles
output on the simulate_particles
that includes the points that expired on the current frame.
One of the possible uses of the resulting object is to emit other particles into a subsequent particle system. For example, you can create fireworks with particles emitting trails as they rise before exploding into bursts when they die.
The new post_refine_aero
node enhances detail in aero effects after simulation. It still requires the original aero sources and colliders, but it can also be applied to a file cache.
It is generally faster than connecting an aero_refinement_settings
node into the additional_settings
port of aero_solver_settings
, but the extra detail is not fed back into the simulation.
The new set_initial_state
node can be connected into the additional_settings
port of a simulation's settings to read an initial state from a cached file. This prototype is the first step toward a fully-featured initial-state mechanism.
Note that it does not yet work properly with MPM cloth simulations.
The convert_to_volume
node can now voxelize non-watertight meshes when volume_mode
is set to solid
. The min_hole_radius
parameter controls the size of the smallest holes allowed in the result.
Selective evaluation means that the sub-graph connected into a terminal's final
port is not evaluated by default except when rendering offline. You do not need to wait for a heavy, high-resolution computation to complete before seeing the proxy
or diagnostic
results in the viewport.
Selective evaluation works in DG evaluation mode in Maya 2020 and earlier versions.
If you have a scene with Terminals that was created in Bifrost 2.2.0.x, run the following code snippet to take advantage of the fix for BIFROST-5465 so that your scene renders correctly in Parallel Evaluation mode:
from maya import cmds
def fix_terminal_outputs(graph_node):
terminal_category = "terminal_node_output_attribute"
for flag in ("final", "proxy", "diagnostic"):
attr = "Core__Graph__terminal__%s" % flag
if cmds.attributeQuery(attr, node=graph_node, exists=True):
cmds.addAttr("%s.%s" % (graph_node, attr), edit=True, category=terminal_category)
for graph_node in cmds.ls(type="bifrostGraphShape") + cmds.ls(type="bifrostBoard"):
fix_terminal_outputs(graph_node)
The Bifrost plug-in now loads faster in both Maya and Arnold, especially with many compounds. We are continuing to work on reducing start-up time.
Particle surface and self-collisions are now faster.
There are several new graphs available in the Bifrost Browser, including examples of fields and scattering. Some of these examples show basic effects, while others illustrate general techniques and usage.
Various fixes improve motion blur when rendering volumes. In particular:
A number of fixes have been made to improve the stability of MPM cloth simulations.
Several improvements have been made to scattering and instancing.
What's Fixed in Bifrost 2.2.1.0 |
---|
Aero: CPU utilization drops significantly with apply fields BIFROST-5349 |
Aero: Memory doesn't get freed when returning to start frame, only freed when forcing a recompile of the graph BIFROST-5257 |
Compound Loading: Avoid many extra checks on disk by not interpreting file:///bob.json as an absolute path BIFROST-5387 |
Compound Loading: Bifrost crashes if custom compound location also contains Bifrost plugin folders BIFROST-5295 |
Convert to volume: Robust Voxelization to better handle non-water-tight meshes BIFROST-4837 |
Esc Termination: Option to disable resumable simulations BIFROST-5165 |
FCurve: Single point f-curves draw correctly in the UI but sample incorrectly BIFROST-4838 |
Geometry: BIF geometry C++ access creates copies of data BIFROST-5099 |
Interaction: Crash copy and pasting input nodes that cause a port naming collision BIFROST-5143 |
Interaction: Creating a cycle of dependencies upstream of terminals crashes BIFROST-5554 |
Interaction: Creating an new output port from a clamp node crashes due to a port naming collision BIFROST-5498 |
Interaction: linear_interpolate nodes crashes Maya if created with an input selected BIFROST-5445 |
Maya Plug-In: Use callback to free volume memory pools on new scene, open scene, delete graph as well as recompile BIFROST-5397 |
Maya Plug-in: Incorrect graph results from animated Maya inputs when cache playback is on BIFROST-5423 |
Maya Plug-in: Memory leaks during playback BIFROST-4988 |
Maya Plugin: 2D array outputs from BifrostBoard do not trigger evaluation on scene open BIFROST-5366 |
Mesh: Improve update_mesh_normal performance by using mesh adjacency data BIFROST-4930 |
Particles: Performance improvement BIFROST-4835 |
Render Archive Instancing: render_archive_instance causing MayaTopologyEvaluator crash with animated input BIFROST-5394 |
Scatter Pack: Improve preview geometry handling in set_instance_geometry and bake_instanced_geometry BIFROST-5402 |
Scatter Pack: scatter_points with negative density weights and DistanceBased culling act as positive values BIFROST-5378 |
Strands: update_strands_tangents returns incorrect tangents on end points BIFROST-5487 |
Terminals: Arnold renderer is not refreshing terminal outputs when cached playback is enabled BIFROST-5344 |
Terminals: Convert graph shape to board shape broken with terminals BIFROST-5544 |
Terminals: Crash clicking Final Viewport checkbox in Terminal Attribute Editor then disconnecting malformed diagnostic port connection BIFROST-5522 |
Terminals: Crash when creating terminal inside scatter_points_blue_noise BIFROST-5372 |
Terminals: Enable selective evaluation in Maya 2022, and in DG Evaluation mode only for other Maya versions BIFROST-5404 |
Terminals: Final mode switch BIFROST-4466 |
Terminals: Final plug connected to a compound with error crashes Maya BIFROST-5568 |
Terminals: Final terminal plug (which is hidden in the viewport) may not render correctly in old scenes in parallel EM mode For scenes created with Bifrost 2.2.0.x, run the script in the 'Selective evaluation of terminals' section to update your scene to take advantage of this fix. BIFROST-5465 |
Terminals: Malformed compound after deleting interior Terminal node BIFROST-5431 |
Terminals: More extra evaluations when creating connections to regular outputs BIFROST-5246 |
Terminals: Selective evaluation causes extra evaluations when rendering without terminals BIFROST-5275 |
Terminals: Viewport 2.0 displays stale terminal outputs when cached playback is enabled BIFROST-5346 |
Terminals: Viewport fails to display the proper content in Parallel mode BIFROST-5473 |
Viewport: Instancing empty geometry is very slow BIFROST-5059 |
Volumes: Artifacts with optimized adaptivity BIFROST-5396 |
Volumes: Field_to_volume produces blocky results BIFROST-5161 |
Volumes: Implement robust subroutine in convert to volume BIFROST-5065 |
Volumes: Performance issues with robust convert to volume BIFROST-5311 |
Arnold-Bifrost: Volume renders take velocity into account even without motion blur, blur is backwards, and blur does not properly scale to motion length ARNOLD-309 |
Assigning a particle_cloud shader to particles crashes Maya if a live IPR is running ARNOLD-331 |
Bifrost Volumes: Basic combustion doesn't render properly when aiStandardVolume assigned to bifrostGraph via outliner. ARNOLD-343 |
Bifrost Volumes: fix volume velocity motion blur ARNOLD-171 |
Known Issues and Limitations |
---|
BIFROST-3144 Aero: Blue flame tile artifact when exporting and viewing combustion rate Tile or voxel artifacts may sometimes appear in blue flame (combustion rate). |
BIFROST-2823 Aero: Boost detail with points kills combustion Enabling "boost detail with points" with a combustion simulation kills soot emission. |
BIFROST-5579 Aero: Escape Termination may cause a viewport glitch when scene scale is greater than 1 The viewport glitch will go away if the simulation is resumed or restarted. |
BIFROST-822 Aero: Sourcing from a volume sometimes creates ghost voxels around emitter Occasionally, some ghost emissions may occur outside of the aero source geometry. |
BIFROST-3150 Aero: combustion soot sometimes pulsates Occasionally a combustion simulation will produce soot which pulsates too much. |
BIFROST-3762 Backdrops: Annotations do not support non-ASCII characters |
BIFROST-5514 Cached Playback: Graph sometimes cached with incorrect time values when cached playback enabled |
BIFROST-5342 Cached playback: Performing an Arnold render invalidates cached playback frames |
BIFROST-2109 Compound Publishing: Auto ports with immediates should stay auto ports with immediate values when published |
BIFROST-3408 Compound Publishing: Compounds that reference themselves may cause crash or hang |
BIFROST-2767 Compound Publishing: Republishing is blocked in cases of signature change and no auto ports Workaround: Add a new port, re-publish the compound, then delete the new port, and re-publish again. This works because it only blocks in very specific cases of signature changes. |
BIFROST-2279 Encapsulation: Creating a compound out of a node that is auto-looped may change graph behavior |
BIFROST-3024 Errors: When using write nodes such as the write_OpenVDB node, the node's success port always returns 1 even when writing fails Workaround: Ensure that your folder and file names are valid when writing. |
BIFROST-3626 File IO: Write/dump nodes do not work with non-ASCII characters in file path |
BIFROST-3152 Geometry: Merge geometry uses first object to set merging behavior but should instead use the schema of the first non-empty object As a result, if your first object is empty, merge geometry would not work. Workaround: Ensure that your first object is not empty and is of the right type. |
BIFROST-5339 Graph Shape: Converting from graph shape to DG loses its material assignment if connected to Terminals |
BIFROST-5509 Graph Shape: In-graph material assignments don't display in viewport when no material is assigned in Maya |
BIFROST-5058 GraphShape: Undo delete or undo convert to DG results in nothing displayed in the viewport Saving and re-opening the scene restores the drawing. |
BIFROST-574 Interaction: Focus issue - when the mouse is over a compound when editing a value in the Parameter Editor, pressing Enter will dive into the compound |
BIFROST-2428 Interface: High DPI issues with Bifrost UI |
BIFROST-3028 Materials: Input meshes will not have a material assigned if it has per-face shading, first material found is not used Per-face shading in input meshes is not supported at this time. |
BIFROST-3745 Maya 2020: Case-sensitive Mac: crash when creating a graph Bifrost 2.0.3.0 and higher on Maya 2020 and higher does not support case-sensitive file systems on macOS. Visit this page for more information |
BIFROST-5283 Maya Plug-in: Bad viewport update of Maya geometry with Bifrost input object parented under animated controller in DG evaluation mode For Maya 2020 and its Update releases, set the environment variable MAYA_DISABLE_MAX_CHANGE_BUFFER=1 to avoid the issue. Note that this workaround may reduce performance. This issue is fixed in Maya 2022. |
BIFROST-2334 Maya Plug-in: Bifrost plug-in should unload and reload cleanly Unloading and re-loading Bifrost plug-ins within the same session of Maya causes instability and other issues. |
BIFROST-3070 Maya Plug-in: BifrostGraph plug-in should load automatically when clicking the Shelf icons If this error appears when you click the Bifrost Graph Editor or Bifrost Browser buttons on the Shelf: // Error: line 1: Cannot find procedure "openBifrostGraphEditorFromSelection". You need to load the bifrostGraph plug-in. Do this by selecting Windows > Settings/Preferences > Plug-in Manager. |
BIFROST-3073 Maya Plug-in: Crash loading scene containing bifrostGraph node if bifrostGraph plug-in is missing Workaround: Ensure that you have installed the bifrostGraph plug-in before opening scenes that contain Bifrost nodes. |
BIFROST-4864 Maya Plug-in: If Maya 2019 is launched on macOS from Maya.app/Contents/bin/Maya, Bifrost plug-in doesn't load Workaround: If launching Maya on macOS using a terminal, use Maya.app/Contents/MacOS/Maya. |
BIFROST-2997 Maya Plug-in: On graph inputs, changing port types loses inputs and exposing ports do not maintain values |
BIFROST-2330 Maya Plug-in: Scene loading doesn't trigger the vnn plug-in to load in mayapy Bifrost will still work in mayapy, but the VNN plug-in will not load automatically and therefore the VNN Python commands will not work. Workaround: To use VNN commands in mayapy, load the plug-in using the loadPlugin command first. |
BIFROST-4447 Maya Plugin: UV changes do not always update the graph |
BIFROST-3551 Module paths starting with "///" are parsed incorrectly as "//" by Maya and Bifrost |
BIFROST-1655 Node library: Conversion nodes do not behave correctly if the input is the same type as the output |
BIFROST-3023 Node library: Frame tokens in folder name (e.g. #) are not replaced for write file nodes such as write_OpenVDB This works correctly with tokens in file names, just not folder names. |
BIFROST-4139 Numeric Display: set_point_shape does not property set up for float, float2, or int data Numeric display does not work when the shape is selected, only draws values of float3 and float, and always draws them in the format of float3. |
BIFROST-3154 Particles: Incorrect emission position from volume if no velocity property Emitting particles from a volume without velocity data produces bad results. |
BIFROST-3199 Particles: vary point_orientation rotations result in shearing objects |
BIFROST-3372 Particles: vary_source_property doesn't sample color when Use Color Set is enabled |
BIFROST-3272 Publishing: "not a valid Amino JSON file" error appears if library config json file is in the search path |
BIFROST-3680 Publishing: Bifrost won't parse BIFROST_LIB_CONFIG_FILES if its resolved path contains a # character |
BIFROST-2532 Publishing: Cannot type in namespace field if there is an error, loses focus with each keystroke Workaround: Temporarily change the name of the compound in the publishing editor to remove the error, edit the namespace, then change the name back. |
BIFROST-4911 Publishing: Re-publishing with renamed output port results in unfixable graph When re-publishing, if output ports are renamed and those ports are connected inside the graph in question, it can cause a corrupted connection to that graph. Reloading the scene will allow you to fix it. |
BIFROST-2729 Simulation: Slow simulation bounds performance Simulation bounds still lacks certain performance improvements. |
BIFROST-5281 Terminals: Crash connecting terminal to another terminal |
BIFROST-5200 Terminals: Errors whenever the graph shape is selected When selecting a graph shape in Maya 2020.0, you may see an error message such as "Error: <function selCom at 0x7f29c5c04aa0>". This is fixed in Maya 2020.1 or higher. |
BIFROST-3278 Viewport 2.0: bifShape displays with texture even in non-textured shaded mode |
BIFROST-5052 Viewport Drawing: Aero fails to render with "Alpha Cut" Viewport 2.0 Transparency Algorithm |
BIFROST-4668 Viewport: AMD Vega GPUs: Viewport 2.0 in DX11 mode aero renders pink |
BIFROST-3511 Viewport: Aero bounding box doesn't allow object selection in viewport |
BIFROST-3059 Viewport: Connecting a float3 value for set_geo_property color on already-connected graph doesn't update the viewport |
BIFROST-2604 Viewport: Face-vertex, face, strand, component and constant user data don't work in the viewport |
BIFROST-2429 Viewport: Float4 colors cause Z-fighting in viewport on meshes and strands Workaround: Select an alternative Transparency Algorithm (Depth Peeling or Alpha Cut). |
BIFROST-5149 Viewport: Instance viewport drawing does not respect disabled instances when there is one geometry with a preview geometry, and has strange update issues |
BIFROST-2638 Viewport: Instanced meshes without normals display as black meshes Instanced meshes without normals render without shading (all black) in the viewport. Ensure normals are present on your meshes, or regenerate them with update_mesh_normals. |
BIFROST-3391 Viewport: Instances explode when you transform them in Maya |
BIFROST-5515 Viewport: Levelset/density volumes don't display with multisample anti-aliasing (MSAA) and DirectX |
BIFROST-3383 Viewport: Maya Bounding box override on bif shapes only works on volumes and not other geometries |
BIFROST-1982 Viewport: Multiple volumes in the viewport don't always render with correct transparency order |
BIFROST-2353 Viewport: Volumes fail to render in Viewport 2.0's OpenGL Legacy mode (only a white cube appears) |
BIFROST-2573 Viewport: Volumes may not draw correctly when post-effects are enabled in the viewport In addition, volumes and other bifShapes don't draw correctly if Use Default Material is enabled for Viewport 2.0. |
BIFROST-3054 Viewport: set_geo_property_reference does not work for all shader properties |
BIFROST-1593 Watchpoints: Not removable after port type change |
BIFROST-5033 Watchpoints: data inside for-each is not deterministic |
ARNOLD-45 Arnold-Bifrost: ~15 second delay to start first Arnold session (due to Bifrost loading in Arnold) |
ARNOLD-87 Bifrost Geometry: Oriented strands don't render in Arnold Strands with "camera facing" disabled, with twisting normals and rotating about their tangent appear correctly in viewport but render in Arnold as camera facing. Strands set to "oriented" with "set_Arnold_strands_settings" do not render. |
ARNOLD-67 Bifrost Geometry: Strands rendering too picky, must set set_strand_shape to render, and strands with fewer than four segments do not render |
ARNOLD-123 Bifrost Volumes: levelset causes errors in Arnold |