Set playback speed: Play every frame
Make sure the plugin below loaded:
(P.S. Bifrost is picky in scale measurement, cm, m....so set it in advance: in Preference, settings, Linear: cm)
Create a plane (name as flagshape), and a cylinder (name as poleshape)
Bifrost tag (below Render icons) OR in Window → Bifrost Graph Editor icon → Create Graph →
Delete input node, drag our own input (here is the flagshape)
→
Tab, type make_mpm_cloth → connect its gemoetry to Flagshape Mesh
→
In cloth geometry parameter, mass density (kg per cubic metre) to control heaviness, Area preservation controls bounciness and jitteriness
Tab, type simulate_mpm and mpm_solver_settings, connect the graph as follow:
In mpm-solver node:
Scene units in meters: 0.55, Style: Smooth
Hide the flag layer in outliner (in Bifrost, input mesh is displayed in defualt. If in nCloth, it’s opposite)
Now the flag will fall down, to make it hang on pole:
Drag the pole layer in the graph
Pause Graph execution (in Edit menu of Graph editor, or Ctrl+. ) → tab, type Constraint_mpm → change the node structure as follow instead: (hotkey L to make the graph tighter)
Add Collider node, connect its geometry to Poleshape mesh1 node, and colliders output to simulate_mpm colliders input
Also add Wind_influence and Turbulence_influence , OR Tab, Simulation→ Influence
→ plug their outputs to Simulate_mpm influences input
In wind influence: Wind speed 20, wind direction 8,25,1
In turbulence influence, turbulence 15, frequency 15
Open Bifrost Browser → Import cigarette smoke → opens its graph editor, copy Random _magnitude node (ctrl c) and paste in our graph (the cigarette smoke bifrost makes the wind blowing more randomly)
Unfold the magnitude node (press 3), connect its output (outNoise) to wind speed and turbulence influence:
In magnitude menu, magnitude: 20, Frequency: 0.8
Delete the cigarettesmoke layer in Outliner
Apply Final Touch:
Select the flag layer, isolate from selected → shift R click, Smooth → Division: 2
Back to graph editor → mpm_solver setting: Detail size to 0.01 (lower value gives higher quality, but run more memory)
Playblast (R click on timeline) →