Learn the fundamental Bifrost concepts.
- Before getting our proverbial feet wet in Maya let's look at the concepts underlying Bifrost. Bifrost is part of a general procedural framework for animation in Maya, and that means that Autodesk is following an industry trend towards greater proceduralism and algorithmic generation of models and animation. So Bifrost is a big part of that. We've seen other examples, for example MASH is a procedural framework.
Bifrost is an English corruption of an old Norse word, Bifrost, which is the rainbow bridge between our Earth and Asgard, or the heavens. The name was chosen for this technology because Bifrost is the rainbow bridge between Maya and a computation server. That server actually runs inside the Maya process, but it is different from the standard Maya calculation engine, it's a whole other beast, and so there is a translation between Maya to Bifrost and back again.
The first module that we see developed within this framework is a so called FLIP solver, and this FLIP solver is the liquid and gas simulation engine that we see in Bifrost currently. FLIP stands for Fluid Implicit Particles, it's a hybrid solver that aspects of a volumetric and a particle based solver. Specifically the fluid properties such as density and temperature are carried in a voxel grid, a voxel of course is a volume element just as a pixel is a picture element, a voxel is the smallest cube that includes a certain property or attribute such as density.
The other part of the FLIP solver is particles, and these are used for utilitarian purposes such as calculating collisions but also for aesthetic purposes such as the look of the surface features of the fluid. In most cases you will also have a mesh object that is generated from the particles, and that mesh object is the actual surface of the liquid that we render. Last let's look at a sample pipeline for a Bifrost project, generally speaking you will start by solving a primary fluid, setup all the initial conditions such as emission, collision, so on.
Run the simulation, and as that simulation's being calculated it's also being stored onto disk, so you only need to calculate it once. Once you've got what you want you cache it out to disk. Usually you will also generate an Alembic mesh at that point, and that is no small task, in this course we have an Alembic mesh that is 50 gigabytes in size. Additionally we may want some secondary effects, for example Bifrost has particle foam that is spawned from the main fluid, we can also add an aero simulation which will give us gas or mist.
Those secondary effects can be calculated at the same time as the primary FLUID, or they can be generated after the FLUID has been built, or indeed after the Alembic mesh has been saved out. All of that calculation is just one part of the production process, the other part of course is making the surface look beautiful. We can apply materials at any point in the production process, either after or before caches and meshes have been saved out.
Once we've got all our materials and lining applied of course, then we can render out our shot to a sequence of images.
- Understanding Bifröst
- Analyzing the node structure
- Emitting from a polygon mesh
- Colliding with objects
- Pushing and damping fluid motion with accelerators
- Caching Bifröst simulations
- Meshing liquid and exporting to Alembic
- Shading with the Bifröst liquid material
- Designing mental ray materials
- Layering shaders with Bifröst channel data
- Adding mist with an Aero simulation
- Texturing an Aero material