Page 1 of 1

Imported 3d and GI

PostPosted: Wed Oct 11, 2017 4:05 pm
by Chester Niziol
I am very new to Fusion, so this may be a strange question, but here it is:

Is this a "fake" screenshot posted on the Fusion page, or is there a way to actually get these soft shadows in a 3D scene view, prior to a render node?

Thanks!

Re: Imported 3d and GI

PostPosted: Wed Oct 11, 2017 7:14 pm
by michael vorberg
maybe a baked texture map?

Re: Imported 3d and GI

PostPosted: Wed Oct 11, 2017 7:20 pm
by Sander de Regt
Screen space ambient occlusion is also a possibility.

Re: Imported 3d and GI

PostPosted: Wed Oct 11, 2017 8:24 pm
by Chad Capeland
Or just a bunch of lights.

Re: Imported 3d and GI

PostPosted: Wed Oct 11, 2017 8:53 pm
by Chester Niziol
michael vorberg wrote:maybe a baked texture map?


Yes, that was my first guess as well. I do not think this is lit by any scene lights, otherwise we would see some specular highlights.

Re: Imported 3d and GI

PostPosted: Wed Oct 11, 2017 8:58 pm
by Chester Niziol
Sander de Regt wrote:Screen space ambient occlusion is also a possibility.


I considered that, but I think SSAO still needs to go through the Render 3D node. This image looks like it came straight from Merge 3D node ( grid still visible ).

Re: Imported 3d and GI

PostPosted: Thu Oct 12, 2017 12:33 pm
by Chad Capeland
Chester Niziol wrote:I do not think this is lit by any scene lights, otherwise we would see some specular highlights.


Depends on the shader assigned.

Re: Imported 3d and GI

PostPosted: Thu Oct 12, 2017 2:43 pm
by Adelson Munhoz
It seems like a composed image, mixing the render node output with the 3D viewer.

I may be wrong, but I don't think it is possible to have anti aliased / super-sampled images in the 3D viewport.

Re: Imported 3d and GI

PostPosted: Thu Oct 12, 2017 4:16 pm
by Chad Capeland
Adelson Munhoz wrote:but I don't think it is possible to have anti aliased / super-sampled images in the 3D viewport.


You can, depending on your graphics card and drivers.

Re: Imported 3d and GI

PostPosted: Thu Oct 12, 2017 4:33 pm
by Umberto Uderzo
Cough! cough!
Aehm...

And select Camera POV in viewer...

Code: Select all
{
   Tools = ordered() {
      Instance_Shape3D2 = Shape3D {
         SourceOp = "Shape3D2",
         Inputs = {
            SceneInput = Input { },
            ["Transform3DOp.Translation"] = Input { },
            ["Transform3DOp.Rotation"] = Input { },
            ["Transform3DOp.PivotNest"] = Input { },
            ["Transform3DOp.ScaleNest"] = Input { },
            ["Transform3DOp.TargetNest"] = Input { },
            MaterialInput = Input { },
            ["MtlStdInputs.Diffuse.Nest"] = Input { },
            ["MtlStdInputs.Specular.Nest"] = Input { },
            ["MtlStdInputs.Transmittance.Nest"] = Input { },
            ["MtlStdInputs.MaterialIDNest"] = Input { },
            StartEndRenderScripts = Input { },
            ["SurfaceTorusInputs.Visibility.Nest"] = Input { },
            ["SurfaceTorusInputs.Lighting.Nest"] = Input { },
            ["SurfaceTorusInputs.Matte.Nest"] = Input { },
            ["SurfaceTorusInputs.BlendMode.Nest"] = Input { },
            ["SurfaceTorusInputs.Controls.Nest"] = Input { },
            ["SurfaceTorusInputs.ObjectID.Nest"] = Input { },
         },
         ViewInfo = OperatorInfo { Pos = { 715, 214.5 } },
      },
      Merge3D2 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Instance_Shape3D2",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Instance_Shape3D1",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
            SceneInput4 = Input {
               SourceOp = "Projector3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 825, 148.5 } },
      },
      Projector3D1 = LightProjector {
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input {
               SourceOp = "Publish1",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Y"] = Input {
               SourceOp = "Publish2",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Z"] = Input {
               SourceOp = "Publish3",
               Source = "Value",
            },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            ["Transform3DOp.Target.X"] = Input {
               SourceOp = "Publish4",
               Source = "Value",
            },
            ["Transform3DOp.Target.Y"] = Input {
               SourceOp = "Publish5",
               Source = "Value",
            },
            ["Transform3DOp.Target.Z"] = Input {
               SourceOp = "Publish6",
               Source = "Value",
            },
            Angle = Input {
               Value = 28.175,
               Expression = "Camera3D1.AoV*1.75",
            },
            ProjectiveImage = Input {
               SourceOp = "Renderer3D1",
               Source = "Output",
            },
            ProjectionMode = Input { Value = 1, },
            ["ShadowLightInputs3D.ShadowsEnabled"] = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 605, 148.5 } },
      },
      Publish1 = PublishNumber {
      },
      Publish2 = PublishNumber {
         Inputs = {
            Value = Input { Value = 2.25, },
         },
      },
      Publish3 = PublishNumber {
         Inputs = {
            Value = Input { Value = -2.31, },
         },
      },
      Publish4 = PublishNumber {
      },
      Publish5 = PublishNumber {
      },
      Publish6 = PublishNumber {
      },
      Renderer3D1 = Renderer3D {
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Merge3D1",
               Source = "Output",
            },
            ["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
            ["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 148.5 } },
      },
      Instance_Shape3D1 = Shape3D {
         SourceOp = "Shape3D1",
         Inputs = {
            SceneInput = Input { },
            ["Transform3DOp.Translation"] = Input { },
            ["Transform3DOp.Rotation"] = Input { },
            ["Transform3DOp.PivotNest"] = Input { },
            ["Transform3DOp.ScaleNest"] = Input { },
            ["Transform3DOp.TargetNest"] = Input { },
            MaterialInput = Input { },
            ["MtlStdInputs.Diffuse.Nest"] = Input { },
            ["MtlStdInputs.Specular.Nest"] = Input { },
            ["MtlStdInputs.Transmittance.Nest"] = Input { },
            ["MtlStdInputs.MaterialIDNest"] = Input { },
            StartEndRenderScripts = Input { },
            ["SurfacePlaneInputs.Visibility.Nest"] = Input { },
            ["SurfacePlaneInputs.Lighting.Nest"] = Input { Value = 1, },
            ["SurfacePlaneInputs.Matte.Nest"] = Input { },
            ["SurfacePlaneInputs.BlendMode.Nest"] = Input { },
            ["SurfacePlaneInputs.Controls.Nest"] = Input { },
            ["SurfacePlaneInputs.ObjectID.Nest"] = Input { },
         },
         ViewInfo = OperatorInfo { Pos = { 715, 115.5 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "SpotLight1",
               Source = "Output",
            },
            SceneInput3 = Input {
               SourceOp = "Camera3D1",
               Source = "Output",
            },
            SceneInput4 = Input {
               SourceOp = "Shape3D2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 148.5 } },
      },
      Shape3D2 = Shape3D {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 0.247910912681871, },
            ["Transform3DOp.Scale.X"] = Input { Value = 0.2157, },
            Shape = Input { Value = FuID { "SurfaceTorusInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 3, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 3, },
            ["SurfaceTorusInputs.Section"] = Input { Value = 0.363, },
            ["SurfaceTorusInputs.SubdivisionLevelBase"] = Input { Value = 44, },
            ["SurfaceTorusInputs.ObjectID.ObjectID"] = Input { Value = 4, }
         },
         ViewInfo = OperatorInfo { Pos = { 275, 214.5 } },
      },
      Camera3D1 = Camera3D {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.X"] = Input {
               SourceOp = "Publish1",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Y"] = Input {
               SourceOp = "Publish2",
               Source = "Value",
            },
            ["Transform3DOp.Translate.Z"] = Input {
               SourceOp = "Publish3",
               Source = "Value",
            },
            ["Transform3DOp.UseTarget"] = Input { Value = 1, },
            ["Transform3DOp.Target.X"] = Input {
               SourceOp = "Publish4",
               Source = "Value",
            },
            ["Transform3DOp.Target.Y"] = Input {
               SourceOp = "Publish5",
               Source = "Value",
            },
            ["Transform3DOp.Target.Z"] = Input {
               SourceOp = "Publish6",
               Source = "Value",
            },
            AoV = Input {
               SourceOp = "Publish7",
               Source = "Value",
            },
            FLength = Input { Value = 41.9993247273394, },
            ["Stereo.Mode"] = Input { Value = FuID { "Mono" }, },
            FilmGate = Input { Value = FuID { "BMD_URSA_4K_16x9" }, },
            ApertureW = Input { Value = 0.831496062992126, },
            ApertureH = Input { Value = 0.467716535433071, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 2, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 2, },
         },
         ViewInfo = OperatorInfo { Pos = { 275, 181.5 } },
      },
      Publish7 = PublishNumber {
         CtrlWZoom = false,
         Inputs = {
            Value = Input { Value = 16.1, },
         },
      },
      SpotLight1 = LightSpot {
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input { Value = 1.684, },
            ["Transform3DOp.Rotate.X"] = Input { Value = -90, },
            PenumbraAngle = Input { Value = 13.59, },
            ["ShadowLightInputs3D.Nest"] = Input { Value = 1, },
            ["ShadowLightInputs3D.SoftnessType"] = Input { Value = FuID { "Constant" }, },
            ["ShadowLightInputs3D.ConstantSoftness"] = Input { Value = 0.0551, },
         },
         ViewInfo = OperatorInfo { Pos = { 275, 148.5 } },
      },
      Shape3D1 = Shape3D {
         Inputs = {
            ["Transform3DOp.Rotate.X"] = Input { Value = -90, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { 275, 115.5 } },
      }
   }
}

Re: Imported 3d and GI

PostPosted: Fri Oct 27, 2017 8:22 pm
by Chester Niziol
Thanks Umberto for that example.

I think however that Adelson is correct and this is not a "real" screenshot of the 3d vewport. No matter how many cores your card has, Fusion will not render this image this way. If you also look at the attached example, you will see very clear "self-reflections" in the rendered car image which supposed to be rendered in Fusion, after the FBX Scene import. I do not think Fusion can do this ( for now ).

I still think this is a "marketing" screenshot and not a real one and I should stop killing myself to try to replicate it.

Re: Imported 3d and GI

PostPosted: Fri Oct 27, 2017 11:13 pm
by Bryan Ray
Especially since that Viewer claims it's displaying a node called "AnimatedText."