Learn 3D Graphics

Blender Physics

Learn the basics of using Physics in Blender.

Fluid simulations are intended for small, contained areas of liquid. They add significantly to processing time. For large expanses, try creating the illusion of fluid with a wave/ocean modifier or through the material choices.

Fluid simulations must be contained inside of a domain object. This limits the processing required to a smaller, more manageable area rather than the entire scene. The domain always behaves like a cube, so you might as well use a cube.

  1. Adding a domain object:
    1. Use "Shift+A" or the top menu to add a cube
    2. Double-click on the layer to rename descriptively (ie. Fluid Domain)
    3. Resize the cube to fill up the entire space of your planned fluid simulation (but no bigger)
    4. Apply the scale with "Ctrl+A"
    5. Change the shading to "Smooth Shading" in the Object menu
  2. Turn on domain physics:
    1. Enable Fluid Physics
    2. Set the "Type" to "Domain"
    3. Set the "Domain Type" to "Fluid"
    4. Check "Liquid"
    5. Set the start and end frames under "Cache", if different than 1 and 250
  3. Change the viewport shading to Wireframe (Z → Wireframe)

There are many settings in the domain (especially under "Liquid"), that impact the behavior of the fluid. One of the easiest ways to improve fluid behavior/believability is to increase the resolution value.

The fluid source determines the volume and initial location of the fluid. Often the source object itself is hidden from the render, though it doesn't necessarily need to be.

  1. Setting Up:
    1. Create an object to act as the source of the fluid
    2. Enable Fluid Physics
    3. Set the "Type" to "Flow"
    4. Set the "Flow Type" to "Liquid"
    5. Set the "Flow Behavior" to:
      • Geometry - for a fluid amount limited to the geometry of the source object
      • Inflow - for fluid that constantly pours from the source object
  2. Hide the Fluid Source (optional):
    1. In the "Object" properties tab (orange cube icon), under "Viewport Display", deselect "Renders" and "Viewports"
  3. Add initial velocity (optional)
    1. Check "Initial Velocity" in the fluid source's physics properties
    2. Set the direction of the velocity by setting a positive or negative number for the X, Y and/or Z values

The domain will eventually display as the liquid. To add a material to the fluid, add the material to the domain. Mix shaders combining multiple shaders together work especially well.

Any object that the fluid will interact with must be placed inside the domain and be enabled as an effector.

  1. Select an "effector object" (ground plane, cup or etc.)
  2. Enable Fluid Physics
  3. Set the "Type" to "Effector"
  4. For moving effectors, set the "Effector Type" to "Guide"
  5. For stationary effectors, set the "Effector Type" to "Collision"

In some cases your fluid may "leak" through the effector boundaries. If this happens:

  • Apply any changes in scale (Ctrl+A → Scale)
  • Give the effector some thickness:
    1. With the effector object selected, add a solidify modifier
    2. Increase the "Thickness" value for the modifier
    3. Apply the solidify modifier in "Object" mode
  • Increase the "Surface Thickness" value in the effector's Physics properties

Fluid can be "drained" from the scene by placing an "outflow" object in the domain. Fluid that touches the "outflow" object will be removed

  1. Add an object (plane or etc.) inside of the fluid domain
  2. Turn on fluid physics for the outflow object
  3. Set the "Type" to "Flow"
  4. Set the "Flow Type" to "Liquid"
  5. Set the "Flow Behavior" to "Outflow"

Fluid simulations can be previewed in "Object" mode while the viewport is in wireframe shading. Small balls or particles demonstrate the movement of the fluid based on the current settings. The preview only updates when a change is made to the domain properties.

  1. Leave the viewport shading in Wireframe shading (Z → Wireframe)
  2. In the fluid domain physics properties, under "Cache" leave the "Type" set to "Replay"
  3. Change a Domain setting to update the preview:
    • Clicking in the resolution division field and pressing enter works well, even without making a change
    • Playback will not display the preview or changes to the preview without this step
  4. If not on frame 1, use the Timeline's playback controls to return to the start of the Timeline
  5. Press play (spacebar)

After you are happy with the particle movement, you can see how the fluid will look as a mesh:

  1. In the domain physics settings, check "Mesh" (this adds to the processing time so keep "Mesh" off if it gets too laggy)
  2. Update the preview by clicking in the resolution division field and press "Enter"

Any of the physics properties with a small white circle on the right can be keyframed and animated. For water, most often this will be to delay the start of the water pouring or to stop the flow of water after a set time.

  1. Delay the start of the fluid simulation:
    1. Select the fluid source object
    2. In the Timeline, go to frame 1
    3. In the physics tab, under "Fluid Source", un-check "Flow"
    4. Add a keyframe by clicking on the small white circle to the right of the property
    5. In the Timeline, move to the frame where the liquid turns on
    6. In the physics tab, under "Fluid Source", make "Flow" checked
    7. Add a keyframe for "Flow" by clicking on the diamond outline to the right of the property
    8. Make sure the domain (which displays as the fluid) won't be visible until the liquid turns on:
      1. In the Timeline, move to frame 1
      2. Select the domain object
      3. In the "Object" properties (orange square icon), under "Visibility", un-check both "Viewport Display" and "Render"
      4. Click on the white circles to the right of both "Viewport Display" and "Render" to add keyframes
      5. In the Timeline, move to the frame where your liquid turns "on"
      6. Check both "Viewport Display" and "Render"
      7. Add keyframes by clicking on the diamond outlines next to "Viewport Display" and "Render"
    9. Click in the resolution division field and press "Enter" to update the preview
  2. Turn the inflow of fluid off:
    1. Select the fluid source object
    2. In the Timeline, go to the last frame where the fluid should still be generating

"Baking" the fluid simulation has Blender run all it's calculations and processing for the simulation at once and then the data is saved. Afterwards, Blender just replays the simulation using the baked data. This saves processing and render time.

Only bake the simulation after you are happy with the position, movement, any keyframes, and the overall behavior of the fluid. Depending on the complexity of your simulation, baking can take a long time. You don't want to wait for the baking process more than necessary.

  1. In the domain object's physics properties:
    1. Make sure the Cache type is set to "All"
    2. Make sure "Mesh" is checked
    3. Set your own cache location (otherwise there can be issues when moving computers or when re-baking:
      1. Click on the folder icon to the right of the cache path field
      2. In the sidebar, under "System", click on an easy to find cache location (ie. Desktop)
      3. Click on the "New Directory" button on the top of the window
      4. Give the new folder a descriptive name - ie. "Fluid Cache" then press enter
      5. Double-click on the new folder to open it then choose "Accept"
    4. Press "Bake All"

If you end up needing to go back and make changes, you'll need to remove the bake and associated data first. Then you can make and preview your adjustments before baking again:

  1. In the domain object's physics settings under "Cache", click on "Free Bake"
  2. Change your other settings and etc. as needed
  3. Change the "Cache Type" back to "Replay"
  4. Click in the resolution division field and press "Enter" to update the preview
  5. Re-bake by following the original steps when ready

Fire and smoke simulations use the fluid physics system. The general workflow is identical, though some of the specific properties are different.

Fire and smoke simulations must be contained inside of a domain object. This limits the processing required to a smaller, more manageable area rather than the entire scene. The domain always behaves like a cube, so you might as well use a cube.

  1. Adding a domain object:
    1. Use "Shift+A" or the top menu to add a cube
    2. Double-click on the layer to rename descriptively (ie. Fire Domain)
    3. Resize the cube to fill up the entire space of your planned fire/smoke simulation (but no bigger)
    4. Apply the scale with "Ctrl+A"
  2. Turn on domain physics:
    1. Enable Fluid Physics
    2. Set the "Type" to "Domain"
    3. Leave the "Domain Type" to "Gas"
    4. Check "Adaptive Domain" (only if the fire/smoke is stationary) so that the domain shrinks/grows based on the needs of the simulation
    5. Set the start and end frames under "Cache", if different than 1 and 250

There are many settings in the domain (especially under "Fire"), that impact the behavior of the fire/smke. One of the easiest ways to improve behavior/believability is to increase the resolution value.

To keep fire close to the source object, turn up the "Reaction Speed" value. For a raging fire, choose a lower "Reaction Speed" value.

The fire source determines the initial volume and location of the fire/smoke. In some cases the source object might be hidden from the render though it is often left visible.

  1. Setting Up:
    1. Create an object to act as the source of the smoke or fire
    2. Enable Fluid Physics
    3. Set the "Type" to "Flow"
    4. Set the "Flow Type":
      • Smoke - only smoke, no fire
      • Fire - almost no smoke, mostly fire
      • Fire + Smoke - adjustable ratio of fire to smoke
    5. Set the "Flow Behavior" to:
      • Geometry - for a fire/smoke amount limited to the geometry of the source object
      • Inflow - for fire/smoke that constantly generates from the source object
  2. Add initial velocity (optional)
    1. Check "Initial Velocity" in the fire/smoke source's physics properties
    2. Set the direction of the velocity by setting a positive or negative number for the X, Y and/or Z values

Any object that the fire/smoke will interact with must be placed inside the domain and be enabled as an effector.

  1. Select an "effector object" (wall, log or etc.)
  2. Enable Fluid Physics
  3. Set the "Type" to "Effector"
  4. For moving effectors, set the "Effector Type" to "Guide"
  5. For stationary effectors, set the "Effector Type" to "Collision"

Fire/smoke can be removed from the scene by placing an "outflow" object in the domain. Fire/smoke that reaches the "outflow" object will disapear.

  1. Add an object (plane or etc.) inside of the fluid domain
  2. Turn on fluid physics for the outflow object
  3. Set the "Type" to "Flow"
  4. Set the "Flow Type" to "Liquid"
  5. Set the "Flow Behavior" to "Outflow"

Fire/Smoke simulations can be previewed in "Object" mode while the viewport is in wireframe or solid shading. The color of the fire/smoke in the preview has nothing to do with the end result.

  1. Leave the viewport shading in Solid shading (Z → Solid)
  2. In the domain object's physics properties, under "Cache" leave the "Type" set to "Replay"
  3. Change a Domain setting to update the preview:
    • Clicking in the resolution division field and pressing enter works well, even without making a change
    • Playback will not display the preview or changes to the preview without this step
  4. If not on frame 1, use the Timeline's playback controls to return to the start of the Timeline
  5. Press play (spacebar)

Any of the physics properties with a small white circle on the right can be keyframed and animated. For fire/smoke, most often this will be to control when the fire/smoke starts or stops. In this case, you could keyframe the flow checkbox but to control the timing precisely, change the "Density" and/or "Fuel" values instead.

  1. Delay the start of a smoke simulation:
    1. Select the smoke source object
    2. In the Timeline, go to the frame you want the smoke to start
    3. In the physics tab, under "Fluid Source", change the "Density" value to "0" and click on the white circle to add a keyframe
    4. In the Timeline, move to the frame where the smoke should be on all the way
    5. In the physics tab, under "Fluid Source", change the "Density" value to "1.0" (or etc.) and click on the diamond outline to add a keyframe
    6. Click in the resolution division field and press "Enter" to update the preview
  2. Turn smoke off:
    1. Select the smoke source object
    2. In the Timeline, go to the frame you want the smoke to start turning off
    3. In the physics tab, add a keyframe for the "Density" value
    4. In the Timeline, move to the frame where the smoke should be completely off
    5. In the physics tab, change the "Density" value to "0" and click on the diamond outline to add a keyframe
    6. Click in the resolution division field and press "Enter" to update the preview
  3. Delay the start of a fire simulation:
    1. Select the fire source object
    2. In the Timeline, go to the frame you want the fire to start
    3. In the physics tab, change the "Fuel" value to "0" and click on the white circle to add a keyframe
    4. In the Timeline, move to the frame where the smoke should be on all the way
    5. In the physics tab, change the "Fuel" value to "1.0" (or etc.) and click on the diamond outline to add a keyframe
    6. Click in the resolution division field and press "Enter" to update the preview
  4. Put out the fire:
    1. Select the smoke source object
    2. In the Timeline, go to the frame you want the fire to start turning off
    3. In the physics tab, add a keyframe for the "Fuel" value
    4. In the Timeline, move to the frame where the fire should be completely out
    5. In the physics tab, change the "Fuel" value to "0" and click on the diamond outline to add a keyframe
    6. Click in the resolution division field and press "Enter" to update the preview

To animate simulations with both fire and smoke turning off/on, add keyframes for both "Fuel" and "Density" to control the length of the transition. For a faster process but less control over the timing, just add keyframes to turn the "flow" checkbox on/off

If the fire/smoke source will change position, use parenting (Ctrl+P) to keep the source and domain together.

"Baking" the fire/smoke simulation has Blender run all it's calculations and processing for the simulation at once and then the data is saved. Afterwards, Blender just replays the simulation using the baked data. This saves processing and render time.

Only bake the simulation after you are happy with the position, movement, any keyframes, and the overall behavior of the fire/smoke. Depending on the complexity of your simulation, baking can take a long time. You don't want to wait for the baking process more than necessary.

  1. In the domain object's physics properties:
    1. Make sure the Cache type is set to "All"
    2. Set your own cache location (otherwise there can be issues when moving computers or when re-baking:
      1. Click on the folder icon to the right of the cache path field
      2. In the sidebar, under "System", click on an easy to find cache location (ie. Desktop)
      3. Click on the "New Directory" button on the top of the window
      4. Give the new folder a descriptive name - ie. "Fire Cache" then press enter
      5. Double-click on the new folder to open it then choose "Accept"
    3. Press "Bake All"

If you end up needing to go back and make changes, you'll need to remove the bake and associated data first. Then you can make and preview your adjustments before baking again:

  1. In the domain object's physics settings under "Cache", click on "Free Bake"
  2. Change your other settings and etc. as needed
  3. Change the "Cache Type" back to "Replay"
  4. Click in the resolution division field and press "Enter" to update the preview
  5. Re-bake by following the original steps when ready

Fire/smoke will only render properly when the domain is given very specific materials. When adding nodes, use the search bar to find them quickly. Keep in mind that "Multiply" is actually a "Math" node. Attributes must be written exactly as seen in the examples.

  1. Switch the workspace to "Shading"
  2. Switch the viewport shading in the 3D window to "Render" (Z → Render)
  3. In the Shader Editor, if no nodes are visible, press "+ New" to add a starter material
  4. Make sure "Use Nodes" is checked
  5. Delete the default shader
  6. Add nodes as seen in the examples:
    1. For Smoke: This image is missing
    2. For Fire: This image is missing
    3. For Fire and Smoke: This image is missing
  7. Customize colors/numbers in the nodes as needed:
    1. To change colorstops in the ColorRamp node:
      1. Click on a color dial
      2. Click in the color field below
      3. Use the value/color picker to change the color
      4. Repeat for other colorstops
    2. Add or remove additional colorstops by clicking on the "+" and "-" buttons
    3. Drag a dial to impact the transition between colors
  8. Customize the smoke color in the source object's physics properties under "Settings" → "Smoke Color"

Fire/smoke materials will look best with the Cycles render engine.

Cloth physics allows flat meshes to behave similarly to fabric. Cloth simulations behave similarly to soft body simulations. Unlike the previous physics types, there is no "Domain" to contain the simulation - only cloth objects and collision objects that can interact with the cloth.

  1. Create a plane (or other flat mesh) with a decent amount of sub-division
  2. Below the plane, add another object (in Object mode) for the cloth to fall onto - Suzanne is great while testing
  3. In "Object" mode, go to the "Object" menu and choose "Shade Smooth"
  4. In the Physics properties, check "Cloth"
  5. Make adjustments as needed:
    • Vertex Mass - gives a weight to each vertex
    • Air Viscosity - the heaviness of the air
    • Stiffness settings - have a large impact on how the fabric behaves when it interacts with a collision object
    • Damping settings - control the dissipation of oscillation energy
    • Self Collision settings - allows the cloth to collide with itself and controls that behavior
  6. To preview the simulation, always start from "Frame 1" in the Timeline and press play (spacebar)

Other objects that will interact with or should impact the behavior of the cloth object need to have physics collisions turned on.

  1. Select the collision object (ie. Suzanne) and in the Physics tab, check "Collision"
  2. Preview the simulation by starting from "Frame 1" in the Timeline and presssing play (spacebar)
  3. If the cloth intersects the faces of the mesh, increase the "Thickness Outer" value

Cloth can be "pinned" so that parts of the fabric stick in place while the rest of the fabric hangs. This is helpful for flags, curtains and etc.

  1. Select the cloth mesh and go to "Edit" mode
  2. Select the vertices that will be "pinned"
  3. Go to the "Object Data" properties (green triangle) and create a vertex group:
    1. Expand "Vertex Groups" if needed and click on the "+" to the side of the "Vertex Group" field
    2. Click on the "Assign" button to add the selected vertices to the group (selected vertices can be assigned or removed from the group at any time)
    3. Doubleclick on the name to rename the group descriptively and then press enter
  4. In the Physics tab, under "Shape", click in the "Pin Group" field to choose the vertex group
  5. In "Object" mode, go to "Frame 1" in the Timeline and press play (spacebar)

Baking the simulation saves the simulation data so that it does not need to be recalculated. This saves in processing time. Since the baking process is time consuming, it should only be done after you have finished making adjustements to the simulation.

  1. In the cloth object's Physics tab, expand "Cache"
  2. Adjust the starting and ending frames as needed
  3. Click on:
    • Bake - to bake just the cloth physics
    • Current Cache to Bake - to save the current preview data (only use if you've played through all the frames)
  4. To remove the bake, click on "Delete Bake"

Soft Body physics are intended for objects that deform in response to other forces - ie. cushions, balloons & etc.. These simulations behaves very similarly to cloth simulations.

  1. In "Object" mode, create an object to use as a soft body - ie. a UV sphere for a bouncing ball
  2. In the Physics properties, click on "Soft Body"
  3. Preview the simulation by starting from "Frame 1" in the Timeline and presssing play (spacebar)
  4. Adjust soft body settings as needed:
    • Under object, control the "Mass" - how heavy the soft body is
    • Under "Simulation", control the speed
    • Goal - determines whether gravity (when unchecked) or a vertex group (when checked) controls the soft body behavior
      • Keep this unchecked to start
    • Edges:
      • Pull - how much the soft body can stretch
      • Push - how much the soft body resists being compressed
      • Damp - reduces the impact of friction
      • Plasticity - amount of permanent deformation
      • Bending - how stiff/rigid the soft body is
      • Length - how much the edges shrink/grow
    • Stiffness - keeps quad faces from collapsing, as diagonals are used as springs
  5. To preview a soft body simulation, still in "Object" mode, go to "Frame 1" and then press play (spacebar)

Since many of the soft body behaviors rely on the edges, the amount of subdivision has a big impact on the soft body behavior. For some meshes, an increase in subdivision will improve the soft body behavior.

For a soft body to interact with other objects, collision physics must be turned on for those other objects. Otherwise the soft body will pass right through.

Any objects that the softbody will interact with (ie. a ground plane), need to have collision physics enabled. Even soft bodies need to have collision turned on in order to interact with other soft body objects.

  1. Select an object that will interact with a soft body object - ie. a ground plane underneath the soft body
  2. In the Physics tab, enable "Collision"
  3. Adjust collision settings (specifically under "Soft Body & Cloth") as needed:
    • Outer/Inner face thickness has the biggest impact on meshes intersecting improperly
  4. Preview any changes in Object mode by going to "Frame 1" in the Timeline and then pressing play (spacebar)

Soft body can be applied to planes (or other flat meshes) to use as fabric, as an alternative to cloth physics.

  1. Create a plane or other flat mesh shape
  2. In Edit mode, add some subdivision to the mesh (E → Subdivide)
  3. Increase the number of cuts in the subdivision window to add some detail
  4. In the Physics tab, click on "Soft Body"
  5. Uncheck "Goal"
  6. Turn on collision for any objects the fabric will touch
  7. In the collision settings, increase the inner/outer face thickness as needed to prevent faces intersecting
  8. Preview any changes in Object mode by going to "Frame 1" in the Timeline and then pressing play (spacebar)

If your soft body will be animated with keyframes to control the position & etc., it needs to be weight painted (with soft body goal turned on). Otherwise the soft body ignores the keyframes. This can create a more sophisticated and controlled result.

Like weight painting for an armature/rig, it can be done through a

  1. Weight paint in "Weight Paint" mode:
    1. With the soft body object selected, switch into "Weight Paint" mode
    2. Click on the brush icon torwards the top left of the 3D window to change between brush types:
      • Add - adds stiffness
      • Subtract - removes stiffness
    3. Increase/decrease the weight value to control how much stiffness you are adding/removing
    4. Paint with the brush to adjust the weight as needed:
      • Red or a weight of 1.0 = rigid
      • Dark blue or a weight of 0 = flexible
  2. Weight paint through the vertex group:
    1. Select the soft body object and go into "Edit" mode
    2. In the "Object Data" properties, select the vertex group (it might be beneficial to rename it descriptively)
    3. Set the shading to "Wireframe"
    4. Select vertices that should be rigid using any of the selection tools
    5. Set the "Weight" to "1.0" and click on "Assign"
    6. Repeat as needed with other vertices and different weight values
  3. Set the vertex group to impact the simulation:
    1. In the physics tab, check "Goal"
    2. Under "Goal", click in the empty vertex group field to choose the vertex group
  4. In "Object" mode, add keyframes to control the soft body object's position, rotation and etc.
  5. Preview by going to "Frame 1" in the Timeline and then pressing play (spacebar)

Baking the simulation saves processing time but should only be done once all of the soft body interactions are finished.

  1. In the Physics tab, under "Cache", customize the cache settings as needed - ie. the start and end frame numbers
  2. Choose:
    • Bake - to bake the entire simulation for the selected object
    • Bake All Dynamics - to bake all physics (even different types)
    • Current Cache to Bake - to save the preview as a bake (only do this if you've previewed all the way to the end)
  3. To adjust any soft body settings after baking, click on "Delete Bake"

Rigid Body physics are intended for hard objects that don't deform in response to other forces - ie. wooden crates, skateboards & etc.. Rigid body simulations behave differently to the other types.

Active rigid bodies take part in the simnulation and are impacted by other forces - ie. gravity & etc...

  1. Create/select an object to add an active rigid body to - ie. a ball
  2. In the "Physics" tab, click on "Rigid Body"
  3. Set the type to "Active"
  4. Preview any changes in Object mode by going to "Frame 1" in the Timeline and then pressing play (spacebar)

Passive rigid bodies are not an active part of the simulation but do interact with the active rigid bodies. Forces such as gravity have no impact of the passive rigid bodies.

  1. Create/select an object to add a passive rigid body to - ie. a ground plane
  2. In the "Physics" tab, click on "Rigid Body"
  3. Set the type to "Passive"
  4. Preview any changes in Object mode by going to "Frame 1" in the Timeline and then pressing play (spacebar)

Rigid bodies have a "collision boundary" that determines how the rigid body interacts with other rigid body objects. More detailed collision shapes might have more accurate behavior but also are more processing heavy.

  1. In the physics tab, choose the collision type that best fits the mesh:
    • Box - best for cubes
    • Sphere - best for spheres
    • Convex Hull - wraps around the entire mesh, like shrinkwrap - ignoring holes
    • Mesh - wraps around the entire mesh with detail - including holes (most accurate for complex meshes)

Passive rigid bodies do not move and are not impacted by rigid body forces

Passive rigid bodies do not move and are not impacted by rigid body forces

Passive rigid bodies do not move and are not impacted by rigid body forces

Forces

If the fluid/fire/smoke simulation is not visible when trying to preview:

  • Make sure to use "Object" mode
  • Make sure the viewport shading is set to Wireframe shading (Z → Wireframe)
  • Apply the scale to all objects (Ctrl+A → Scale)
  • In the domain object's physics properties:
    • Make sure the Cache type is set to "Replay"
    • For Liquid:
      1. Make sure the Domain type is "Liquid", not gas
      2. Make sure "Liquid" is checked in the Domain physics properties
    • For Fire/Smoke, make sure the Domain type is "Gas", not liquid
    • Increase the resolution drastically (especially if the very small cube in the corner of the domain isn't very small or isn't visible at all)
  • Click in the resolution division field and press "Enter" to update the preview

If your simulation fails to update after freeing a bake, try removing the cache data. This is more likely to be a problem if you haven't set your own cache location.

  1. Find your cache location by clicking on the folder icon to the right of the cache path (the current location is visible at the top of the window)
  2. In your file browser (ie. Finder or File Explorer), navigate to the cache folder location
  3. Delete the cache folder
  4. Back in Blender, add a new cache location
  5. Change your other settings and etc. as needed
  6. Change the "Cache Type" back to "Replay"
  7. Click in the resolution division field and press "Enter" to update the preview

If Fire/Smoke is visible while previewing in Wireframe or Solid shading but is not visible in the Render or LookDev shading, the issue is likely due to the material.

  • Use "Object" mode
  • "Use Nodes" must be checked in the "Shader" window with the domain active
  • Confirm the fire/smoke material was added to the domain object
  • Fire/smoke material must have the same nodes/connections/values as the example
  • Make sure the attribute node values are spelt correctly for the material (all lowercase, same words as the examples)

If the soft body or cloth is passing through/ignoring other objects:

  1. Turn on collision physics for the other objects

If the soft body/cloth is ignoring/passing through another soft body or cloth object:

  1. Turn on collision physics for both soft body/cloth objects

If part of your soft body sinks into/intersects with another mesh:

  1. In the collision physics for the other object, increase the inner/outer face thickness value

Unfortunately, different physics types do not automatically interact with each other. There are a few approaches you can take depending on the type of interactions you are trying to get.

In some cases, enabling both types of physics (ie. soft body and rigid body) might be able to create the interaction you are looking for. A soft body ball might also have rigid body enabled. The rigid body it interacts with (ie. wrecking ball), might have both rigid body and collision enabled.

In some cases, interactions are faked between physics types. Invisible/hidden obects might be used to get the desired effect. Ie. A rigidbody ball might bounce off of an invisible plane to make it look like it is bouncing off of a cloth physics trampoline.

In other cases, the timing of animation keyframes can create the illusion of interactions. Ie. for "water" to "put out" a fire, animate the flow values (or density) to stop the fire when the fluid reaches it.