Page 1 of 1

Beginner Question

PostPosted: Fri Jun 16, 2017 8:33 pm
by Curtis Polk
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?

Re: Beginner Question

PostPosted: Fri Jun 16, 2017 9:26 pm
by Sander de Regt
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

Re: Beginner Question

PostPosted: Sat Jun 17, 2017 10:55 am
by Andrew Hazelden
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 1506 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 } },
      }
   }
}

Re: Beginner Question

PostPosted: Wed Jun 21, 2017 9:17 pm
by Curtis Polk
Thanks guys. Above and beyond.