Jump to: Board index » General » Fusion

Unsteady Position

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

Jamie Dickinson

  • Posts: 356
  • Joined: Thu Aug 22, 2013 7:38 am

Unsteady Position

PostWed May 10, 2017 3:55 pm

I'm trying to use a Transform node to remove the motion of a Tracker node (with a 2 point Track to stabilise) so that I can do some paint in between. I can get Transform to remove the Angle and Size perfectly, by connecting those to Unsteady Angle and Unsteady Size - but connecting the Transform Centre to Unsteady Position doesn't remove all the of the motion. It should add an inverse of what the tracker added when it stabilised. What am I missing?
Offline

Kel Philm

  • Posts: 611
  • Joined: Sat Nov 19, 2016 6:21 am

Re: Unsteady Position

PostWed May 10, 2017 7:49 pm

I usually create a Transform and attach the steady center, axis, rotation attributes then select invert transform which goes after the paint. I found this after having the same probs as you.
Offline

Jamie Dickinson

  • Posts: 356
  • Joined: Thu Aug 22, 2013 7:38 am

Re: Unsteady Position

PostWed May 10, 2017 8:19 pm

Thank you! I thought I'd tried that at some point but obviously not! Works perfectly now. I'd still be interested to know why Unsteady works for size and angle but I couldn't find a way to make Centre (with or without Pivot/Axis) to work. THanks again though
Offline
User avatar

Bryan Ray

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

Re: Unsteady Position

PostWed May 10, 2017 9:18 pm

I usually just duplicate the tracker, connect the output of the paint to both inputs and use FG only mode to destabilize. Still, the Unsteady position should have done what you need; sounds like there may be a bug there.

edit: There's a script for Fu7 and earlier called Destabilize Transform that automatically links everything up, and it does, indeed, use the Steady outputs and inverts the Transform. I don't know how much doctoring this thing needs to be used in Fusion 8, but here's the code:

Code: Select all
------------------------------------------------------------------------------
-- Destabilize Transform, Revision: 2.0
--
-- tool script
--
-- Connects transforms / merges to trackers.
--
-- written by : Isaac Guenard (izyk@eyeonline.com)
-- updated by: Sean Konrad (sean@eyeonline.com)
-- written    : August 28th, 2003
-- updated : Jan. 9, 2005
-- changes : updated for 5
------------------------------------------------------------------------------

local tracks = {}
local names = {}
local id = tool:GetID()

local Mrg ="Merge"
local XF  = "Transform"


-- is this a transform?
if tool:GetID() ~= Mrg and tool:GetID() ~=  XF then
   local err  = "This script is designed to connect a transform tool to the "..
               "unsteady outputs of a tracker. You must select a transform "..
               "or merge tool."
               
   comp:AskUser("Error!", {
         {"Description", "Text", ReadOnly = true, Default = err, Wrap=true, Lines = 5 }
         })
   return
end


local toollist = comp:GetToolList()
for i, v in pairs(toollist) do
   if v:GetID() == "Tracker" then
      table.insert(tracks, v)
      table.insert(names, v:GetAttrs().TOOLS_Name)
   end
end

-- if so find all trackers
if table.getn(tracks) == 0 then
   print("There are no trackers in this comp!")
end

-- display dialog of trackers
local desc = "This script will connect the controls of a tool "..
         "to the Steady Outputs of a Tracker. It will then invert "..
         "the transformation to produce to apply the tracked motion "..
         "to the image input of the transform."

local ret = comp:AskUser("Select a Tracker to Connect To :", {
   {"Tracker", "Dropdown", Options = names },
   {"Size", "Checkbox", Default = 1, NumAcross=2},
   {"Angle", "Checkbox", Default = 1, NumAcross=2},
   {"Position", "Checkbox", Default = 1, NumAcross=2},
   {"Axis", "Checkbox", Default = 1, NumAcross=2},
   {"Description", "Text", ReadOnly = true, Default = desc, Wrap=true, Lines = 5}
   })

   if ret == nil then
      return
   end

local tracker = tracks[ret.Tracker + 1]

comp:StartUndo("Destabilize Transform")
   
   -- connect xform parameters to tracker steady inputs
   if ret.Position == 1 then
     tool.Center:ConnectTo( tracker.SteadyPosition   )
   end
   
   if ret.Size == 1 then
      tool.Size:ConnectTo( tracker.SteadySize )
   end
   
   if ret.Angle == 1 then
      tool.Angle:ConnectTo( tracker.SteadyAngle )
   end
   
   -- the merge tool has no axis,
   -- so skip this if the tool is a merge
   if ret.Axis == 1 and id ~= Mrg then
      tool.Pivot:ConnectTo( tracker.SteadyAxis )
   end

-- invert to convert the transformation
   -- from stablize to unstabilize
   tool.InvertTransform = 1

comp:EndUndo(true)

-- done
return

Bryan Ray
http://www.bryanray.name
http://www.sidefx.com

Return to Fusion

Who is online

Users browsing this forum: bentheanimator and 64 guests