Autodesk Maya 2016: Bifröst Procedural Effects Platform presentation by Daryl Obert
Bifröst Adaptivity
New adaptivity features have been integrated into the Bifröst liquid solver.
Bifröst liquid solver nonAdaptive vs Adaptive preview |
|
Robot drop - NonAdaptive vs Adaptive |
|
You can see on this example how much memory you save with Adaptive simulation
Guide a Bifröst simulation of a liquid surface
New guided simulation workflows let you drive the behavior of liquids using a cached simulation or an animated mesh object. With a guided simulation, you can create and cache a full-depth low resolution liquid, and then use it to guide a high resolution simulation on the liquid's surface. Use guided simulation for such effects as carefully art directed hero waves. You can also perform multiple iterations at high resolution while retaining the basic look and motion of the underlying guiding simulation.
GuideWave - Bifrost simulation and Guide geometry |
GuideWave render - MentalRay |
|
|
Guide attributes compare
guideWave minDepth |
guideWave guideVoxel Scale |
|
|
guideWave liquid_Overlap |
guideWave foam |
|
|
Bifröst adaptive camera for foam
You can add an adaptive camera to control foam emission in Bifröst liquid simulations. With Camera Adaptivity, you can emit foam particles based on the distance from a camera. This lets you create high resolution simulations close to the camera where the detail is needed, while lowering the number of foam particles in other areas of the scene.
foam Adaptive camera compare |
|
Using Foam adaptive camera in shot
beachShot01 - render MentalRay |
beachShot02 - render MentalRay |
|
|
|
|
Bifröst Foam attributes
New foam particles let you add bubbles, froth, and spray to churning and fast moving liquids. Use Bifröst foam to add realism to breaking waves and other types of splash effects. With Camera Adaptivity, you can emit foam particles based on the distance from a camera. This lets you create high resolution simulations close to the camera where the detail is needed, while lowering the number of foam particles or eliminating them in other areas of the scene. You can also use the camera's frustum as a clipping region for foam emission.
c |
CubeSplash single frame precomp |
|
|
CubeSplash render and precomp01 |
CubeSplash render and precomp02 |
|
|
Render with Arnold with help of DSO (load bifrost particles in render time) by Nicholas Yue
Foam Emission
- Emission Rate
- Sets the number of emission points generated per voxel. Increasing this value generates more foam particles.
- Min Liquid Speed
- Sets a threshold value for triggering foam emission. Faster moving areas of the liquid emit more particles. This value is in m/sec in world space.
- Min Liquid Churn
- Sets a threshold value for triggering foam emission. In Bifröst, churning is liquid rotating orthogonal to the surface normal. For example, churn can result from the rotating curvature of a cresting wave or from the turbulence of a washing machine agitator. Areas of the liquid with more churn emit the largest number of particles. Set Min Liquid Churn to values between 0 and 2 with lower values emitting more foam. This value is in m/sec in world space.
- Min Liquid Curvature
- Sets a threshold value for triggering foam emission. Liquid curvature refers to curved shapes on the liquid surface, such as those generated by rolling and cresting waves. Areas of the liquid with the steepest curves emit the largest number of particles.
- Min/Max Liquid Depth
- Sets the voxel region of the liquid, in voxels, that emits foam particles. A Min Liquid Depth value of 0 sets the liquid surface as the top of this region. Max Liquid Depth sets the bottom of the region below the surface. Use values between 0 and 3 for typical foam effects.
- Max Solid Depth
- Sets the distance, in voxels, between foam emission points and closed boundaries such as collision objects. Use values between 0 and 1 to maintain a boundary between voxel emission points and collision objects.
To emit foam under the liquid surface (bubbles), set Max Solid Depth to a negative value and Max Liquid Depth to a high value such as 10 or greater.
- Inherit Liquid Velocity
- When set to 1, foam particles emit with a velocity equal to the liquid velocity vector. At values greater than 1, foam can shoot off the surface as spray, while values less than 1 dampen the particle velocity.
- Emit Flatness to Surface
- When set to 1.0, particles snap to the liquid surface on emission. This prevents foam particles from being emitted under the surface of the liquid. The default value is 0 which lets buoyancy affect the particles' upward motion.
- Camera Adaptivity
- Toggles adaptivity on and off and sets the particle emission rate drop-off based on the distance from the camera. Increasing this value emits more particles closer to the camera, while culling particles further away.
Set Camera Adaptivity to a positive non-zero value to turn on adaptivity. When set to 0, Camera Adaptivity is off and all the camera related attributes are ignored. At a value of 1.0 and greater, emission drops off as 1/distance 2.
- Clip To Camera Frustum
- Restricts foam emission to an area defined by the adaptive camera's field of view.
- Camera Fov
- Narrows and expands the adaptive camera's field of view.
- Camera Aspect
- Sets the aspect ratio of the adaptive camera frustum. When set to 1.0, the aspect ratio is square (length equal to width). This lets you control the adaptive camera aspect ratio independently of the render settings if desired.
- Camera Buffer
- Adjust this to set a buffer of foam particles behind and to the sides of the camera frustum. Increase this value to emit more particles behind the camera and around the edges of the frustum. This is useful if the camera is pulling back in an animated shot.Increase this value appropriately for fast moving cameras, otherwise the foam may appear too thin in the newly exposed regions.
Foam Propagation
- Dissipation Rate
- Rate, per-second, that foam particles lose density. Foam particles at and above the liquid surface dissipate. Particles under the liquid surface do not dissipate.
- Kill Density Threshold
- Density value at which foam particles are eliminated. Particles below the liquid's surface have a density of 1 plus the Max Liquid Depth. At the surface, particles have a density of 1, while above the surface they have a density less than 1.
- Buoyancy
- Upward acceleration of foam particles in m/s2.
In turbulent, fast moving liquids, you can increase Buoyancy to force particles to the surface. This stops the particles from remaining under the surface as bubbles, which do not dissipate.
- Snap to Surface
- When on, particles snap back to the surface each frame. Use this to keep foam on the surface of the liquid.
- Surface Offset
- Sets the distance from the liquid surface when Snap to Surface is on.
Surface Offset is also used by the solver to determine whether foam particles are below or above the liquid surface. For example, Bifröst adds buoyancy to particles below the surface and increases dissipation of particles above the surface.
- Preserve Volume
- Applies a repulsive force to particles when the distance between them is equal to Point Radius.
Increase this value if you notice foam collapsing rather than dissipating as expected, or if particles are piling up and making the foam too thick.
- Point Radius
- The radius used by the repulsive force applied by Preserve Volume. Point Radius is not related to render radius.
- Collide Kill Depth
- Sets the distance from collision objects, in voxels, that triggers an additional dissipation effect on colliding particles. When set to 1, colliding particles dissipate at the set Dissipation Rate. When set to a value of 0 or a negative values, particles dissipate at a rate greater than the Dissipation Rate.
For example, when set to -0.5, dissipation increases by a value of 10. Values greater than 1 do not noticeably affect dissipation as collisions stop particles from penetrating more that 1 voxel inside the collision object. Collide Kill Depth is useful for eliminating particles that are trapped by collision objects and cannot rise to the liquid surface and dissipate.
- Wind X, Wind Y
- The strength of a wind force along the X and Z vectors in scene grid units/s 2. Use Wind to direct foam particles that are above the liquid surface (spray).
Bifrost main liquid simulation
Liquid sim - vel preview |
Liquid sim - vorticity preview |
|
|
Bifrost Foam attributes compare - Emission Rate
Sets the number of emission points generated per voxel. Increasing this value generates more foam particles.
Emission rate - 250 |
Emission rate - 500 |
|
|
Bifrost Foam attributes compare - Min Liquid Speed
Sets a threshold value for triggering foam emission. Faster moving areas of the liquid emit more particles. This value is in m/sec in world space.
Min Liquid Speed - 4.0 |
Min Liquid Speed - 8.0 |
|
|
Bifrost Foam attributes compare - Min Liquid Churn - Min Liquid Curvature
Churn sets a threshold value for triggering foam emission. In Bifröst, churning is liquid rotating orthogonal to the surface normal. For example, churn can result from the rotating curvature of a cresting wave or from the turbulence of a washing machine agitator. Areas of the liquid with more churn emit the largest number of particles. Set Min Liquid Churn to values between 0 and 2 with lower values emitting more foam. This value is in m/sec in world space.
Curvature sets a threshold value for triggering foam emission. Liquid curvature refers to curved shapes on the liquid surface, such as those generated by rolling and cresting waves. Areas of the liquid with the steepest curves emit the largest number of particles.
Min Churn/Curvature - 0.5/0.3 |
Min Churn/Curvature - 0.75/0.4 |
|
|
Min Churn/Curvature - 1.0/0.5 |
|
Bifrost Foam attributes compare - Inherit Liquid Velocity
When set to 1, foam particles emit with a velocity equal to the liquid velocity vector. At values greater than 1, foam can shoot off the surface as spray, while values less than 1 dampen the particle velocity.
Inherit Liquid Velocity - 0.5 |
Inherit Liquid Velocity - 0.95 |
|
|
Inherit Liquid Velocity - 1.25 |
|
Bifrost Foam attributes compare - Emit Flatness to Surface
When set to 1.0, particles snap to the liquid surface on emission. This prevents foam particles from being emitted under the surface of the liquid. The default value is 0 which lets buoyancy affect the particles' upward motion.
Emit Flatness to Surface - 0 |
Emit Flatness to Surface - 1.0 |
|
|
Bifrost Foam attributes compare - Dissipation Rate
Rate, per-second, that foam particles lose density. Foam particles at and above the liquid surface dissipate. Particles under the liquid surface do not dissipate.
Dissipation Rate - 0.750 |
Dissipation Rate - 1.5 |
|
|
Bifrost Foam attributes compare - Preserve Volume
Applies a repulsive force to particles when the distance between them is equal to Point Radius.
Increase this value if you notice foam collapsing rather than dissipating as expected, or if particles are piling up and making the foam too thick.
Preserve Volume 0.0 |
Preserve Volume 0.5 |
|
|
|