Fusion Fog and Smoke

This is a simple Blackmagic Fusion comp that creates a puff of particle smoke.  Copy and paste to the Fusion flow.

{
	Tools = ordered() {
		Ellipse1_2_2_1_1_1_1_1 = EllipseMask {
			CurrentSettings = 2,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							Ellipse1 = EllipseMask {
								Inputs = {
									ClippingMode = Input { Value = FuID { "None" } },
									BorderWidth = Input { Value = 0.135 },
									SoftEdge = Input { Value = 0.2 },
									Height = Input { Value = 0.359 },
									MaskWidth = Input { Value = 1920 },
									PixelAspect = Input { Value = { 1, 1 } },
									MaskHeight = Input { Value = 1080 },
									Width = Input { Value = 0.333 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { -104, 153 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				SoftEdge = Input { Value = 0.2, },
				BorderWidth = Input { Value = 0.0403, },
				MaskWidth = Input { Value = 1920, },
				MaskHeight = Input { Value = 1080, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.193, },
				Height = Input {
					Value = 0.193,
					Expression = "Width",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 915.96, 1572.72 } },
		},
		Ellipse1_2_2_1_1_1_1_2 = EllipseMask {
			CurrentSettings = 2,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							Ellipse1 = EllipseMask {
								Inputs = {
									ClippingMode = Input { Value = FuID { "None" } },
									BorderWidth = Input { Value = 0.135 },
									SoftEdge = Input { Value = 0.2 },
									Height = Input { Value = 0.359 },
									MaskWidth = Input { Value = 1920 },
									PixelAspect = Input { Value = { 1, 1 } },
									MaskHeight = Input { Value = 1080 },
									Width = Input { Value = 0.333 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { -104, 153 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				SoftEdge = Input { Value = 0.2, },
				BorderWidth = Input { Value = 0.0403, },
				MaskWidth = Input { Value = 1920, },
				MaskHeight = Input { Value = 1080, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.1, },
				Height = Input {
					Value = 0.1,
					Expression = "Width",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 750.96, 1605.72 } },
		},
		FastNoise3_1_1 = FastNoise {
			CurrentSettings = 3,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							FastNoise3 = FastNoise {
								Inputs = {
									XScale = Input { Value = 2.7 },
									Contrast = Input { Value = 0.908 },
									GradientType = Input { Value = 5 },
									EffectMask = Input {
										SourceOp = "Polygon1",
										Source = "Mask"
									},
									Width = Input { Value = 300 },
									["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
									Height = Input { Value = 300 },
									Gradient = Input {
										Value = Gradient {
											Colors = {
												[0] = { 0.622, 0.622, 0.632, 1 },
												[1] = { 0.811, 0.816, 0.811, 1 }
											}
										}
									},
									GlobalOut = Input { Value = 30 },
									Brightness = Input { Value = -0.277 },
									SeetheRate = Input { Value = 0.479 },
									Detail = Input { Value = 5.44 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } },
								CustomData = {
								}
							}
						}
					},
					[2] = {
						Tools = ordered() {
							FastNoise3_1_1 = FastNoise {
								Inputs = {
									XScale = Input { Value = 11.81 },
									Brightness = Input { Value = -0.277 },
									Contrast = Input { Value = 0.908 },
									Height = Input { Value = 600 },
									GradientType = Input { Value = 5 },
									EffectMask = Input {
										SourceOp = "Ellipse1_2_2_1_1_1_1_1",
										Source = "Mask"
									},
									Width = Input { Value = 600 },
									Angle = Input { Value = 15.7 },
									["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
									Discontinuous = Input { Value = 1 },
									Color1Alpha = Input { Value = 1 },
									GlobalOut = Input { Value = 30 },
									Gradient = Input {
										Value = Gradient {
											Colors = {
												[0] = { 0.622, 0.622, 0.632, 1 },
												[1] = { 0.811, 0.816, 0.811, 1 }
											}
										}
									},
									SeetheRate = Input { Value = 0.75 },
									Detail = Input { Value = 5.56 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { 256.197, 1570.16 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				Width = Input { Value = 600, },
				Height = Input { Value = 600, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Discontinuous = Input { Value = 1, },
				Detail = Input { Value = 5.56, },
				Contrast = Input { Value = 0.908, },
				Brightness = Input { Value = -0.277, },
				XScale = Input { Value = 12.9, },
				Angle = Input { Value = 15.7, },
				SeetheRate = Input { Value = 0.75, },
				Color1Alpha = Input { Value = 1, },
				GradientType = Input { Value = 5, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.622, 0.622, 0.632, 1 },
							[1] = { 0.811, 0.816, 0.811, 1 }
						}
					},
				},
				EffectMask = Input {
					SourceOp = "Ellipse1_2_2_1_1_1_1_1",
					Source = "Mask",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 915.162, 1606.52 } },
		},
		FastNoise3_1 = FastNoise {
			CurrentSettings = 2,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							FastNoise3 = FastNoise {
								Inputs = {
									XScale = Input { Value = 2.7 },
									Contrast = Input { Value = 0.908 },
									GradientType = Input { Value = 5 },
									EffectMask = Input {
										SourceOp = "Polygon1",
										Source = "Mask"
									},
									Width = Input { Value = 300 },
									["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
									Height = Input { Value = 300 },
									Gradient = Input {
										Value = Gradient {
											Colors = {
												[0] = { 0.622, 0.622, 0.632, 1 },
												[1] = { 0.811, 0.816, 0.811, 1 }
											}
										}
									},
									GlobalOut = Input { Value = 30 },
									Brightness = Input { Value = -0.277 },
									SeetheRate = Input { Value = 0.479 },
									Detail = Input { Value = 5.44 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				Width = Input { Value = 600, },
				Height = Input { Value = 600, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5.44, },
				Contrast = Input { Value = 2.023, },
				Brightness = Input { Value = -0.277, },
				XScale = Input { Value = 2.7, },
				SeetheRate = Input { Value = 0.425, },
				GradientType = Input { Value = 5, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.622, 0.622, 0.632, 1 },
							[1] = { 0.811, 0.816, 0.811, 1 }
						}
					},
				},
				EffectMask = Input {
					SourceOp = "Ellipse1_2_2_1_1_1_1",
					Source = "Mask",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1081.95, 1564.46 } },
		},
		pEmitter2_1 = pEmitter {
			ID = 146,
			Inputs = {
				RandomSeed = Input { Value = 27329, },
				Number = Input {
					SourceOp = "pEmitter2_1Number",
					Source = "Value",
				},
				Lifespan = Input { Value = 24, },
				Velocity = Input { Value = 1.3, },
				AngleVariance = Input { Value = 360, },
				AngleZVariance = Input { Value = 360, },
				Rotation = Input { Value = 1, },
				RotationVariance = Input { Value = 1, },
				RotationZVariance = Input { Value = 360, },
				SpinVariance = Input { Value = 1, },
				SpinZVariance = Input { Value = 5, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyle.ColorControls"] = Input { Value = 1, },
				["ParticleStyle.ColorOverLifeControls"] = Input { Value = 1, },
				["ParticleStyle.ColorOverLife"] = Input {
					Value = Gradient {
						Colors = {
							[0.00353356890459364] = { 0, 0, 0, 0 },
							[0.0989399293286219] = { 1, 1, 1, 1 }
						}
					},
				},
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 1.2, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitter2SizeoverLife_1",
					Source = "Value",
				},
				["ParticleStyle.FadeControls"] = Input { Value = 1, },
				["ParticleStyle.FadeOut"] = Input { Value = 0.256, },
				["ParticleStyle.MergeControls"] = Input { Value = 1, },
				["ParticleStyle.SubtractiveAdditive"] = Input { Value = 0.569, },
				["ParticleStyle.BlurControls"] = Input { Value = 1, },
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitter2BluroverLife2D_1",
					Source = "Value",
				},
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "FastNoise3_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1082.94, 1595.48 } },
		},
		pEmitter2_1Number = BezierSpline {
			SplineColor = { Red = 233, Green = 206, Blue = 78 },
			NameSet = true,
			KeyFrames = {
				[0] = { 5, RH = { 1.33333333333333, 3.33333333333333 }, Flags = { Linear = true } },
				[4] = { 0, LH = { 2.66666666666667, 1.66666666666667 }, Flags = { Linear = true } }
			}
		},
		pEmitter2SizeoverLife_1 = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.1, RH = { 0.105106382978723, 0.682127659574468 }, Flags = { Linear = true } },
					[0.95] = { 1, LH = { 0.573052493928638, 0.968261390959546 } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
		},
		pEmitter2BluroverLife2D_1 = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
		},
		Ellipse1_2_2_1_1_1_1 = EllipseMask {
			CurrentSettings = 2,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							Ellipse1 = EllipseMask {
								Inputs = {
									ClippingMode = Input { Value = FuID { "None" } },
									BorderWidth = Input { Value = 0.135 },
									SoftEdge = Input { Value = 0.2 },
									Height = Input { Value = 0.359 },
									MaskWidth = Input { Value = 1920 },
									PixelAspect = Input { Value = { 1, 1 } },
									MaskHeight = Input { Value = 1080 },
									Width = Input { Value = 0.333 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { -104, 153 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				SoftEdge = Input { Value = 0.2, },
				BorderWidth = Input { Value = 0.0403, },
				MaskWidth = Input { Value = 1920, },
				MaskHeight = Input { Value = 1080, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.193, },
				Height = Input {
					Value = 0.193,
					Expression = "Width",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1081.95, 1529.48 } },
		},
		pMerge4 = pMerge {
			ID = 115,
			Inputs = {
				Particles1 = Input {
					SourceOp = "pEmitter2_1_1",
					Source = "Output",
				},
				Particles2 = Input {
					SourceOp = "pEmitter2_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1245.96, 1638.72 } },
		},
		FastNoise3_1_2 = FastNoise {
			CurrentSettings = 2,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							FastNoise3 = FastNoise {
								Inputs = {
									XScale = Input { Value = 2.7 },
									Contrast = Input { Value = 0.908 },
									GradientType = Input { Value = 5 },
									EffectMask = Input {
										SourceOp = "Polygon1",
										Source = "Mask"
									},
									Width = Input { Value = 300 },
									["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
									Height = Input { Value = 300 },
									Gradient = Input {
										Value = Gradient {
											Colors = {
												[0] = { 0.622, 0.622, 0.632, 1 },
												[1] = { 0.811, 0.816, 0.811, 1 }
											}
										}
									},
									GlobalOut = Input { Value = 30 },
									Brightness = Input { Value = -0.277 },
									SeetheRate = Input { Value = 0.479 },
									Detail = Input { Value = 5.44 }
								},
								CtrlWZoom = false,
								ViewInfo = OperatorInfo { Pos = { 198.964, 1366.69 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				Width = Input { Value = 600, },
				Height = Input { Value = 600, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Detail = Input { Value = 5.44, },
				Contrast = Input { Value = 1.744, },
				Brightness = Input { Value = 0.085, },
				XScale = Input { Value = 2.7, },
				SeetheRate = Input { Value = 0.069, },
				GradientType = Input { Value = 5, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0.622, 0.622, 0.632, 1 },
							[1] = { 0.811, 0.816, 0.811, 1 }
						}
					},
				},
				EffectMask = Input {
					SourceOp = "Ellipse1_2_2_1_1_1_1_2",
					Source = "Mask",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 750.96, 1638.72 } },
		},
		Merge2 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "FastNoise3_1_2",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "FastNoise3_1_1",
					Source = "Output",
				},
				ApplyMode = Input { Value = FuID { "Overlay" }, },
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 915.96, 1638.72 } },
		},
		pEmitter2_1_1 = pEmitter {
			ID = 218,
			Inputs = {
				RandomSeed = Input { Value = 7300, },
				Number = Input {
					SourceOp = "pEmitter2_1_1Number",
					Source = "Value",
				},
				Lifespan = Input { Value = 24, },
				VelocityControls = Input { Value = 1, },
				Velocity = Input { Value = 1.5, },
				VelocityVariance = Input { Value = 0.498, },
				AngleVariance = Input { Value = 360, },
				AngleZVariance = Input { Value = 360, },
				Rotation = Input { Value = 1, },
				RotationVariance = Input { Value = 1, },
				RotationZVariance = Input { Value = 360, },
				SpinVariance = Input { Value = 1, },
				SpinZVariance = Input { Value = -15, },
				Style = Input { Value = FuID { "ParticleStyleBitmap" }, },
				["ParticleStyle.ColorControls"] = Input { Value = 1, },
				["ParticleStyle.ColorOverLifeControls"] = Input { Value = 1, },
				["ParticleStyle.ColorOverLife"] = Input {
					Value = Gradient {
						Colors = {
							[0.00353356890459364] = { 0, 0, 0, 0 },
							[0.0989399293286219] = { 1, 1, 1, 1 }
						}
					},
				},
				["ParticleStyle.SizeControls"] = Input { Value = 1, },
				["ParticleStyle.Size"] = Input { Value = 1.3, },
				["ParticleStyle.SizeOverLife"] = Input {
					SourceOp = "pEmitter2_1_1SizeoverLife",
					Source = "Value",
				},
				["ParticleStyle.FadeControls"] = Input { Value = 1, },
				["ParticleStyle.FadeOut"] = Input { Value = 0.075, },
				["ParticleStyle.MergeControls"] = Input { Value = 1, },
				["ParticleStyle.SubtractiveAdditive"] = Input { Value = 0.611, },
				["ParticleStyle.BlurControls"] = Input { Value = 1, },
				["ParticleStyle.BlurOverLife"] = Input {
					SourceOp = "pEmitter2_1_1BluroverLife2D",
					Source = "Value",
				},
				["ParticleStyleBitmap.DropToolsHere"] = Input {
					SourceOp = "Merge2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1082.94, 1638.72 } },
		},
		pEmitter2_1_1Number = BezierSpline {
			SplineColor = { Red = 233, Green = 206, Blue = 78 },
			NameSet = true,
			KeyFrames = {
				[0] = { 5, RH = { 1.33333333333333, 3.33333333333333 }, Flags = { Linear = true } },
				[4] = { 0, LH = { 2.66666666666667, 1.66666666666667 }, Flags = { Linear = true } }
			}
		},
		pEmitter2_1_1SizeoverLife = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.1, RH = { 0.105106382978723, 0.682127659574468 }, Flags = { Linear = true } },
					[0.95] = { 1, LH = { 0.573052493928638, 0.968261390959546 } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
		},
		pEmitter2_1_1BluroverLife2D = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0.5, RH = { 0.333333333333333, 0.5 }, Flags = { Linear = true } },
					[1] = { 0.5, LH = { 0.666666666666667, 0.5 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
		},
		Note5_1 = Note {
			Inputs = {
				Comments = Input { Value = "puff 2\n", }
			},
			ViewInfo = StickyNoteInfo {
				Pos = { 1309.87, 1542.32 },
				Size = { 196, 179.3 }
			},
		},
		pFriction2_1 = pFriction {
			ID = 32,
			Inputs = {
				VelocityFriction = Input {
					SourceOp = "pFriction2_1VelocityFrictionLinear",
					Source = "Value",
				},
				Input = Input {
					SourceOp = "pMerge4",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1410.96, 1638.72 } },
		},
		pFriction2_1VelocityFrictionLinear = BezierSpline {
			SplineColor = { Red = 246, Green = 164, Blue = 230 },
			NameSet = true,
			KeyFrames = {
				[0] = { 0, RH = { 3.5, 0.24 }, Flags = { Linear = true } },
				[40] = { 0.192, LH = { 24.2424242424242, 0.175030303030303 } }
			}
		},
		pDirectionalForce2_1 = pDirectionalForce {
			ID = 79,
			PassThrough = true,
			Inputs = {
				Strength = Input { Value = 0.695, },
				Direction = Input { Value = 90, },
				Input = Input {
					SourceOp = "pFriction2_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1520.96, 1638.72 } },
		},
		pRender3_1 = pRender {
			CtrlWZoom = false,
			Inputs = {
				_MotionBlurWarning = Input { Disabled = true, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				OutputMode = Input { Value = FuID { "TwoD" }, },
				IntegrationMethod = Input { Value = FuID { "RK4" }, },
				["MaterialID.MaterialID"] = Input { Value = 5, },
				["ObjectID.ObjectID"] = Input { Value = 5, },
				Translation = Input { Value = 1, },
				Rotation = Input { Value = 1, },
				Perspective = Input { Value = 0.0692, },
				Input = Input {
					SourceOp = "pDirectionalForce2_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1623.96, 1641.83 } },
		}
	}
}