Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

How Do I make a motion effect that has a position draggable control when used in FCPX

Hi,


I'm tying to create an arrow in Motion that I can use in FCPX to call attention to something on the screen.


So far it's working great! I created a "Final Cut Effect" in motion, added the arrow shape and published things like color, rotation, position, scale and drop shadow. So far so good!


However, to change any of the published parameters, I need to look at the inspector in FCPX and change them there.


I've seen other plugs ins where the on screen object had "handles" where I could drag, resize and rotate the object right on the FCPX canvas.


I can't figure out how to add that to my Motion 5 project, Heck, I don't even know what it's officially called so I can look it up in help!


Any help is appreciated!


- Jack

Posted on Apr 12, 2014 11:53 AM

Reply
9 replies

Apr 12, 2014 3:07 PM in response to BasementJack

The following is specific to just position.


Create a new group -- call it OSCs (onscreen controls -- ranaming is not mandatory -- just a suggestion)


Select the group and add a Filter > Distortion > Poke (actually, many of the filters will have publishable OSCs for use, but Poke is one of the most simple and perfect for position control.) At the bottom of the Poke inspector, check Publish OSC


These next steps are important and mandatory:


Select the Group and in the Group inspector, set the Type to 2D and check Fixed Resolution.


Go into the Properties inspector > Timing and set the duration to the length of the project (by default, this arrangement of the group with the Poke filter will be 1 frame long. If the values are in timecode, type the time length in the Duration field, otherwise type the number of frames of your project [The difference will depend on the timeline setting of Show Timecode or Show Frames.])



For the object you want to control:

Select it (or its parent group) and in Properties > Transform, dial down the Position parameter exposing X,Y,Z.

Right click on X and Add Parameter Behavior > Link. Right click on Y and Add ParameterBehavior > Link.


In the Behaviors inspector, for the Link behaviors, drag the OSCs group to the source object wells.


For each Source Parameter, click on Compatible Parameters and choose:

Filters > Poke > Center > X for one, Y for the other (you must have separate link parameter behaviors for X and Y.)


Your object under control will move immediatly -- this next step corrects the displacement.


At the bottom of each Link behavior you'll see an X Offset for one and Y Offset for the other. Set both of these to -0.5 *.


In order to make the position keyframeable in FCPX, you must publish the Poke Center parameter (and NOT the source object's Position controls!)


* The displacement can be explained this way:

Motion's canvas resolution is independent of the destination video. The coordinate system starts at 0,0 in the center of the canvas and goes from -0.5 on the left and bottom, to 0.5 on the right and top sides -- no matter what the resolution of the video is! Distance is corrected by Aspect Ratio. Coordinate systems of groups are relative, not absolute, so when you add the link from the Poke Center to the position of the group or object, it is offset by 0.5 times the direction resolution (pixel size times aspect ratio.) Long explanation short, this makes features like these in Motion adaptable across all resolutions of video. It's not important that you understand the explanation, just take the offset adjustments between an OSC and an object under link as gospel. You can also use slight variations in offsets to align an OSC with an upper left corner of some object, etc. This is particularly useful if your object contains editable text as the Text Object will always be above the OSC and you'll need to resolve the conflict in order to use both in FCPX.



For more advanced Onscreen Controls, for example: both position and rotation, there are a few filters like Scrape, Target, Stripes (and others) that can be used. Link the Rotation Z parameter to the Rotation parameter of the filter. Some of these filters are automatically offset from 0 degrees so you might have to add the Offset amount to give the starting angle you want for your FCPX effect.


OSCs are not limited to Distortion filters. Several of the Tiling filters have very interesting OSCs and there are a few in Stylize that can be put to use as well (such as Relief).


Any filter you can find that has the option to Publish OSC can be adapted for use with FCPX effects.


HTH

Apr 17, 2014 12:33 PM in response to fox_m

fox_m wrote:

… The following is specific to just position.

Hi Fox,


need your help with a follow-up question.


I'm in the making of an 'Offside Effect' (if you're not familiar with soccer: I'd like to show a yellow line on the field to demo in a freeze, where a player is in relation to another, in the moment the ball is played).


User uploaded file


I'm having here TWO OSC: one is to position a 'grid' in x and y, and another OSC, which defines the camera position in hight = I rotate the line/grid on the x-axis. There's for 'UI-cosmetics' a tiny icon (wingdings) of a cam 'attached' to the 2nd Poke-OSC.


Now, the OSC allows to be moved in x-axis - I don't want/need that!

I just want to raise/lower the 'cam' to catch the right perspective by rotating the grid.


My effect so far works charming good, the camOSC rotates the line and the grid, to position the line to the player the other OSC is in use.Grid and cam-icons are switchable, line transparency controlable, to 'track' perspective, the two OSCs work fine (yes, I neglect cam focal-distance... too much detail, I'm not 'mocha' 😉 )


So, how to switchOFF the x-axis of OSC of the poke filter??

The cam moves only vertical - but that OSC-'knob' shouldn't do either...

Apr 17, 2014 2:51 PM in response to Karsten Schlüter

Hi Karsten,


They do a similar effect for "American football" 😉


If I understand you correctly, you want to restrict the OSC to only vertical movement?


If so, go to the Camera OSC Poke filter and dial down the Center parameter. Right click on the X parameter and Add Parameter Behavior > Clamp. Set the Min and Max value to the x-location on the screen you want the camera to be placed. Set the Min and Max values to the same value from 0 to 1.0 (0.5 being center screen.) Based on your images, I'd estimate setting the Clamp values at about 0.9.

Apr 17, 2014 10:43 PM in response to fox_m

fox_m wrote:

... They do a similar effect for "American football" 😉

I wasn't sure.. tried to understand Baseball - failed.

Wasn't sure, football has ANY similiarties to 'soccer' 😁

and it's called 'offside' too?


All 'sports'-effects I know of, and I like, are invented in US-television, starting with the famous 'sky-cam', super-slow-mo, finally all that 'graphics' and on TV in real-time - awesome!!

______________


back2topic:


grrr, Clamp, for sure! < slapping own forehead >

been there, done that - forgot it.-


plus, I just noticed, for sure I need that controler's x-axis - for camera-rotation...

back to the drawing board...


THANKS, Fox… when done, I'll dare to publish it at fcp.co ....😁

Apr 17, 2014 11:16 PM in response to Karsten Schlüter

They use it for "first downs" and "line of scrimmage" kinds of things.


I was wondering if you wanted to have the camera follow the spatial perspective of the grid? That is, if the grid is vertical, the camera moves along Y, but if the grid were say, rotated -60 degrees topographically matching the scene, do you want the camera to move along a grid line -- more like through z-space?

Apr 18, 2014 1:19 AM in response to fox_m

not realized that - but I had the imagination of a 'rotating' cam, to indicate what's happening, like that (just a non-working sketch:)


User uploaded file


and I think, instead of abusing the Poke filter, I'll use the Twirl: it allows x/y control PLUS rotation.

so, grid position and rotation on one OSC, 'perspective/hight with the 2nd OSC... hmmm


fox_m wrote:

… if you wanted to have the camera follow the spatial perspective of the grid? … - more like through z-space?


but how would your idea look like… sounds intriguing!! 😎

Apr 18, 2014 1:42 AM in response to Karsten Schlüter

Change your OSC to a Target filter (it has a handle to rotate around the Z axis.) If you need rotation around Y and Z axes, then you can build two Target Filters and link their positions so that are always together and set up the "handles" for the two different rotations. I would say try the Kaleidoscope filter except that one of the angle controls will offset the other simultaneously. [There are several filters with a rotational handle, you are not limited to using Target.]


To have the OSC follow the lines of the rotated grid, Link the Rotation X of the Group of the OSC (you might have to place the camera OSC in it's own group) to the Rotation X of the grid. When you angle the grid and the 2D OSC group, when you move the OSC vertically, it will follow the perspective of the grid...



For these, I dragged the OSC from "lower" to "upper" and the X-position is still clamped at the same value:

User uploaded file

User uploaded file


The vertical motion is constrained but the perspective is provided by rotating the same X axis value as the grid. It's a very slick trick.


I would recommend clamping the Y values between the top and bottom of the grid as well so that the camera is always positioned within the range of the grid.


There are some seriously cool tricks that can be pulled off by manipulating the properties of a 2D Fixed Resolution group. I've made custom multi-osc controls in a fractionally sized space on the canvas (my Fun Type Title makes use of a setup like that.) The "miniature" group dimensions have the same 0.0 - 1.0 measurements as full canvas... It's like having two project dimensions in one and they "map" (over Link behaviors) from one to the other seamlessly.

Apr 18, 2014 3:54 AM in response to fox_m

fox_m wrote:

... When you angle the grid and the 2D OSC group, when you move the OSC vertically, it will follow the perspective of the grid...

unfortunately not so:


a) somehow, Target moves counter-intuitive, moving the OSC to the right moves the Grid to the left .. same with the 'rotator': clockwise turns the grid counterclockwise ..


b) and applying the Grids x-rotation to the x-rotation OSC leads to some 'feedback' 😁 fixed that with 'Clamp Source Value' .. but no perspective for my OSC ... hmmm, ...


User uploaded file


need a rest ... brain humming ... 😝

Apr 18, 2014 10:34 AM in response to Karsten Schlüter

You *must* rotate the grid in the negative X direction. Negative X-Rotation values maintain the proper Y directions. If you're rotating the grid's group instead of just the grid -- link the OSC group's X-rotation to the group.


The "perspective effect" for the OSC is more pronounced out at the edges of the canvas.


If your objects under OSC control fly off the canvas? You cannot change the OSC to 3D - it has to be 2D Fixed Resolution.


The Target rotation should "fix" itself when you flip the direction of X Rotation. If not, you can set the Scale to -1 in the Link behavior.

How Do I make a motion effect that has a position draggable control when used in FCPX

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.