Jump to: Board index » General » Fusion

[ Video tutorial ] - Creating plasma/lightning

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

alan bovine

  • Posts: 145
  • Joined: Mon Aug 07, 2017 6:20 pm

[ Video tutorial ] - Creating plasma/lightning

PostTue Apr 10, 2018 9:00 pm

Hi Fusionistas (Resolvistas?),

I've put together another video where we explore the concept of using images as geometry buffers. We'll create some kind of plasma/lightning effect thats very flexible and can be re-purposed for all things motion graphy too.

Its aimed at experienced Fusion users.



Enjoy!

EDIT: Update
PS. Bonus info,

If you substitute the gradient with a rendered pworld of an object in UV space you can wrap this effect around any object.

Image

Code: Select all
{
   Tools = ordered() {
      BrightnessContrast3 = BrightnessContrast {
         Inputs = {
            Gain = Input { Value = 10, },
            Input = Input {
               SourceOp = "Blur1",
               Source = "Output",
            },
            EffectMask = Input {
               SourceOp = "Rectangle2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -21.0821 } },
      },
      Rectangle2 = RectangleMask {
         Inputs = {
            SoftEdge = Input { Value = 0.2, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.5, 1 }, },
            Width = Input { Value = 1.44193548387097, },
            Height = Input { Value = 0.0870967741935486, },
         },
         ViewInfo = OperatorInfo { Pos = { 1187.83, -21.0821 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.ScaleLock"] = Input { Value = 0, },
            ["Transform3DOp.Scale.X"] = Input { Value = 0.001, },
            ["Transform3DOp.Scale.Y"] = Input { Value = 0.001, },
            ["Transform3DOp.Scale.Z"] = Input { Value = 0.001, },
            ["SurfacePlaneInputs.SizeLock"] = Input { Value = 0, },
            ["SurfacePlaneInputs.SubdivisionWidth"] = Input { Value = 128, },
            ["SurfacePlaneInputs.SubdivisionHeight"] = Input { Value = 128, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "BrightnessContrast3",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, 51.6624 } },
      },
      Shape3D1 = Shape3D {
         Inputs = {
            Shape = Input { Value = FuID { "SurfaceTorusInputs" }, },
            MaterialInput = Input {
               SourceOp = "ChannelBoolean1",
               Source = "MaterialOutput",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["SurfaceTorusInputs.Radius"] = Input { Value = 1.325, },
            ["SurfaceTorusInputs.Section"] = Input { Value = 0.192, },
            ["SurfaceTorusInputs.ObjectID.ObjectID"] = Input { Value = 3, }
         },
         ViewInfo = OperatorInfo { Pos = { 567.07, 104.064 } },
      },
      PointLight1 = LightPoint {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = -2.54334860762594, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 1.94620208658188, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -1.06001256268298, },
         },
         ViewInfo = OperatorInfo { Pos = { 739.61, 244.776 } },
      },
      Merge3D2 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ReplaceMaterial3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "PointLight1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 878.68, 244.288 } },
      },
      AmbientLight1 = LightAmbient {
         ViewInfo = OperatorInfo { Pos = { 1409.89, 199.06 } },
      },
      Merge3D3 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Displace3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "AmbientLight1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, 199.06 } },
      },
      Displace3D1 = Displace3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "ctv",
               Source = "Output",
            },
            Channel = Input { Value = 6, },
            Scale = Input { Value = 1, },
            Input = Input {
               SourceOp = "Blur2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, 174 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Merge3D3",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Merge3D2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1098.68, 244.285 } },
      },
      Blur2 = Blur {
         CtrlWZoom = false,
         Inputs = {
            XBlurSize = Input { Value = 0, },
            Input = Input {
               SourceOp = "add",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1001.93, 174 } },
      },
      ReplaceMaterial3D1 = ReplaceMaterial3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 4, },
         },
         ViewInfo = OperatorInfo { Pos = { 878.68, 218.24 } },
      },
      BrightnessContrast1 = BrightnessContrast {
         Inputs = {
            Brightness = Input { Value = -0.5, },
            Input = Input {
               SourceOp = "ChannelBooleans1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 906.456, -26.7891 } },
      },
      add = ChannelBoolean {
         NameSet = true,
         Inputs = {
            Operation = Input { Value = 1, },
            Background = Input {
               SourceOp = "Renderer3D1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "BrightnessContrast1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 891.933, 174 } },
      },
      Renderer3D1 = Renderer3D {
         CustomData = {
            ToolVersion = 1,
         },
         Inputs = {
            GlobalIn = Input { Value = 1001, },
            GlobalOut = Input { Value = 1200, },
            Width = Input { Value = 64, },
            Height = Input { Value = 256, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            RendererType = Input { Value = FuID { "RendererOpenGLUV" }, },
            ["RendererOpenGL.Lighting"] = Input { Value = 0, },
            ["RendererOpenGL.TextureDepth"] = Input { Value = 3, },
            ["RendererOpenGL.TransparencySorting"] = Input { Value = 2, },
            ["RendererOpenGL.WireframeAntialiasing"] = Input { Value = 0, },
            ["RendererOpenGLUV.Lighting"] = Input { Value = 0, },
            ["RendererOpenGLUV.WireframeAntialiasing"] = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 567.07, 137.064 } },
      },
      ChannelBooleans1 = ChannelBoolean {
         Inputs = {
            ToRed = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            ToAlpha = Input { Value = 4, },
            Background = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Instance_FastNoise1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 906.456, -126.62 } },
      },
      FastNoise1 = FastNoise {
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Depth = Input { Value = 3 },
                           GlobalOut = Input { Value = 1100 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Height = Input { Value = 512 },
                           Width = Input { Value = 512 }
                        },
                        Name = "FastNoise1",
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [2] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           Inverted = Input { Value = 1 },
                           Width = Input { Value = 512 },
                           GlobalOut = Input { Value = 1100 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Discontinuous = Input { Value = 1 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Depth = Input { Value = 3 },
                           Detail = Input { Value = 4.23809523809524 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [3] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           XScale = Input { Value = 0.666666666666667 },
                           Inverted = Input { Value = 1 },
                           Contrast = Input { Value = 1.72380952380952 },
                           GlobalIn = Input { Value = 1001 },
                           Width = Input { Value = 512 },
                           Depth = Input { Value = 3 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           Discontinuous = Input { Value = 1 },
                           GlobalOut = Input { Value = 1100 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           SeetheRate = Input { Value = 0.0714285714285714 },
                           Detail = Input { Value = 5.57142857142857 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         Inputs = {
            GlobalIn = Input { Value = 1001, },
            GlobalOut = Input { Value = 1200, },
            Width = Input { Value = 64, },
            Height = Input { Value = 256, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input {
               Value = { 0.5, 24 },
               Expression = "Point(0.5, time*0.02)",
            },
            Detail = Input { Value = 6.58, },
            Contrast = Input { Value = 1.513, },
            XScale = Input { Value = 0.722, },
            SeetheRate = Input { Value = 0.162, },
         },
         ViewInfo = OperatorInfo { Pos = { 906.456, -194.62 } },
      },
      ChannelBooleans1_1 = ChannelBoolean {
         Inputs = {
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToAlpha = Input { Value = 4, },
            Background = Input {
               SourceOp = "ChannelBooleans1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Instance_FastNoise1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 906.456, -72.6203 } },
      },
      ChannelBoolean1 = MtlChanBool {
         Inputs = {
            OperandAR = Input { Value = 19, },
            OperandAG = Input { Value = 20, },
            OperandAB = Input { Value = 21, },
            OperandAA = Input { Value = 9, },
            CoordSpace = Input { Value = FuID { "World" }, },
            MaterialID = Input { Value = 3, },
         },
         ViewInfo = OperatorInfo { Pos = { 567.07, 54.0159 } },
      },
      Instance_FastNoise1_1 = FastNoise {
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Depth = Input { Value = 3 },
                           GlobalOut = Input { Value = 1100 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Height = Input { Value = 512 },
                           Width = Input { Value = 512 }
                        },
                        Name = "FastNoise1",
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [2] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           Inverted = Input { Value = 1 },
                           Width = Input { Value = 512 },
                           GlobalOut = Input { Value = 1100 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Discontinuous = Input { Value = 1 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Depth = Input { Value = 3 },
                           Detail = Input { Value = 4.23809523809524 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [3] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           XScale = Input { Value = 0.666666666666667 },
                           Inverted = Input { Value = 1 },
                           Contrast = Input { Value = 1.72380952380952 },
                           GlobalIn = Input { Value = 1001 },
                           Width = Input { Value = 512 },
                           Depth = Input { Value = 3 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           Discontinuous = Input { Value = 1 },
                           GlobalOut = Input { Value = 1100 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           SeetheRate = Input { Value = 0.0714285714285714 },
                           Detail = Input { Value = 5.57142857142857 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         SourceOp = "FastNoise1",
         Inputs = {
            ["Gamut.ColorSpaceNest"] = Input { },
            ["Gamut.GammaSpaceNest"] = Input { },
            Center = Input {
               Value = { 0.5, 24 },
               Expression = "Point(0.5, time*0.02)"
            },
            Seethe = Input { Value = 2.693, },
            StartEndRenderScripts = Input { },
            EffectMask = Input { },
            NoiseBrightnessMap = Input { },
            NoiseDetailMap = Input { }
         },
         ViewInfo = OperatorInfo { Pos = { 614.456, -72.6203 } },
      },
      Instance_FastNoise1 = FastNoise {
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Depth = Input { Value = 3 },
                           GlobalOut = Input { Value = 1100 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Height = Input { Value = 512 },
                           Width = Input { Value = 512 }
                        },
                        Name = "FastNoise1",
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [2] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           Inverted = Input { Value = 1 },
                           Width = Input { Value = 512 },
                           GlobalOut = Input { Value = 1100 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Discontinuous = Input { Value = 1 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Depth = Input { Value = 3 },
                           Detail = Input { Value = 4.23809523809524 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [3] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           XScale = Input { Value = 0.666666666666667 },
                           Inverted = Input { Value = 1 },
                           Contrast = Input { Value = 1.72380952380952 },
                           GlobalIn = Input { Value = 1001 },
                           Width = Input { Value = 512 },
                           Depth = Input { Value = 3 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           Discontinuous = Input { Value = 1 },
                           GlobalOut = Input { Value = 1100 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           SeetheRate = Input { Value = 0.0714285714285714 },
                           Detail = Input { Value = 5.57142857142857 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         SourceOp = "FastNoise1",
         Inputs = {
            ["Gamut.ColorSpaceNest"] = Input { },
            ["Gamut.GammaSpaceNest"] = Input { },
            Center = Input {
               Value = { 0.5, 24 },
               Expression = "Point(0.5, time*0.02)"
            },
            Seethe = Input { Value = 1.886, },
            StartEndRenderScripts = Input { },
            EffectMask = Input { },
            NoiseBrightnessMap = Input { },
            NoiseDetailMap = Input { }
         },
         ViewInfo = OperatorInfo { Pos = { 785.456, -126.62 } },
      },
      BrightnessContrast2 = BrightnessContrast {
         Inputs = {
            Alpha = Input { Value = 1, },
            ClipBlack = Input { Value = 1, },
            ClipWhite = Input { Value = 1, },
            Input = Input {
               SourceOp = "FastNoise1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -213.407 } },
      },
      ctv = CustomVertex3D {
         NameSet = true,
         Inputs = {
            SceneInput = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
            ["Point1.X"] = Input { Value = 0.525007053837844, },
            ["Point1.Y"] = Input { Value = -0.0165005871947797, },
            ["Point1.Z"] = Input { Value = -0.22424252899218, },
            ["Point2.Nest"] = Input { Value = 1, },
            ["Point2.X"] = Input { Value = -0.470672946389979, },
            ["Point2.Y"] = Input { Value = -0.597601334826018, },
            ["Point2.Z"] = Input { Value = 0.915140763191663, },
            LUT1 = Input {
               SourceOp = "CustomVertex3D1LUT1",
               Source = "Value",
            },
            LUT2 = Input {
               SourceOp = "CustomVertex3D1LUT2",
               Source = "Value",
            },
            LUT3 = Input {
               SourceOp = "CustomVertex3D1LUT3",
               Source = "Value",
            },
            LUT4 = Input {
               SourceOp = "CustomVertex3D1LUT4",
               Source = "Value",
            },
            PointControls = Input { Value = 1, },
            ShowPoint3 = Input { Value = 0, },
            ShowPoint4 = Input { Value = 0, },
            ShowPoint5 = Input { Value = 0, },
            ShowPoint6 = Input { Value = 0, },
            ShowPoint7 = Input { Value = 0, },
            ShowPoint8 = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, 110.892 } },
      },
      CustomVertex3D1LUT1 = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
               [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 0, Green = 0, Blue = 0 },
      },
      CustomVertex3D1LUT2 = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
               [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 0, Green = 0, Blue = 0 },
      },
      CustomVertex3D1LUT3 = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
               [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 0, Green = 0, Blue = 0 },
      },
      CustomVertex3D1LUT4 = LUTBezier {
         KeyColorSplines = {
            [0] = {
               [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
               [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
            }
         },
         SplineColor = { Red = 0, Green = 0, Blue = 0 },
      },
      Transform1 = Transform {
         Inputs = {
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            Center = Input { Value = { 0.5, 0.527803260179239 }, },
            Input = Input {
               SourceOp = "BrightnessContrast2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -165.381 } },
      },
      Transform2 = Transform {
         Inputs = {
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            Center = Input { Value = { 0.5, 0.488846940935714 }, },
            Input = Input {
               SourceOp = "Transform1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -135.219 } },
      },
      ColorCorrector1 = ColorCorrector {
         Inputs = {
            CorrectionRange = Input { Value = 3, },
            WheelRangeDummy1 = Input { Value = 3, },
            WheelSaturation2 = Input { Value = 1.889, },
            WheelTintAngle2 = Input { Value = 0.611313583478753, },
            WheelTintLength2 = Input { Value = 1, },
            HighlightsRGBGain = Input { Value = 1.103, },
            SuppressionRangeDummy = Input { Value = 3, },
            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 = "Transform2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -98.4347 } },
      },
      Blur1 = Blur {
         Inputs = {
            Blend = Input { Value = 0.462, },
            XBlurSize = Input { Value = 21.8, },
            Input = Input {
               SourceOp = "ColorCorrector1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -67.3269 } },
      },
      FastNoise1_1 = FastNoise {
         CustomData = {
            Settings = {
               [1] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Depth = Input { Value = 3 },
                           GlobalOut = Input { Value = 1100 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Height = Input { Value = 512 },
                           Width = Input { Value = 512 }
                        },
                        Name = "FastNoise1",
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [2] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           Inverted = Input { Value = 1 },
                           Width = Input { Value = 512 },
                           GlobalOut = Input { Value = 1100 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           GlobalIn = Input { Value = 1001 },
                           Discontinuous = Input { Value = 1 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           Depth = Input { Value = 3 },
                           Detail = Input { Value = 4.23809523809524 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               },
               [3] = {
                  Tools = ordered() {
                     FastNoise1 = FastNoise {
                        Inputs = {
                           XScale = Input { Value = 0.666666666666667 },
                           Inverted = Input { Value = 1 },
                           Contrast = Input { Value = 1.72380952380952 },
                           GlobalIn = Input { Value = 1001 },
                           Width = Input { Value = 512 },
                           Depth = Input { Value = 3 },
                           ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" } },
                           Discontinuous = Input { Value = 1 },
                           GlobalOut = Input { Value = 1100 },
                           Height = Input { Value = 512 },
                           Gradient = Input {
                              Value = Gradient {
                                 Colors = {
                                    [0] = { 0, 0, 0, 1 },
                                    [1] = { 1, 1, 1, 1 }
                                 }
                              }
                           },
                           SeetheRate = Input { Value = 0.0714285714285714 },
                           Detail = Input { Value = 5.57142857142857 }
                        },
                        CtrlWZoom = false,
                        ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
                        CustomData = {
                        }
                     }
                  }
               }
            }
         },
         Inputs = {
            GlobalIn = Input { Value = 1001, },
            GlobalOut = Input { Value = 1200, },
            Width = Input { Value = 256, },
            Height = Input { Value = 512, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input {
               Value = { 0.5, 60 },
               Expression = "Point(0.5, time*0.05)",
            },
            Detail = Input { Value = 3.16, },
            Contrast = Input { Value = 6.33, },
            Brightness = Input { Value = -2, },
            LockXY = Input { Value = 0, },
            XScale = Input { Value = 50, },
            YScale = Input { Value = 1.03, },
            SeetheRate = Input { Value = 0.5, },
         },
         ViewInfo = OperatorInfo { Pos = { 1295.94, -254.589 } },
      }
   }
}


#keepfusionseperate
Last edited by alan bovine on Wed Apr 11, 2018 10:59 am, edited 1 time in total.
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Okke Verbart

  • Posts: 290
  • Joined: Tue Jan 17, 2017 8:40 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 6:07 am

That's a really cool tutorial Alan! Lately I've been experimenting a bit with image buffers myself a bit, but you came up with a very versatile technique there! Very well explained too.
www.ablackbirdcalledsue.com
Offline

Juha Takabe

  • Posts: 32
  • Joined: Wed Oct 25, 2017 8:13 pm
  • Location: Finland

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 7:06 am

I'm really enjoying your videos! Thanks!
Offline

jussi rovanpera

  • Posts: 130
  • Joined: Sat Nov 08, 2014 12:25 pm
  • Location: Helsinki, Finland

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 8:12 am

Thanks Alan, that's really cool, and so are your other tutorials as well.

I really like the pace of the videos.
Offline

alan bovine

  • Posts: 145
  • Joined: Mon Aug 07, 2017 6:20 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 8:26 am

Thanks for the feedback guys. I'm happy its useful for you guys! Let me know if there are other topcs that might be of interest. Right now I'm trying to cover things I've not seen on Youtube. Plenty of more particle and hacky comp tricks to come.
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Sjur Pollen

  • Posts: 97
  • Joined: Thu Jan 19, 2017 12:47 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 8:42 pm

Wow. This is great! As are all your fusion tutorials. Really good work. Thank you.

Personally I like them fine the way they are, but I think you could grow your audience quite a bit if you were to apply the techniques you demonstrate to an actual finished scene. Not necessarily something elaborate though. To give an example, your latest one made me think of this:


I think the sex appeal of a finished shot will appeal more to a broader audience. Especially people new to Fusion. If you even want a broader audience that is. (I for one, think you deserve it).
http://www.sjurpollen.com
Offline

alan bovine

  • Posts: 145
  • Joined: Mon Aug 07, 2017 6:20 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 8:49 pm

Hi Sjur,

I don't disagree, but I want to cover some technical areas before moving onto project specific tutorials. So I don't have to repeat why things are done certain ways.

I'm hoping to do a proper one on tracking with lens distortion workflow, high pass tracking, overscans and CG comping.

Then talk about finishing projects.
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Thierry Bergeron

  • Posts: 72
  • Joined: Thu Aug 11, 2016 4:58 am

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 9:00 pm

This is simply great
Offline

alan bovine

  • Posts: 145
  • Joined: Mon Aug 07, 2017 6:20 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 9:06 pm

Let me know if there are specific areas or effects you guys would like to see a tutorial on.Still compiling a list of stuff I'd like to run through.
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Sjur Pollen

  • Posts: 97
  • Joined: Thu Jan 19, 2017 12:47 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 9:07 pm

alan bovine wrote:Hi Sjur,

I don't disagree, but I want to cover some technical areas before moving onto project specific tutorials. So I don't have to repeat why things are done certain ways.

I'm hoping to do a proper one on tracking with lens distortion workflow, high pass tracking, overscans and CG comping.

Then talk about finishing projects.


That sounds great, and I completely understand. Just thinking out loud.
http://www.sjurpollen.com
Offline

Sander de Regt

  • Posts: 3497
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 9:09 pm

I'm hoping to do a proper one on tracking with lens distortion workflow

I'd love to see that. I haven't been able to get any results from the automatic distortion in the 3D tracker. I have set it so that it should do something, but my lenses are apparently perfect. :lol:
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

alan bovine

  • Posts: 145
  • Joined: Mon Aug 07, 2017 6:20 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 9:47 pm

Sander de Regt wrote:
I'm hoping to do a proper one on tracking with lens distortion workflow

I'd love to see that. I haven't been able to get any results from the automatic distortion in the 3D tracker. I have set it so that it should do something, but my lenses are apparently perfect. :lol:


I don't think the camera tracker can compute distortion coefficients. You'll have to manually undistort using lens grids. Something you should always shoot anyway.
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Kel Philm

  • Posts: 604
  • Joined: Sat Nov 19, 2016 6:21 am

Re: [ Video tutorial ] - Creating plasma/lightning

PostWed Apr 11, 2018 10:54 pm

Actually the Camera Trackers Solve spits out the Lens Distortion parameters k1, k2 to the Console (make sure you have refine lens parameters selected), why on earth they are not made available anywhere else is beyond me.
Offline

Sander de Regt

  • Posts: 3497
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostThu Apr 12, 2018 7:00 am

I don't think the camera tracker can compute distortion coefficients. You'll have to manually undistort using lens grids. Something you should always shoot anyway.

I once had a cinematographer who flat out refused to shoot grids. That was fun.

Back to Fusion:

I guess it might be a UI thing or user error but in the 'camera' tab of the camera tracker it says 'refine focal length' 'refine center point' and 'refine lens parameters' - to me that implies that a solve or a track will change some of the settings it refers to. Below in that tab it says 'Lens->enabled parameters' so I expect that 'refine lens parameters' to change that section as well when solving.
As far as I can tell, it doesn't do anything at the moment.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Kel Philm

  • Posts: 604
  • Joined: Sat Nov 19, 2016 6:21 am

Re: [ Video tutorial ] - Creating plasma/lightning

PostThu Apr 12, 2018 10:07 am

I am pretty sure they are being used, like I said above the Solve process logs this info to the console upon completion.
Offline
User avatar

Bryan Ray

  • Posts: 2478
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: [ Video tutorial ] - Creating plasma/lightning

PostThu Apr 12, 2018 2:25 pm

Sander de Regt wrote:I once had a cinematographer who flat out refused to shoot grids. That was fun.


Color me envious. I have yet to see a grid come from production. I was over the moon when Dusk Till Dawn started sending chip charts and chrome spheres. But even they never sent lens grids.
Bryan Ray
http://www.bryanray.name
http://www.sidefx.com
Offline

Sander de Regt

  • Posts: 3497
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostThu Apr 12, 2018 2:34 pm

Oh, I didn't get them either on other shows, but this was the rare case that I was involved from the start and the DP just said: nope, won't do that. I don't care.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Kel Philm

  • Posts: 604
  • Joined: Sat Nov 19, 2016 6:21 am

Re: [ Video tutorial ] - Creating plasma/lightning

PostThu Apr 12, 2018 8:57 pm

A DOP I worked with used to slip pictures from nudie mags onto the odd lens grid as he was sure they were not even being looked at.
Offline

Juha Takabe

  • Posts: 32
  • Joined: Wed Oct 25, 2017 8:13 pm
  • Location: Finland

Re: [ Video tutorial ] - Creating plasma/lightning

PostMon Apr 16, 2018 11:50 am

alan bovine wrote:Let me know if there are specific areas or effects you guys would like to see a tutorial on.Still compiling a list of stuff I'd like to run through.

I'd love to see paint tool tutorial. For example I simply can't understand why I have to set stroke duration before I paint. I'm used to do cleanup works in Nuke and having hard time switching to Fusion because I haven't figured out how Clone Multistroke tool works.
Offline

Sander de Regt

  • Posts: 3497
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: [ Video tutorial ] - Creating plasma/lightning

PostMon Apr 16, 2018 12:00 pm

Since I don't use Nuke, can you explain how the workflow is in Nuke?
What duration do you need the paintstrokes to be?
Originally Fusion's paint tool was created for dust busting in a way, so the default setting 'multistroke' is used for strokes that are only one frame long, because dust specks only appear for one frame.
If you want to have 'permanent' paint strokes, you just use the default 'stroke' and set it to clone mode.
Sander de Regt

ShadowMaker SdR
The Netherlands

Return to Fusion

Who is online

Users browsing this forum: No registered users and 23 guests