Page 1 of 1
Duplicate over time dozens of stills without layer for each.
Posted:
Thu Feb 02, 2023 10:26 pm
by MarnMxxx
Quick graphics design question.
I need to take one still image, a png file (need the alpha) and multiply it dozens of times. Kind of after the 1st one pops up, holds for 2 seconds, then the same image (probably scaled to many sizes), pops up over & over every half second or so to get 2 or 3 dozen of the image over a few seconds all over the screen.
The easy but long way would be to add a layer for each but that would make dozens of layers in the Timeline. Is there a way maybe in Fusion to create multiple version to pop up? I've played with the sDuplicate node in Fusion but I can't get it to work on a png file.
Re: Duplicate over time dozens of stills without layer for e
Posted:
Thu Feb 02, 2023 10:33 pm
by Sander de Regt
That's because sTools are for shapes. What you're describing sounds like a perfect case for particles in Fusion.
Re: Duplicate over time dozens of stills without layer for e
Posted:
Thu Feb 02, 2023 11:12 pm
by MarnMxxx
Yea, I found the Duplicate node (no s) but still pretty difficult to get random duplicates over time. I'll look for a particle tutorial & see if I can use that.
Re: Duplicate over time dozens of stills without layer for e
Posted:
Fri Feb 03, 2023 10:16 am
by Sander de Regt
Or you could try it in 3D space.
Maybe this is similar to what you're after?
Just copy/paste this in your flow area (where the nodes are)
- Code: Select all
{
Tools = ordered() {
ThisWouldBeYourPNG = TextPlus {
NameSet = true,
Inputs = {
GlobalOut = Input { Value = 100, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
LayoutRotation = Input { Value = 1, },
TransformRotation = Input { Value = 1, },
Softness1 = Input { Value = 1, },
StyledText = Input { Value = "PNG", },
Font = Input { Value = "Open Sans", },
Style = Input { Value = "Bold", },
VerticalJustificationNew = Input { Value = 3, },
HorizontalJustificationNew = Input { Value = 3, },
},
ViewInfo = OperatorInfo { Pos = { 110, -16.5 } },
},
Duplicate3D1 = Duplicate3D {
CtrlWZoom = false,
Inputs = {
FirstCopy = Input {
SourceOp = "Duplicate3D1FirstCopy",
Source = "Value",
},
LastCopy = Input {
SourceOp = "Duplicate3D1LastCopy",
Source = "Value",
},
RandomSeed = Input { Value = 17290, },
["JitterTranslate.X"] = Input { Value = 1.55, },
["JitterTranslate.Y"] = Input { Value = 0.683, },
["JitterScale.X"] = Input { Value = 2, },
SceneInput = Input {
SourceOp = "ImagePlane3D1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 385, 49.5 } },
},
Duplicate3D1FirstCopy = BezierSpline {
SplineColor = { Red = 69, Green = 242, Blue = 188 },
CtrlWZoom = false,
NameSet = true,
KeyFrames = {
[0] = { 0, Flags = { Linear = true } }
}
},
Duplicate3D1LastCopy = BezierSpline {
SplineColor = { Red = 140, Green = 243, Blue = 6 },
CtrlWZoom = false,
NameSet = true,
KeyFrames = {
[0] = { 0, RH = { 33.3333333333333, 166.666666666667 }, Flags = { Linear = true } },
[100] = { 500, LH = { 66.6666666666667, 333.333333333333 }, Flags = { Linear = true } }
}
},
ImagePlane3D1 = ImagePlane3D {
Inputs = {
["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
MaterialInput = Input {
SourceOp = "ThisWouldBeYourPNG",
Source = "Output",
},
["MtlStdInputs.MaterialID"] = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 220, 49.5 } },
},
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" } },
["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
ApertureH = Input { Value = 0.467716535433071 },
FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" } },
["MtlStdInputs.MaterialID"] = 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" } },
["MtlStdInputs.MaterialID"] = Input { Value = 1 },
["Stereo.Mode"] = Input { Value = FuID { "OffAxis" } },
["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1 },
["Transform3DOp.Translate.Y"] = Input { Expression = "self.ImageInput.Metadata.Translate.Y" },
ApertureW = Input { Value = 1.6 },
["Transform3DOp.Rotate.Z"] = Input { Expression = "self.ImageInput.Metadata.Rotate.Z" }
},
CtrlWZoom = false,
NameSet = true,
ViewInfo = OperatorInfo { Pos = { 387, 145 } },
CustomData = {
}
}
}
}
}
},
Inputs = {
ProjectionType = Input { Value = FuID { "Orthographic" }, },
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 = { 220, 82.5 } },
},
Merge3D1 = Merge3D {
Inputs = {
SceneInput1 = Input {
SourceOp = "Duplicate3D1",
Source = "Data3D",
},
SceneInput2 = Input {
SourceOp = "Camera3D1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 550, 82.5 } },
},
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",
Source = "Output",
},
RendererType = Input { Value = FuID { "RendererOpenGL" }, },
["RendererOpenGL.AntiAliasing.Channels.RGBA.HighQuality.Enable"] = Input { Value = 1, },
["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.RateX"] = Input { Value = 3, },
["RendererOpenGL.AntiAliasing.Presets.Color.Supersampling.HighQuality.RateY"] = Input { Value = 3, },
["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
["RendererOpenGL.AntiAliasing.Presets.Color.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.RateX"] = Input { Value = 3, },
["RendererOpenGL.AntiAliasing.Presets.Aux.Supersampling.HighQuality.RateY"] = Input { Value = 3, },
["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.LowQuality.SampleCount"] = Input { Value = 2, },
["RendererOpenGL.AntiAliasing.Presets.Aux.Multisampling.HighQuality.SampleCount"] = Input { Value = 3, },
["RendererOpenGL.AccumQuality"] = Input { Value = 32, },
},
ViewInfo = OperatorInfo { Pos = { 715, 82.5 } },
SubInputsData = {
RendererOpenGL = {
Version = 1
}
}
}
}
}
Re: Duplicate over time dozens of stills without layer for e
Posted:
Fri Feb 03, 2023 10:36 am
by deBabba
Sander de Regt wrote:Or you could try it in 3D space.
Maybe this is similar to what you're after?
Thank you Sander
This is another example how to genereta an impressive effect just with a few nodes and the knowledge how to use them
Re: Duplicate over time dozens of stills without layer for e
Posted:
Fri Feb 03, 2023 10:49 am
by Sander de Regt
I try my best. Glad I could help.