Welcome to WSL!

New to the forum? Please read this and this.

Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

Show us your bits!

Moderator: Dunn

User avatar
Midgardsormr
Fusionator
Posts: 2043
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 22
Location: Los Angeles, CA, USA
Been thanked: 11 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#16

Post by Midgardsormr »

Incidentally, I suspect every DCTL fuse will have this problem. I'm going to test Tintensity now to see if I'm right.

confirmed: Tintensity will fail at frame 3334. This looks like a Fusion bug.

User avatar
Shem Namo
Fusionista
Posts: 658
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 2 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#17

Post by Shem Namo »

Thanks Bryan, It looks like I need to fix Tintensity to.

I did some playing for a couple days, but to no avail.
But then I asked @chrisr for some help and he had the solution that worked like a charm on my end and his end.
Thank you so much Chris, I really appreciate your help!!

@intelligent machine , @Midgardsormr , could you please try downloading the the latest version from GumRoad?
I already updated it there. I hope that Chris's solution works on your ends to.

@SecondMan , I added a couple of your feature requests like the line thickness and the toggle dots option.

Regarding the amount of particles, the way this algorithm works is:
  • First we create a grid made of cells
  • Then we draw a point in a random position inside each cell.
  • Then we create copies of the particle grid in the z axis.
So essentially the scale and layers sliders control the amount of particles
And the size of the particles it strictly dependent on the bloom slider(but I think I can change that).

I can try working on these 2 things over the next few day and will update again.

Thanks guys,
I really appreciate our help and hope you can find this fuse useful.
David

User avatar
Midgardsormr
Fusionator
Posts: 2043
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 22
Location: Los Angeles, CA, USA
Been thanked: 11 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#18

Post by Midgardsormr »

A suggestion: Don't distribute the fuse with the version number in the filename. If a user installs it in an automated fashion, or just isn't paying attention because they have a couple dozen fuses installed already, the new one won't overwrite the old one, and there's no telling which will get loaded upon registration.

Yes, that fixed the problem. It's a bit of a kludge to work around a real problem, but it does fix it. There might still be trouble with random frame access. It's a corner case, but in the event that a user plays their comp backward, scrubs around, or the like, it will still overflow eventually. I can't help thinking there's a more elegant way of setting the flag. Moving the node declaration out of Process() didn't work.

User avatar
intelligent machine
Fusionista
Posts: 706
Joined: Fri May 13, 2016 10:01 pm
Answers: 7
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 9 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#19

Post by intelligent machine »

I just played through around 17k frames without errors. Seems you fixed it!

Feature requests:
1. Add a 2nd layer of turbulence so that each particle can have a wavy motion within the larger motion path (as defined by the Auto Evolve / Evolution Rate feature).
2. Use a curve to define line thickness from start to end including presets. (thick near particles and thin in the middle opposite, for example).

User avatar
intelligent machine
Fusionista
Posts: 706
Joined: Fri May 13, 2016 10:01 pm
Answers: 7
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 9 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#20

Post by intelligent machine »

A little experiment:

Image

Code: Select all

{
	Tools = ordered() {
		Camera3D1 = Camera3D {
			NameSet = true,
			CustomData = {
				Settings = {
					[1] = {
						Tools = ordered() {
							Camera3D1 = Camera3D {
								Inputs = {
									ApertureW = Input { Value = 0.831496062992126 },
									AoV = Input { Value = 19.2642683071402 },
									["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
									["MtlStdInputs.MaterialID"] = Input { Value = 1 },
									ApertureH = Input { Value = 0.467716535433071 },
									FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" } },
									["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 }
								},
								Name = "Camera3D1",
								CtrlWZoom = false,
								NameSet = true,
								ViewInfo = OperatorInfo { Pos = { 550, 214.5 } },
								CustomData = {
								}
							}
						}
					},
					[6] = {
						Tools = ordered() {
							Camera3D1 = Camera3D {
								Inputs = {
									FLength = Input { Value = 49.0568334445481 },
									["Transform3DOp.Translate.Z"] = Input { Expression = "self.ImageInput.Metadata.Translate.Z" },
									ImagePlaneEnabled = Input { Value = 0 },
									AoV = Input {
										Value = 19.2642683071402,
										Expression = "self.ImageInput.Metadata.RSCameraFOV or self.ImageInput.Metadata['rs/camera/fov']"
									},
									AovType = Input { Value = 1 },
									["Transform3DOp.Rotate.Y"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Y" },
									ApertureH = Input { Value = 0.9 },
									FilmGate = Input { Value = FuID { "HD" } },
									["Transform3DOp.Rotate.X"] = Input { Expression = "self.ImageInput.Metadata.Rotate.X" },
									["Transform3DOp.Translate.X"] = Input { Expression = "self.ImageInput.Metadata.Translate.X" },
									PlaneOfFocus = Input { Expression = "self.ImageInput.Metadata.RSCameraDOFFocusDistance or self.ImageInput.Metadata['rs/camera/DOFFocusDistance']" },
									FilmBack = Input { Value = 1 },
									["Transform3DOp.Rotate.RotOrder"] = Input { Value = FuID { "ZXY" } },
									["Transform3DOp.Rotate.Z"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Z" },
									["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
									ApertureW = Input { Value = 1.6 },
									["Transform3DOp.Translate.Y"] = Input { Expression = "self.ImageInput.Metadata.Translate.Y" },
									["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
									["MtlStdInputs.MaterialID"] = Input { Value = 1 }
								},
								CtrlWZoom = false,
								NameSet = true,
								ViewInfo = OperatorInfo { Pos = { 387, 145 } },
								CustomData = {
								}
							}
						}
					}
				}
			},
			Inputs = {
				["Transform3DOp.Translate.Z"] = Input { Value = 0.73, },
				AoV = Input { Value = 19.2642683071402, },
				["Stereo.Mode"] = Input { Value = FuID { "OffAxis" }, },
				FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
				ApertureW = Input { Value = 0.831496062992126, },
				ApertureH = Input { Value = 0.467716535433071, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				["MtlStdInputs.MaterialID"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 1100, -16.5 } },
		},
		Rectangle1 = RectangleMask {
			Inputs = {
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				SoftEdge = Input { Value = 0.0195, },
				MaskWidth = Input { Value = 2048, },
				MaskHeight = Input { Value = 1152, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Height = Input { Value = 0.56, },
			},
			ViewInfo = OperatorInfo { Pos = { 275, 16.5 } },
			Colors = {
				TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
				TextColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
			}
		},
		Ellipse1_1 = EllipseMask {
			CtrlWZoom = false,
			Inputs = {
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				SoftEdge = Input { Value = 0.2, },
				Invert = Input { Value = 1, },
				MaskWidth = Input { Value = 2048, },
				MaskHeight = Input { Value = 1152, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.428354589471139, },
				Height = Input { Value = 0.428354589471139, },
			},
			ViewInfo = OperatorInfo { Pos = { 1485, -82.5 } },
			Colors = {
				TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
				TextColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
			}
		},
		Ellipse1 = EllipseMask {
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1_1",
					Source = "Mask",
				},
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				SoftEdge = Input { Value = 0.0427, },
				PaintMode = Input { Value = FuID { "Multiply" }, },
				MaskWidth = Input { Value = 2048, },
				MaskHeight = Input { Value = 1152, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.66654577093117, },
				Height = Input { Value = 0.66654577093117, },
			},
			ViewInfo = OperatorInfo { Pos = { 1485, -16.5 } },
			Colors = {
				TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
				TextColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
			}
		},
		Nova1_2 = Fuse.Nova {
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1_3",
					Source = "Mask",
				},
				GlobalOut = Input { Value = 100, },
				Width = Input { Value = 1080, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Layers = Input { Value = 3, },
				ZoomSpeed = Input { Value = -1.2, },
				AutoZoom = Input { Value = 1, },
				Evolution = Input { Value = 32, },
				EvolutionRate = Input { Value = -2.1, },
				ScatterSolid = Input { Value = 0.154, },
				EaseScatteredSolid = Input { Value = 0, },
				LineThickness = Input { Value = 0.015, },
				FadeFront = Input { Value = 0.7301, },
				FadeBack = Input { Value = 0.976, },
				Transform = Input { Value = 1, },
				Center = Input { Value = { 0, 0 }, },
				Scale = Input { Value = 0.2654, },
				RotationSpeed = Input { Value = 0.25, },
				AutoRotate = Input { Value = 1, },
				DrawOnABlackBackground = Input { Value = 0, },
				Bloom = Input { Value = 0.727, },
				Sparkle = Input { Value = 1, },
				SparkleSpeed = Input { Value = 2.18, },
			},
			ViewInfo = OperatorInfo { Pos = { 1705, 49.5 } },
			Version = 120
		},
		Nova1_1 = Fuse.Nova {
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1",
					Source = "Mask",
				},
				GlobalOut = Input { Value = 100, },
				Width = Input { Value = 1080, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Layers = Input { Value = 3, },
				ZoomSpeed = Input { Value = 0.112, },
				AutoZoom = Input { Value = 1, },
				Evolution = Input { Value = 32, },
				EvolutionRate = Input { Value = 2.66, },
				ScatterSolid = Input { Value = 0.154, },
				EaseScatteredSolid = Input { Value = 0, },
				LineThickness = Input { Value = 0.015, },
				FadeFront = Input { Value = 0.7301, },
				FadeBack = Input { Value = 0.976, },
				Transform = Input { Value = 1, },
				Center = Input { Value = { 0, 0 }, },
				Scale = Input { Value = 0.1168, },
				RotationSpeed = Input { Value = 0.25, },
				AutoRotate = Input { Value = 1, },
				DrawOnABlackBackground = Input { Value = 0, },
				Bloom = Input { Value = 0.727, },
				Sparkle = Input { Value = 1, },
				SparkleSpeed = Input { Value = 2.18, },
			},
			ViewInfo = OperatorInfo { Pos = { 1430, 49.5 } },
			Version = 120
		},
		Instance_Nova1_1 = Fuse.Nova {
			SourceOp = "Nova1_1",
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1",
					Source = "Mask",
				},
				SettingsNest = Input { },
				ImageNest = Input { },
				["Gamut.ColorSpaceNest"] = Input { },
				["Gamut.GammaSpaceNest"] = Input { },
				ScriptEdit = Input { },
				ScriptReload = Input { },
				About = Input { },
				GlobalTimeOffset = Input { Value = 6.1, },
				Style = Input { },
				Transform = Input { Value = 1, },
				RotationSpeed = Input { Value = -0.25, },
				Color = Input { },
				Glow = Input { Value = 1, },
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
			},
			ViewInfo = OperatorInfo { Pos = { 1540, 49.5 } },
			Version = 120
		},
		Ellipse1_3 = EllipseMask {
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1_2",
					Source = "Mask",
				},
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				SoftEdge = Input { Value = 0.0427, },
				PaintMode = Input { Value = FuID { "Multiply" }, },
				Invert = Input { Value = 1, },
				MaskWidth = Input { Value = 2048, },
				MaskHeight = Input { Value = 1152, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.66654577093117, },
				Height = Input { Value = 0.66654577093117, },
			},
			ViewInfo = OperatorInfo { Pos = { 1760, -16.5 } },
			Colors = {
				TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
				TextColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
			}
		},
		Ellipse1_2 = EllipseMask {
			Inputs = {
				Filter = Input { Value = FuID { "Fast Gaussian" }, },
				SoftEdge = Input { Value = 0.1105, },
				MaskWidth = Input { Value = 2048, },
				MaskHeight = Input { Value = 1152, },
				PixelAspect = Input { Value = { 1, 1 }, },
				ClippingMode = Input { Value = FuID { "None" }, },
				Width = Input { Value = 0.916946686928705, },
				Height = Input { Value = 0.916946686928705, },
			},
			ViewInfo = OperatorInfo { Pos = { 1760, -82.5 } },
			Colors = {
				TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
				TextColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 },
			}
		},
		Renderer3D1 = Renderer3D {
			CustomData = {
				ToolVersion = 2,
			},
			Inputs = {
				GlobalOut = Input { Value = 100, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D1_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1210, 82.5 } },
		},
		Merge3D1_1 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Camera3D1",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "Merge3D1",
					Source = "Output",
				},
				SceneInput3 = Input {
					SourceOp = "Transform3D2_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1100, 82.5 } },
		},
		Merge3D1 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Transform3D1",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "Transform3D2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 880, 82.5 } },
		},
		Nova1 = Fuse.Nova {
			Inputs = {
				EffectMask = Input {
					SourceOp = "Rectangle1",
					Source = "Mask",
				},
				GlobalOut = Input { Value = 100, },
				Width = Input { Value = 6000, },
				Height = Input { Value = 350, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Layers = Input { Value = 1, },
				ZoomSpeed = Input { Value = 0.015, },
				AutoZoom = Input { Value = 1, },
				Evolution = Input { Value = 32, },
				EvolutionRate = Input { Value = 0.35, },
				ScatterSolid = Input { Value = 0, },
				EaseScatteredSolid = Input { Value = 0, },
				LineThickness = Input { Value = 0.015, },
				Transform = Input { Value = 1, },
				Center = Input { Value = { 0, 0 }, },
				Scale = Input { Value = 1.976, },
				RotationSpeed = Input { Value = 0.15, },
				DrawOnABlackBackground = Input { Value = 0, },
				Sparkle = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 275, 82.5 } },
			Version = 120
		},
		ImagePlane3D1 = ImagePlane3D {
			Inputs = {
				["SurfacePlaneInputs.SubdivisionWidth"] = Input { Value = 360, },
				["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
				MaterialInput = Input {
					SourceOp = "Nova1",
					Source = "Output",
				},
				["MtlStdInputs.MaterialID"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 440, 82.5 } },
		},
		Transform3D1 = Transform3D {
			Inputs = {
				SceneInput = Input {
					SourceOp = "Bender3D1",
					Source = "Output",
				},
				["Transform3DOp.Translate.Y"] = Input { Value = -0.08, },
			},
			ViewInfo = OperatorInfo { Pos = { 715, 82.5 } },
		},
		Bender3D1 = Bender3D {
			Inputs = {
				SceneInput = Input {
					SourceOp = "ImagePlane3D1",
					Source = "Output",
				},
				Amount = Input { Value = 2, },
				Axis = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 605, 82.5 } },
		},
		Instance_Nova1_2 = Fuse.Nova {
			CtrlWZoom = false,
			SourceOp = "Nova1_2",
			Inputs = {
				EffectMask = Input {
					SourceOp = "Ellipse1_3",
					Source = "Mask",
				},
				SettingsNest = Input { },
				ImageNest = Input { },
				["Gamut.ColorSpaceNest"] = Input { },
				["Gamut.GammaSpaceNest"] = Input { },
				ScriptEdit = Input { },
				ScriptReload = Input { },
				About = Input { },
				GlobalTimeOffset = Input { Value = 6.1, },
				Style = Input { },
				Transform = Input { Value = 1, },
				RotationSpeed = Input { Value = -0.25, },
				Color = Input { },
				Glow = Input { Value = 1, },
				CommentsNest = Input { },
				FrameRenderScriptNest = Input { },
				StartRenderScripts = Input { },
				EndRenderScripts = Input { },
			},
			ViewInfo = OperatorInfo { Pos = { 1815, 49.5 } },
			Version = 120
		},
		Glow1_1 = Glow {
			Inputs = {
				Blend = Input { Value = 0.1, },
				Filter = Input { Value = FuID { "Gaussian" }, },
				Input = Input {
					SourceOp = "Renderer3D1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1210, 115.5 } },
			Colors = {
				TileColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Transform3D2_1 = Transform3D {
			Inputs = {
				SceneInput = Input {
					SourceOp = "Merge3D1",
					Source = "Output",
				},
				["Transform3DOp.Rotate.Z"] = Input { Value = 90, },
			},
			ViewInfo = OperatorInfo { Pos = { 990, 115.5 } },
		},
		Transform3D2 = Transform3D {
			Inputs = {
				SceneInput = Input {
					SourceOp = "Bender3D1_1",
					Source = "Output",
				},
				["Transform3DOp.Translate.Y"] = Input { Value = 0.0793199817673663, },
			},
			ViewInfo = OperatorInfo { Pos = { 715, 115.5 } },
		},
		Bender3D1_1 = Bender3D {
			Inputs = {
				SceneInput = Input {
					SourceOp = "ImagePlane3D1",
					Source = "Output",
				},
				Amount = Input { Value = -2, },
				Axis = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 605, 115.5 } },
		},
		Merge2_3 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Nova1_2",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Instance_Nova1_2",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 1760, 148.5 } },
			Colors = {
				TileColor = { R = 0.886274509803922, G = 0.662745098039216, B = 0.109803921568627 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Merge2_2 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Nova1_1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Instance_Nova1_1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 1485, 148.5 } },
			Colors = {
				TileColor = { R = 0.886274509803922, G = 0.662745098039216, B = 0.109803921568627 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Glow1_2 = Glow {
			CtrlWZoom = false,
			Inputs = {
				Blend = Input { Value = 0.4, },
				Filter = Input { Value = FuID { "Gaussian" }, },
				Input = Input {
					SourceOp = "Merge2_3",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1760, 181.5 } },
			Colors = {
				TileColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Glow1 = Glow {
			Inputs = {
				Blend = Input { Value = 0.4, },
				Filter = Input { Value = FuID { "Gaussian" }, },
				Input = Input {
					SourceOp = "Merge2_2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 1485, 181.5 } },
			Colors = {
				TileColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Merge2 = Merge {
			Inputs = {
				Blend = Input { Value = 0.315, },
				Background = Input {
					SourceOp = "Background1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Glow1_1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 1210, 214.5 } },
			Colors = {
				TileColor = { R = 0.886274509803922, G = 0.662745098039216, B = 0.109803921568627 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Merge2_4 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Merge2_1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Glow1_2",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 1760, 214.5 } },
			Colors = {
				TileColor = { R = 0.886274509803922, G = 0.662745098039216, B = 0.109803921568627 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Merge2_1 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Merge2",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Glow1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 1485, 214.5 } },
			Colors = {
				TileColor = { R = 0.886274509803922, G = 0.662745098039216, B = 0.109803921568627 },
				TextColor = { R = 0.725490196078431, G = 0.690196078431373, B = 0.592156862745098 },
			}
		},
		Background1 = Background {
			Inputs = {
				GlobalOut = Input { Value = 100, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
			},
			ViewInfo = OperatorInfo { Pos = { 880, 214.5 } },
		}
	},
	ActiveTool = "Ellipse1_1"
}

User avatar
Midgardsormr
Fusionator
Posts: 2043
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 22
Location: Los Angeles, CA, USA
Been thanked: 11 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#21

Post by Midgardsormr »

A pointer for that second request: Examine SecondMan's TimeSplime fuse for the use of a spline that could be used to control variable-width lines. I'm going to eventually try to put something similar in TaperedShapes, so the user can get even better control over the profile of the lines.

Also, I'll be stealing some of this code for my Voronoi fuse, I think. :D

User avatar
James 2020
Fusioneer
Posts: 60
Joined: Sat Feb 08, 2020 11:01 pm

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#22

Post by James 2020 »

Good jobs,Can it be as diverse as the AE Plexus plugin?

User avatar
Shem Namo
Fusionista
Posts: 658
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 2 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#23

Post by Shem Namo »

A suggestion: Don't distribute the fuse with the version number in the filename. If a user installs it in an automated fashion, or just isn't paying attention because they have a couple dozen fuses installed already, the new one won't overwrite the old one, and there's no telling which will get loaded upon registration.
Thanks for the tip Bryan, I didn't know that Fusion takes the file name into consideration.
Feature requests:
1. Add a 2nd layer of turbulence so that each particle can have a wavy motion within the larger motion path (as defined by the Auto Evolve / Evolution Rate feature).
2. Use a curve to define line thickness from start to end including presets. (thick near particles and thin in the middle opposite, for example).
These sound really cool, I'll try to work on adding these feature for the next version.
A little experiment:

That looks awesome!! Thanks for sharing!!
A pointer for that second request: Examine SecondMan's TimeSplime fuse for the use of a spline that could be used to control variable-width lines. I'm going to eventually try to put something similar in TaperedShapes, so the user can get even better control over the profile of the lines.
Hmm, I haven't heard of Time Spline before, and I can't seem to find it on Reacor or the WSL search box.
Maybe it has another name?
Also, I'll be stealing some of this code for my Voronoi fuse, I think :D
Go right ahead, I never thought that someone would want to copy code from me. :D
It's actually funny, since I borrowed the image creation code from your Tapered Shapes fuse.
Good jobs,Can it be as diverse as the AE Plexus plugin?
@James 2020, Plexus is a really cool AE plug-in, but it is full blown a particle engine.
I'm not an expert in it, but I'm pretty sure that it's similar to Fusion't native particle tools.
AE doesn't have many built in particle tools, that's why you need either Particular, Stardust or Plexus, to get some nice particles.
With some tinkering, you could probably get something like that with Nova(With image planes and a Duplicate 3D perhaps).
Just check out @intelligent machine's example. It's very cool!!

Thanks again,
David

User avatar
intelligent machine
Fusionista
Posts: 706
Joined: Fri May 13, 2016 10:01 pm
Answers: 7
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 9 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#24

Post by intelligent machine »

Shem Namo wrote: Sat Jul 11, 2020 11:35 amHmm, I haven't heard of Time Spline before, and I can't seem to find it on Reacor or the WSL search box.
Maybe it has another name?
TimeSplime not TimeSpline

User avatar
Midgardsormr
Fusionator
Posts: 2043
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 22
Location: Los Angeles, CA, USA
Been thanked: 11 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#25

Post by Midgardsormr »

Shem Namo wrote: Sat Jul 11, 2020 11:35 am I haven't heard of Time Spline before
https://www.steakunderwater.com/wesuckl ... 468#p24468

I don't think it's in Reactor.
Shem Namo wrote: Sat Jul 11, 2020 11:35 amIt's actually funny, since I borrowed the image creation code from your Tapered Shapes fuse.
And I borrowed it from some other Creator Fuse. Probably originally came from Stefan Ihringer, as so much Fuse tech does.
James 2020 wrote: Fri Jul 10, 2020 11:58 pmCan it be as diverse as the AE Plexus plugin?
For an analogue of Plexus, try Connect3D in the Krokodove plug-in suite.

User avatar
James 2020
Fusioneer
Posts: 60
Joined: Sat Feb 08, 2020 11:01 pm

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#26

Post by James 2020 »

good suggestion

User avatar
JUNE
Fusionista
Posts: 307
Joined: Wed Aug 06, 2014 5:45 am
Been thanked: 3 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#27

Post by JUNE »

Krokodove Connect3D vs Rowbyte Plexus :>

User avatar
James 2020
Fusioneer
Posts: 60
Joined: Sat Feb 08, 2020 11:01 pm

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#28

Post by James 2020 »

Maybe Limited by fusion calculation speed