Jump to: Board index » General » Fusion

Beginner Question

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

Curtis Polk

  • Posts: 24
  • Joined: Mon Nov 02, 2015 4:52 pm

Beginner Question

PostFri Jun 16, 2017 8:33 pm

I have a still image 4608 x 2592 that I would like to use a portion of in a UHD composition. It is a shot of the sky, and I would like to pan inside the image to get better clouds. Is there a way to do this?
Offline

Sander de Regt

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

Re: Beginner Question

PostFri Jun 16, 2017 9:26 pm

Several I guess. Are you using Fusion Studio or Free version?
The Free version has some size limitations, although I don't know them by heart.
What you describe is simple enough.

2 ways that come to mind immediately:

1) You can create a loader --> transform tool -->crop (set to UHD) resolution and then use the transform to reposition the clouds.

2) Or you can create a loader and merge that on top of an UHD background tool and use the merge center to reposition the clouds.

Hope this helps.

Sander de Regt
ShadowMaker SdR
The Netherlands
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline
User avatar

Andrew Hazelden

  • Posts: 536
  • Joined: Sat Dec 06, 2014 12:10 pm
  • Location: West Dover, Nova Scotia, Canada

Re: Beginner Question

PostSat Jun 17, 2017 10:55 am

Here is a Fusion .comp snippet you can copy/paste into your active Fusion composite. It shows visually a Transform Node > Crop node which is what Sander de Reget explained as option #1:

Code: Select all
{
   Tools = ordered() {
      Crop = Crop {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            XSize = Input { Value = 3840, },
            YSize = Input { Value = 2160, },
            Input = Input {
               SourceOp = "Transform",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1207, 181 } },
      },
      Transform = Transform {
         NameSet = true,
         Inputs = {
            Center = Input { Value = { 0.877700356289181, 0.874365211453932 }, },
            Size = Input { Value = 1.8, },
            Input = Input {
               SourceOp = "DaySky_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1097, 181 } },
      },
      DaySky_1 = DaySky {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Width = Input { Value = 4608, },
            Height = Input { Value = 2592, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 987, 181 } },
      }
   }
}


And this is a comp snippet example of what Sander de Reget explained as option #2:

Code: Select all
{
   Tools = ordered() {
      Merge = Merge {
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "Background",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "DaySky_2",
               Source = "Output",
            },
            Center = Input { Value = { 0.58, 0.57 }, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1102, 350 } },
      },
      Background = Background {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Width = Input { Value = 3840, },
            Height = Input { Value = 2160, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 992, 350 } },
      },
      DaySky_2 = DaySky {
         NameSet = true,
         Inputs = {
            Width = Input { Value = 4608, },
            Height = Input { Value = 2592, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 989, 314 } },
      }
   }
}


Fusion 3D System Sky Placement

An additional option if your sky is panoramic and wraps around the left/right frame border is to map it onto a sphere mesh and then use a Camera3D+Renderer3D node to look at a specific region of the scene.

The basic workflow for this is to add a Shape3D node set to output a "sphere" shape. You can adjust the End Latitude if your source image is not a full LatLong texture, and only covers part of the sky zone vertically.

Then add a Camera3D node and connect it to the Shape3D node using a Merge3D node.

Finally connect a Renderer3D node to the Merge3D node. In the Renderer3D node the Camera attribute is set to "Camera3D1". You can choose if you want to use the OpenGL Renderer or the Software Renderer. The output resolution for the final image is defined on the Renderer3D node's Image tab.

Fusion-3D-sky-placement.png
3D Sky Placement in Fusion
Fusion-3D-sky-placement.png (355.2 KiB) Viewed 1240 times


You can explore the elements in the comp using Fusion's 3D system by clicking on the Merge3D node and viewing the comp at that point.

This is an example Fusion .comp snippet you can explore:

Code: Select all
{
   Tools = ordered() {
      Shape3D1 = Shape3D {
         Inputs = {
            Shape = Input { Value = FuID { "SurfaceSphereInputs" }, },
            MaterialInput = Input {
               SourceOp = "DaySky_3",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["SurfaceSphereInputs.SubdivisionLevelBase"] = Input { Value = 48, },
            ["SurfaceSphereInputs.SubdivisionLevelHeight"] = Input { Value = 48, },
            ["SurfaceSphereInputs.EndLat"] = Input { Value = 0, },
            ["SurfaceSphereInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 1100, 478.5 } },
      },
      DaySky_3 = DaySky {
         NameSet = true,
         Inputs = {
            Width = Input { Value = 4608, },
            Height = Input { Value = 2592, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 990, 478.5 } },
      },
      Camera3D1 = Camera3D {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input { Value = 0.0670584585912424, },
            ["Transform3DOp.Translate.Y"] = Input { Value = -0.0171650974297559, },
            ["Transform3DOp.Translate.Z"] = Input { Value = 0.209915125204656, },
            ["Transform3DOp.Rotate.X"] = Input { Value = 10.5701255, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = -14.6341481, },
            ["Transform3DOp.Rotate.Z"] = Input { Value = 0.798935009166598, },
            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 = 3, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 445.5 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 478.5 } },
      },
      Renderer3D1 = Renderer3D {
         Inputs = {
            Width = Input { Value = 3840, },
            Height = Input { Value = 2160, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            CameraSelector = Input { Value = FuID { "Camera3D1" }, },
            RendererType = Input { Value = FuID { "RendererOpenGL" }, },
            ["RendererOpenGL.Texturing"] = Input { Value = 1, },
            ["RendererOpenGL.TextureDepth"] = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1320, 478.5 } },
      }
   }
}
Mac Studio M2 Ultra / Threadripper 3990X | Fusion Studio 18.6.4 | Kartaverse 6
Offline

Curtis Polk

  • Posts: 24
  • Joined: Mon Nov 02, 2015 4:52 pm

Re: Beginner Question

PostWed Jun 21, 2017 9:17 pm

Thanks guys. Above and beyond.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 70 guests