Jump to: Board index » General » Fusion

How to grow a cylinder from ground?

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

Oliver Stock

  • Posts: 3
  • Joined: Fri Mar 25, 2016 2:32 pm

How to grow a cylinder from ground?

PostFri Mar 25, 2016 4:48 pm

Hi,

how can i set up a 3d cylinder in fusion that grows up from the ground and not from his mid-point (using the high-slider)? The pivot axis has no effect...

Thanks a lot!
nanni700
Oliver Stock
Germany
www.oliverstock.de
Offline

Sander de Regt

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

Re: How to grow a cylinder from ground?

PostTue Mar 29, 2016 8:56 pm

Create a cylinder at the final height you want it to.
Set the y-pivot to minus half that height and use the y-scale to let the cylinder grow.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline
User avatar

Eugene Afanasiev

  • Posts: 596
  • Joined: Sun Aug 30, 2015 2:57 pm
  • Location: Russia

Re: How to grow a cylinder from ground?

PostTue Mar 29, 2016 11:28 pm

I'm pretty sure he wanted it to be automatic. Here is the expression to apply:
Code: Select all
{
   Tools = ordered() {
      Shape3D1 = Shape3D {
         CtrlWZoom = false,
         Inputs = {
            ["Transform3DOp.Translate.Y"] = Input {
               Value = 1.66666666666667,
               Expression = "SurfaceCylinderInputs.Height/2",
            },
            ["Transform3DOp.PivotNest"] = Input { Value = 1, },
            ["Transform3DOp.Pivot.Y"] = Input {
               Value = -1.66666666666667,
               Expression = "Transform3DOp.Translate.Y*-1",
            },
            Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["SurfaceCylinderInputs.Height"] = Input { Value = 3.33333333333333, },
            ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 792, 317 } },
      }
   }
}


The science behind it is:
you take 1/2 of Y scale(or Height) of an object and link it to Y transform.
__
--[[BMD's cameras and Resolve all-post workflow evangelist
My old stuff: http://www.youtube.com/rebelorelse
Debug: ALIENWARE 17 R3 (Win 10, i7 6820HQ, 32 GB RAM, GeForce 980M 4GB.]]--
Offline
User avatar

Eugene Afanasiev

  • Posts: 596
  • Joined: Sun Aug 30, 2015 2:57 pm
  • Location: Russia

Re: How to grow a cylinder from ground?

PostWed Mar 30, 2016 2:28 pm

You can also have the other objects at exactly the same height that is the mother object
Code: Select all
{
   Tools = ordered() {
      Shape3D1_1 = Shape3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["Transform3DOp.Translate.Y"] = Input {
               Value = 1.07142857142857,
               Expression = "SurfaceCylinderInputs.Height/2",
            },
            ["Transform3DOp.PivotNest"] = Input { Value = 1, },
            Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfaceCylinderInputs.Radius"] = Input { Value = 1.14285714285714, },
            ["SurfaceCylinderInputs.Height"] = Input { Value = 2.14285714285714, },
            ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 1204, 265 } },
      },
      Transform3D1 = Transform3D {
         Inputs = {
            SceneInput = Input {
               SourceOp = "Shape3D1_1",
               Source = "Output",
            },
            ["Transform3DOp.Translate.Y"] = Input {
               Value = 6.33333333333333,
               Expression = "Shape3D1.SurfaceCylinderInputs.Height",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1315, 265 } },
      },
      Merge3D1 = Merge3D {
         Inputs = {
            SceneInput1 = Input {
               SourceOp = "Shape3D1",
               Source = "Output",
            },
            SceneInput2 = Input {
               SourceOp = "Transform3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1307, 320 } },
      },
      Shape3D1 = Shape3D {
         CtrlWZoom = false,
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            ["Transform3DOp.Translate.Y"] = Input {
               Value = 3.16666666666667,
               Expression = "SurfaceCylinderInputs.Height/2",
            },
            ["Transform3DOp.PivotNest"] = Input { Value = 1, },
            Shape = Input { Value = FuID { "SurfaceCylinderInputs" }, },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            ["SurfaceCylinderInputs.Radius"] = Input { Value = 1.14285714285714, },
            ["SurfaceCylinderInputs.Height"] = Input { Value = 6.33333333333333, },
            ["SurfaceCylinderInputs.ObjectID.ObjectID"] = Input { Value = 2, }
         },
         ViewInfo = OperatorInfo { Pos = { 1190, 320 } },
      }
   }
}
__
--[[BMD's cameras and Resolve all-post workflow evangelist
My old stuff: http://www.youtube.com/rebelorelse
Debug: ALIENWARE 17 R3 (Win 10, i7 6820HQ, 32 GB RAM, GeForce 980M 4GB.]]--

Return to Fusion

Who is online

Users browsing this forum: No registered users and 10 guests