Jump to: Board index » General » Fusion

create light gobo

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

Chris North

  • Posts: 83
  • Joined: Mon Mar 09, 2015 2:27 pm

create light gobo

PostTue Jan 09, 2018 2:00 pm

Hello there,

I'm trying to create a gobo for a light so that it casts a shadow on another layer. I've set up the scene (I think correctly) but I can't seem to cast the shadow.

Would someone mind taking a look at my script? I've probably wired it up wrong.

Code: Select all
{
   Tools = ordered() {
      ImagePlane3D1_1 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = 0.173321268323737, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.645933604724908, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -0.984884886909795, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -19.5830728607252, },
            ["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.IsUnseenByCameras"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.IgnoreTransparentPixelsInAuxChannels"] = Input { Value = 0, },
            ["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Matte.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
            MaterialInput = Input {
               SourceOp = "FastNoise2",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 2035, 313.5 } },
      },
      FastNoise2 = FastNoise {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Contrast = Input { Value = 3.872, },
            Brightness = Input { Value = -0.077, },
            Seethe = Input { Value = 0.004, },
         },
         ViewInfo = OperatorInfo { Pos = { 2035, 247.5 } },
      },
      SpotLight1 = LightSpot {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = 0.00263550555117324, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 1.09122161993477, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -0.423109818639727, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -43.2256711069494, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = -2.28277207259089, },
            ["Transform3DOp.Rotate.Z"] = Input { Value = 1.75782798044384, },
            Intensity = Input { Value = 0.897, },
            ConeAngle = Input { Value = 0, },
            PenumbraAngle = Input { Value = 16.32, },
            Dropoff = Input { Value = 1.915, },
            ["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
            ["ShadowLightInputs3D.ShadowDensity"] = Input { Value = 0.57, },
            ["ShadowLightInputs3D.ShadowMapSize"] = Input { Value = 3225, },
         },
         ViewInfo = OperatorInfo { Pos = { 1815, 313.5 } },
      },
      Merge3D1_1 = Merge3D {
         CtrlWZoom = false,
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "SpotLight1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1815, 412.5 } },
         Colors = {
            TileColor = { R = 0.525490196078431, G = 0, B = 0.00784313725490196 },
            TextColor = { R = 0, G = 0, B = 0 },
         }
      },
      Merge3D1_4 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ImagePlane3D1_1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Merge3D1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2035, 412.5 } },
         Colors = {
            TileColor = { R = 0.525490196078431, G = 0, B = 0.00784313725490196 },
            TextColor = { R = 0, G = 0, B = 0 },
         }
      },
      Renderer3D1 = Renderer3D {
         CustomData = {
            ToolVersion = 1,
         },
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1_4",
               Source = "Output",
            },
            CameraSelector = Input { Value = FuID { "Camera3D1" }, },
            Reporting = Input { Value = 1, },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererOpenGL.Channels.Nest"] = Input { Value = 1, },
            ["RendererOpenGL.Channels.RGBASS"] = Input { Value = 1, },
            ["RendererOpenGL.AccumulationEffects"] = Input { Value = 1, },
            ["RendererOpenGL.AccumQuality"] = Input { Value = 50, },
            ["RendererOpenGL.DoFBlur"] = Input { Value = 0.023, },
            ["RendererOpenGL.LightingEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.ShadowsEnabled"] = Input { Value = 1, },
            ["RendererOpenGL.Texturing"] = Input { Value = 1, },
            ["RendererOpenGL.TextureDepth"] = Input { Value = 3, },
            ["RendererOpenGL.WireframeAntialiasing"] = Input { Value = 0, },
            ["RendererSoftware.Channels.Nest"] = Input { Value = 1, },
            ["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
            ["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 2200, 412.5 } },
         Colors = { TileColor = { R = 0.525490196078431, G = 0, B = 0.00784313725490196 }, }
      },
      Camera3D1 = Camera3D {
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.156862979620657, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -0.0834163653513149, },
            AoV = Input { Value = 19.2642683071402, },
            PlaneOfFocus = Input { Value = 1.312, },
            ["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ControlVis = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 1595, 346.5 } },
         Colors = {
            TileColor = { R = 0.525490196078431, G = 0, B = 0.00784313725490196 },
            TextColor = { R = 0, G = 0, B = 0 },
         }
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Displace3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1595, 412.5 } },
         Colors = {
            TileColor = { R = 0.525490196078431, G = 0, B = 0.00784313725490196 },
            TextColor = { R = 0, G = 0, B = 0 },
         }
      },
      Displace3D1 = Displace3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
            Scale = Input { Value = 0.043, },
            CameraDisplacement = Input { Value = 1, },
            Input = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 412.5 } },
      },
      FastNoise1 = FastNoise {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            XScale = Input { Value = 7.35, },
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 346.5 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = 0.00920968824879306, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.159897775826799, },
            ["Transform3DOp.Translate.Z"] = Input { Value = -1.47556445028946, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -41.7840008409694, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = -48.2337131029926, },
            ["Transform3DOp.Rotate.Z"] = Input { Value = -34.5336428522132, },
            ["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Matte.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.BlendMode.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 5, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 1155, 412.5 } },
      }
   }
}


chris
Offline

Sander de Regt

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

Re: create light gobo

PostTue Jan 09, 2018 2:04 pm

Hi Chris,
Can you please remind me what a gobo is supposed to do?
Is it that you use for example a b/w mask of leaves to imitate the shadow of foliage?
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Chris North

  • Posts: 83
  • Joined: Mon Mar 09, 2015 2:27 pm

Re: create light gobo

PostTue Jan 09, 2018 2:11 pm

Yeah, sorry, you are right. I just mean a card with a shape cut out that will form a shadow on another layer.

At the moment I'm just using a _fastnoise node to generate the shape. In Nuke I would have a scene node and add everything to it but I suspect in Fusion you can't do it quite the same way so I've got multiple 3D merges.
Offline

Sander de Regt

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

Re: create light gobo

PostTue Jan 09, 2018 3:09 pm

You can actually add unlimited additional nodes to a single 3D merge.
My approach would be to use a projector like in the attached example.

Code: Select all
{
   Tools = ordered() {
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalOut = Input { Value = 500, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 6.92, },
            Contrast = Input { Value = 5, },
            XScale = Input { Value = 12.14, },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 16.5 } },
      },
      Shape3D1 = Shape3D {
         Inputs = {
            ["Transform3DOp.Translate.Z"] = Input { Value = -0.00446964434482935, },
            Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 275, 115.5 } },
      },
      Projector3D1 = LightProjector {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.295390758679145, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 3.41642798537526, },
            ProjectiveImage = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            ["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 330, 16.5 } },
      },
      Shape3D1_1 = Shape3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["Transform3DOp.Translate.X"] = Input { Value = -0.114914825820114, },
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.0273700951178377, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 1.11291030024605, },
            ["Transform3DOp.Rotate.X"] = Input { Value = 26, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = 20.8, },
            Shape = Input { Value = FuID { "SurfaceTorusInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["SurfaceTorusInputs.Radius"] = Input { Value = 0.684, },
            ["SurfaceTorusInputs.Section"] = Input { Value = 0.256, },
            ["SurfaceTorusInputs.ObjectID.ObjectID"] = Input { Value = 3, }
         },
         ViewInfo = OperatorInfo { Pos = { 385, 181.5 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Projector3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "Shape3D1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 49.5 } },
      }
   }
}
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Chris North

  • Posts: 83
  • Joined: Mon Mar 09, 2015 2:27 pm

Re: create light gobo

PostTue Jan 09, 2018 3:13 pm

ah i see. thanks very much !

Return to Fusion

Who is online

Users browsing this forum: No registered users and 17 guests