top of page

End credit scroll for Fusion

I've done end credits several different ways and I think the best way is to give your client a .rtf or Word template that has two columns, a Left Hand Side and a Right Hand Side. That way you can easily select everything on the left and format it one way (e.g. bold) and select the RHS and format that another way (bold italic). Copy & paste the text as two separate elements into After Effects or Fusion or whatever you're using and select and format it there.

Igor at www.hdhead.com did a great tutorial on using Fusion for end credits and I've made a variation on that. The key things are that I have a Transform node with 'Reference Size' enabled so that the Y values relate to the absolute pixels in a 1080 comp. Add two keyframes, at frame 0 with the Text just off screen and at frame 1 where the Y value changes by exactly 2 pixels, so setting the speed for the whole thing (with no sub-pixel filtering needed). Then in the Spline editor, right click the 2nd keyframe and select Gradient Interpolation.

If you drag a default Text+ title generator onto your timeline, make sure it's long enough by trimming the end out to one or two minutes, then copy and paste this comp (below) into Fusion and pipe the last node (Transform_Roll) into your MediaOut, you should have a pretty good starting point for an end credit roll (scroll, whatever you want to call it).

As you add more text, etc. you can adjust the line spacing of all your elements in this comp - what you shouldn't do is adjust the keyframes to make it move faster (you could try 3 or 4 pixels/frame (5 is right out) but anything more will be moving too fast).

Let me know if it's any use!

{

Tools = ordered() {

Background1 = Background {

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

TopLeftAlpha = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 342, 235.848 } },

},

TextCentre1 = TextPlus {

NameSet = true,

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

Center = Input { Value = { 0.5, 0.55327868852459 }, },

StyledText = Input { Value = "Cast", },

Font = Input { Value = "Open Sans", },

Style = Input { Value = "Bold", },

Size = Input { Value = 0.0365, },

VerticalJustificationNew = Input { Value = 3, },

HorizontalJustificationNew = Input { Value = 3, },

ManualFontKerningPlacement = Input {

Value = StyledText {

Array = {

},

Value = ""

},

},

},

ViewInfo = OperatorInfo { Pos = { 507, 235.848 } },

},

Merge3 = Merge {

Inputs = {

Background = Input {

SourceOp = "Background1",

Source = "Output",

},

Foreground = Input {

SourceOp = "TextCentre1",

Source = "Output",

},

PerformDepthMerge = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 507, 301.848 } },

},

Text_LHS1 = TextPlus {

NameSet = true,

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

Center = Input { Value = { 0.49, 0.5 }, },

StyledText = Input { Value = "Job 1\n\nJob 2\n\n\n\nJob 5\nJob 6\n", },

Font = Input { Value = "Open Sans", },

Style = Input { Value = "Bold", },

Size = Input { Value = 0.0365, },

VerticalTopCenterBottom = Input { Value = -1, },

VerticalJustificationNew = Input { Value = 3, },

HorizontalLeftCenterRight = Input { Value = 1, },

HorizontalJustificationNew = Input { Value = 3, },

ManualFontKerningPlacement = Input {

Value = StyledText {

Array = {

},

Value = ""

},

},

},

ViewInfo = OperatorInfo { Pos = { 617, 235.848 } },

},

Merge1 = Merge {

Inputs = {

Background = Input {

SourceOp = "Merge3",

Source = "Output",

},

Foreground = Input {

SourceOp = "Text_LHS1",

Source = "Output",

},

PerformDepthMerge = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 617, 301.848 } },

},

Text_RHS1 = TextPlus {

NameSet = true,

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

Center = Input { Value = { 0.51, 0.5 }, },

StyledText = Input { Value = "crewmember 1\n\ncrewmember 2\nJust keep typing to\nadd the rows you need\n\ncrewmember 5\ncrewmember 6\n", },

Font = Input { Value = "Open Sans", },

Style = Input { Value = "Italic", },

Size = Input { Value = 0.0365, },

VerticalTopCenterBottom = Input { Value = -1, },

VerticalJustificationNew = Input { Value = 3, },

HorizontalLeftCenterRight = Input { Value = -1, },

HorizontalJustificationNew = Input { Value = 3, },

ManualFontKerningPlacement = Input {

Value = StyledText {

Array = {

},

Value = ""

},

},

},

ViewInfo = OperatorInfo { Pos = { 727, 235.848 } },

},

Merge2 = Merge {

Inputs = {

Background = Input {

SourceOp = "Merge1",

Source = "Output",

},

Foreground = Input {

SourceOp = "Text_RHS1",

Source = "Output",

},

PerformDepthMerge = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 727, 301.848 } },

},

Merge4 = Merge {

Inputs = {

Background = Input {

SourceOp = "Merge2",

Source = "Output",

},

Foreground = Input {

SourceOp = "Transform1",

Source = "Output",

},

PerformDepthMerge = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 837, 301.848 } },

},

Transform1 = Transform {

Inputs = {

Center = Input { Value = { 0.5, -0.0751366120218579 }, },

Size = Input { Value = 0.25, },

Input = Input {

SourceOp = "Bkgd_replaceWithLogo",

Source = "Output",

},

},

ViewInfo = OperatorInfo { Pos = { 837, 235.848 } },

},

Bkgd_replaceWithLogo = Background {

NameSet = true,

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

TopLeftGreen = Input { Value = 0.1408, },

TopLeftBlue = Input { Value = 0.4, },

},

ViewInfo = OperatorInfo { Pos = { 837, 202.848 } },

},

Transform_Roll = Transform {

CtrlWZoom = false,

NameSet = true,

Inputs = {

Center = Input {

SourceOp = "Path1",

Source = "Position",

},

ReferenceSize = Input { Value = 1, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

Input = Input {

SourceOp = "Merge5",

Source = "Output",

},

},

ViewInfo = OperatorInfo { Pos = { 672.667, 433.848 } },

},

Path1 = PolyPath {

DrawMode = "InsertAndModify",

Inputs = {

Displacement = Input {

SourceOp = "Path1Displacement",

Source = "Value",

},

PolyLine = Input {

Value = Polyline {

Points = {

{ Linear = true, LockY = true, X = 0, Y = -0.569444444444444, RX = 0, RY = 0.000617283950617294 },

{ Linear = true, LockY = true, X = 0, Y = -0.567592592592593, LX = 0, LY = -0.000617283950617294 }

}

},

},

},

},

Path1Displacement = BezierSpline {

SplineColor = { Red = 255, Green = 0, Blue = 255 },

NameSet = true,

KeyFrames = {

[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true, LockedY = true, Extrapolate = true } },

[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true, LockedY = true, Extrapolate = true } }

}

},

Merge5 = Merge {

Inputs = {

Background = Input {

SourceOp = "Merge4",

Source = "Output",

},

Foreground = Input {

SourceOp = "Text_centre2",

Source = "Output",

},

PerformDepthMerge = Input { Value = 0, },

},

ViewInfo = OperatorInfo { Pos = { 947, 301.848 } },

},

Text_centre2 = TextPlus {

NameSet = true,

Inputs = {

GlobalOut = Input { Value = 1559, },

Width = Input { Value = 1920, },

Height = Input { Value = 1080, },

UseFrameFormatSettings = Input { Value = 1, },

["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },

Center = Input { Value = { 0.5, -0.32103825136612 }, },

StyledText = Input { Value = "This character © for copyright ", },

Font = Input { Value = "Open Sans", },

Style = Input { Value = "Bold", },

Size = Input { Value = 0.0365, },

VerticalJustificationNew = Input { Value = 3, },

HorizontalJustificationNew = Input { Value = 3, },

ManualFontKerningPlacement = Input {

Value = StyledText {

Array = {

},

Value = ""

},

},

},

ViewInfo = OperatorInfo { Pos = { 947, 235.848 } },

}

}

}

Recent Posts
Search By Tags
Follow Us
  • Twitter Classic
bottom of page