Welcome to WSL!

New to the forum? Please read this and this.

Is there any plugin which will do fractal animations like these in this video?

Moderator: Chad

User avatar
Davinci3456
Posts: 3
Joined: Sun May 09, 2021 4:25 pm

Is there any plugin which will do fractal animations like these in this video?

#1

Post by Davinci3456 »

https://www.youtube.com/watch?v=_7wKjTf_RlI

User avatar
tida
Fusionista
Posts: 251
Joined: Mon Jan 27, 2020 4:37 am
Answers: 1
Real name: none
Been thanked: 38 times

Re: Is there any plugin which will do fractal animations like these in this video?

#2

Post by tida »

Nice, would like to know it as well. Questionable, whether some animations are derived from real recorded microscopic videos.
Would search for something like this

https://www.keyence.com/ss/products/mic ... _vhx-7000/

Some similar animations you should find within Shadertoy using keywords like: reaction-diffusion

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

Re: Is there any plugin which will do fractal animations like these in this video?

#3

Post by Midgardsormr »

A lot of that would require some kind of feedback solver. There's a demonstration of the Reaction-Diffusion effect somewhere around here, and I think Secondman generalized it into a more robust solver system using only Fusion-native nodes. But it's a little unwieldy and slow. I was going to say that I'd probably reach for Houdini, since it has the kinds of procedural animation tools this would require. Then I read the brief notes from Causeret about his process, and sure enough—Houdini.

There's no reason Fusion couldn't host the kinds of tools needed to do animation of this kind, but to the best of my knowledge they don't exist right now. At least, not in a state where they'd be reasonably efficient to use.

User avatar
Fefson
Fusioneer
Posts: 66
Joined: Tue Sep 27, 2016 3:58 am

Re: Is there any plugin which will do fractal animations like these in this video?

#4

Post by Fefson »

Just wondering, if you'd combine the right kind of noise (which I haven't found yet) with a bunch of sobel-filters, wouldn't that get you halfway?

Code: Select all

{
	Tools = ordered() {
		ColorCorrector1_1 = ColorCorrector {
			Inputs = {
				Menu = Input { Value = 1, },
				MasterRGBLow = Input { Value = 0.105, },
				MasterRGBHigh = Input { Value = 0.105, },
				ColorRanges = Input {
					Value = ColorCurves {
						Curves = {
							{
								Points = {
									{ 0, 1 },
									{ 0.4, 0.2 },
									{ 0.6, 0 },
									{ 1, 0 }
								}
							},
							{
								Points = {
									{ 0, 0 },
									{ 0.4, 0 },
									{ 0.6, 0.2 },
									{ 1, 1 }
								}
							}
						}
					},
				},
				HistogramIgnoreTransparent = Input { Value = 1, },
				Input = Input {
					SourceOp = "PipeRouter1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 330, 49.5 } },
		},
		FastNoise1 = FastNoise {
			CtrlWZoom = false,
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Contrast = Input { Value = 5, },
				XScale = Input { Value = 5.83, },
				SeetheRate = Input { Value = 0.011, },
				Color1Alpha = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 165, 16.5 } },
		},
		ColorCorrector1 = ColorCorrector {
			Inputs = {
				Menu = Input { Value = 1, },
				MasterRGBLow = Input { Value = 0.403, },
				MasterRGBHigh = Input { Value = 0.413, },
				ColorRanges = Input {
					Value = ColorCurves {
						Curves = {
							{
								Points = {
									{ 0, 1 },
									{ 0.4, 0.2 },
									{ 0.6, 0 },
									{ 1, 0 }
								}
							},
							{
								Points = {
									{ 0, 0 },
									{ 0.4, 0 },
									{ 0.6, 0.2 },
									{ 1, 1 }
								}
							}
						}
					},
				},
				HistogramIgnoreTransparent = Input { Value = 1, },
				Input = Input {
					SourceOp = "PipeRouter1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 330, 16.5 } },
		},
		Filter1 = Filter {
			Inputs = {
				FilterType = Input { Value = 3, },
				Input = Input {
					SourceOp = "ColorCorrector1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 440, 16.5 } },
		},
		Filter1_1 = Filter {
			Inputs = {
				FilterType = Input { Value = 3, },
				Input = Input {
					SourceOp = "ColorCorrector1_1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 440, 49.5 } },
		},
		PipeRouter1 = PipeRouter {
			Inputs = {
				Input = Input {
					SourceOp = "FastNoise1",
					Source = "Output",
				},
			},
			ViewInfo = PipeRouterInfo { Pos = { 220, 16.5 } },
		},
		Merge2 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Filter1_1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Filter1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 550, 49.5 } },
		},
		Merge1 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Merge2",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Filter1_2",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
		},
		ColorCorrector1_2 = ColorCorrector {
			Inputs = {
				Menu = Input { Value = 1, },
				MasterRGBLow = Input { Value = 0.714, },
				MasterRGBHigh = Input { Value = 0.714, },
				ColorRanges = Input {
					Value = ColorCurves {
						Curves = {
							{
								Points = {
									{ 0, 1 },
									{ 0.4, 0.2 },
									{ 0.6, 0 },
									{ 1, 0 }
								}
							},
							{
								Points = {
									{ 0, 0 },
									{ 0.4, 0 },
									{ 0.6, 0.2 },
									{ 1, 1 }
								}
							}
						}
					},
				},
				HistogramIgnoreTransparent = Input { Value = 1, },
				Input = Input {
					SourceOp = "PipeRouter1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 330, -16.5 } },
		},
		Filter1_2 = Filter {
			Inputs = {
				FilterType = Input { Value = 3, },
				Input = Input {
					SourceOp = "ColorCorrector1_2",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 440, -16.5 } },
		}
	}
}