Jump to: Board index » General » Fusion

Different image front and back for an image plane

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

yokaew

  • Posts: 3
  • Joined: Fri Apr 16, 2021 10:05 am
  • Real Name: Chalermpon Poungpeth

Different image front and back for an image plane

PostFri Apr 16, 2021 10:13 am

Is it possible to map 2 different images for front and back of an image plane?
I want to animate an image plane and see different picture.

Thank you,
Offline

pinthenet

  • Posts: 113
  • Joined: Mon May 18, 2020 3:23 pm
  • Location: Switzerland
  • Real Name: John Payne

Re: Different image front and back for an image plane

PostFri Apr 16, 2021 2:38 pm

I don't think it's possible to put 2 images on one plane, but you could create the effect using 2 planes.
I just tried a quick test by creating 2 image planes and setting one to blue the other red. I rotated one by 180° and moved it 0.001 in the Z direction. The rotated image plane can probably be linked to the first plane using and expression of some sort so that they stay together if you move them. The Z distance should be even less, until the images/colours blend together

Code: Select all
{
   Tools = ordered() {
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0, },
            ["MtlStdInputs.Diffuse.Color.Blue"] = Input { Value = 0, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 16.5 } },
      },
      ImagePlane3D2 = ImagePlane3D {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.Z"] = Input { Value = 0.001, },
            ["Transform3DOp.Rotate.Y"] = Input { Value = 180, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["MtlStdInputs.Diffuse.Color.Red"] = Input { Value = 0, },
            ["MtlStdInputs.Diffuse.Color.Green"] = Input { Value = 0.333333333333333, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 105, 85.8636 } },
      },
      Camera3D1 = Camera3D {
         Inputs = {
            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 = 3, },
         },
         ViewInfo = OperatorInfo { Pos = { 218.333, 127.348 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "ImagePlane3D2",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 361.667, 39.803 } },
      }
   }
}
[size=85]i7-6700K 4GHz/32GB/GTX1660Ti 6GB
Windows 10 Pro: NVIDIA 462.31 Studio; Resolve 17.1.1 Studio; Fusion 17.1.1 Studio
Offline
User avatar

Bryan Ray

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

Re: Different image front and back for an image plane

PostFri Apr 16, 2021 4:38 pm

No need for expression linking. Instance the first plane (copy, then Ctrl+Shift+V to paste an instance), then deinstance the Visibility.CullFrontFace and Visibility.CullBackFace controls. (To deinstance a control, right-click it in the Inspector and choose "Deinstance.")

Code: Select all
{
   Tools = ordered() {
      FRONT = TextPlus {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1001, },
            GlobalOut = Input { Value = 1150, },
            Width = Input { Value = 4448, },
            Height = Input { Value = 3096, },
            PixelAspect = Input { Value = { 2, 1 }, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            StyledText = Input { Value = "FRONT", },
            Font = Input { Value = "Open Sans", },
            Style = Input { Value = "Bold", },
            Size = Input { Value = 0.5, },
            VerticalJustificationNew = Input { Value = 3, },
            HorizontalJustificationNew = Input { Value = 3, },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2035, -16.5 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Instance_ImagePlane3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2255, 16.5 } },
      },
      Transform3 = Transform {
         Inputs = {
            FlipHoriz = Input { Value = 1, },
            Input = Input {
               SourceOp = "BACK",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 2035, 16.5 } },
      },
      BACK = TextPlus {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1001, },
            GlobalOut = Input { Value = 1150, },
            Width = Input { Value = 4448, },
            Height = Input { Value = 3096, },
            PixelAspect = Input { Value = { 2, 1 }, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            StyledText = Input { Value = "BACK", },
            Font = Input { Value = "Open Sans", },
            Style = Input { Value = "Bold", },
            Size = Input { Value = 0.5, },
            VerticalJustificationNew = Input { Value = 3, },
            HorizontalJustificationNew = Input { Value = 3, },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1925, 16.5 } },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.CullBackFace"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "FRONT",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 2145, -16.5 } },
      },
      Instance_ImagePlane3D1 = ImagePlane3D {
         SourceOp = "ImagePlane3D1",
         Inputs = {
            SceneInput = Input { },
            ["Transform3DOp.Translation"] = Input { },
            ["Transform3DOp.Rotation"] = Input { },
            ["Transform3DOp.PivotNest"] = Input { },
            ["Transform3DOp.ScaleNest"] = Input { },
            ["Transform3DOp.TargetNest"] = Input { },
            ["SurfacePlaneInputs.Visibility.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.CullFrontFace"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Visibility.CullBackFace"] = Input { },
            ["SurfacePlaneInputs.Lighting.Nest"] = Input { },
            ["SurfacePlaneInputs.Matte.Nest"] = Input { },
            ["SurfacePlaneInputs.BlendMode.Nest"] = Input { },
            ["SurfacePlaneInputs.Controls.Nest"] = Input { },
            ["SurfacePlaneInputs.ObjectID.Nest"] = Input { },
            MaterialInput = Input {
               SourceOp = "Transform3",
               Source = "Output",
            },
            ["MtlStdInputs.Diffuse.Nest"] = Input { },
            ["MtlStdInputs.Specular.Nest"] = Input { },
            ["MtlStdInputs.Transmittance.Nest"] = Input { },
            ["MtlStdInputs.MaterialIDNest"] = Input { },
            CommentsNest = Input { },
            FrameRenderScriptNest = Input { },
            StartRenderScripts = Input { },
            EndRenderScripts = Input { },
         },
         ViewInfo = OperatorInfo { Pos = { 2145, 16.5 } },
      }
   }
}
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

yokaew

  • Posts: 3
  • Joined: Fri Apr 16, 2021 10:05 am
  • Real Name: Chalermpon Poungpeth

Re: Different image front and back for an image plane

PostSat Apr 17, 2021 4:21 am

Thank you for the help. I will give it a try.

Return to Fusion

Who is online

Users browsing this forum: birdseye and 15 guests