Page 1 of 1

the 3D distortion

PostPosted: Sat May 28, 2016 10:23 pm
by Eugene Afanasiev
Hi all so here is the thing I wanted to make ribbon be distorted in all 3 axis but I'm only getting two, I thought that when I apply 3Di node then 3DXf node with an x angle set to 90 then the next 3Distort node would be horizontal but instead it just adds more in vertical dimension.


Code: Select all
{
   Tools = ordered() {
      Displace3D2 = Displace3D {
         CtrlWZoom = false,
         Inputs = {
            SceneInput = Input {
               SourceOp = "Transform3D1",
               Source = "Output",
            },
            Scale = Input { Value = 1, },
            Input = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1517, 257 } },
      },
      Transform3D1 = Transform3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Displace3D1",
               Source = "Output",
            },
            ["Transform3DOp.Rotate.X"] = Input { Value = 90, },
         },
         ViewInfo = OperatorInfo { Pos = { 1407, 257 } },
      },
      Displace3D1 = Displace3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Ribbon3D1",
               Source = "Output",
            },
            Scale = Input { Value = 1, },
            Input = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1296, 257 } },
      },
      FastNoise1 = FastNoise {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SeetheRate = Input { Value = 1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1298, 291 } },
      },
      Ribbon3D1 = Ribbon3D {
         Inputs = {
            NumberOfLines = Input { Value = 1, },
            SubdivisionLevel = Input { Value = 100, },
            ["ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 1187, 257 } },
      }
   }
}

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Sat May 28, 2016 10:26 pm
by Eugene Afanasiev
Am I missing some knowledge here?
How such could be achieved?

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Sat May 28, 2016 11:04 pm
by Chad Capeland
If you show normals in the viewport, you can see the problem. When you rotate the mesh, the normals rotate too, which is to be expected. It doesn't change what the displacement is done in.

You can use the RGB displacement to do all 3 at once, however, or you can use 3CV.

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Sat May 28, 2016 11:23 pm
by Eugene Afanasiev
Thanks and could you please show how it works in both examples? I know nothing about custom vertex...

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Sun May 29, 2016 6:00 pm
by Eric Westphal
Here's an example for RGB distortion, based on your original setup:

Code: Select all
{
   Tools = ordered() {
      Displace3D1 = Displace3D {
         CtrlWZoom = false,
         Inputs = {
            SceneInput = Input {
               SourceOp = "Ribbon3D1",
               Source = "Output",
            },
            Channel = Input { Value = 6, },
            Scale = Input { Value = 2, },
            Input = Input {
               SourceOp = "ChannelBooleans1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 280.5, }, },
      },
      FN_Y = FastNoise {
         NameSet = true,
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            XScale = Input { Value = 4.4761905, },
            Seethe = Input { Value = 52145, },
            SeetheRate = Input { Value = 0.1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 412.5, }, },
      },
      FN_X = FastNoise {
         NameSet = true,
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            SeetheRate = Input { Value = 0.1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 379.5, }, },
      },
      Ribbon3D1 = Ribbon3D {
         Inputs = {
            NumberOfLines = Input { Value = 1, },
            SubdivisionLevel = Input { Value = 100, },
            ["ObjectID.ObjectID"] = Input { Value = 1, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 280.5, }, },
      },
      ChannelBooleans1 = ChannelBoolean {
         Inputs = {
            ToRed = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            ToAlpha = Input { Value = 4, },
            Background = Input {
               SourceOp = "FN_X",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "FN_Y",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 165, 379.5, }, },
      },
      FN_Z = FastNoise {
         NameSet = true,
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 3, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            XScale = Input { Value = 4.3809524, },
            Seethe = Input { Value = 12541, },
            SeetheRate = Input { Value = 0.1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 445.5, }, },
      },
      ChannelBooleans1_1 = ChannelBoolean {
         Inputs = {
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToAlpha = Input { Value = 4, },
            Background = Input {
               SourceOp = "ChannelBooleans1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "FN_Z",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 275, 379.5, }, },
      },
   },
}


Also, note the difference between "relative" and "absolute" in the Displace3D.

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Sun May 29, 2016 9:31 pm
by Eugene Afanasiev
Thank you very much!
I'd never guessed this approach on my own...

And I'm curious how do you guys tend to learn all this stuff? Would you suggest to study something specific on the subject?

Re: Is it flexible from which angle the 3D distorion'd affec

PostPosted: Mon May 30, 2016 5:30 am
by Eric Westphal
Well...in my case it has been pretty much learning by doing on the job.
As a freelancer I started Fusion back in 1996 and it has always been my favourite tool.
There always was a way to get the job done.

And then of course I picked up a few bits on the various Fusion-trainings I did in numerous facilities.
Plus, having been the (sen.) product manager for Fusion gave me insight in even more facilities, their individual workflows, pipelines, and solutions.

In your case I think you're on the right way.
You have goals you want to achieve and ask the right questions.
Now that a question has been answered, ask yourself how to deepen the knowledge.
Play around in Fusion. Try new things.
When RGB-Distortion works on a Ribbon, what could it do to Shape3D?
If it looks odd on a Sphere, what could Weld3D do to fix that?
Keep having phun experimenting and you're on the right track.