How can I view and edit Fx Tree masks shape keys?

October 15th, 2005 by Luc-Eric - Viewed 3396 times - Popularity: 9%




It’’s not hard.

The tricks bellow work with all mask shapes, and the “Shape Paste” and “Shape Cutter” Fx Tree operators in the “Composite” group , but they do not work with “Vector Paint” or the “Mask Shape” operator (in the “Image” group).

First, if you select a mask shape in the Fx Viewer, and pop a floating Animation Editor, you”ll find all the FCurves for all the points of the shapes.

You can also open the Animation Editor from the by right-clicking on the Auto button at the top left of the property page. This totally hidden menu will open the Animation Editor scoped on the inspected objects.

Once you”re in the Animation Editor, you could switch on a mini-dopesheet mode by turning on View|Meta Curve Region.

Actually, ignore that and switch to the Dopesheet, and turn off Edit|Align Track View Tree View.

Fx Tree And Selection

Now you can tell that there is something funky going on with selection and the Fx Tree. Here’’s what you need to know.

If you select shapes in the Fx Viewer, the are selected “for real” in XSI’’s selection list (which allows you, for example, to press [enter] to get their property pages) and the Animation Editor (”AE”) or Dopesheet (”DS”) will recycle if you forget to lock it.

If you press the Edit icon (”E”) on an Fx Tree operator, it will select it in XSI’’s selection list.

To get your AE/DS scoped on all the shapes you”re working on, click E on the Fx Operator to refresh the selection, then lock AE/DS. Then you can get to work without having the dopesheet refreshing when you select a new shape.

The Property Page for Fx Tree Operators is not recyling when you select shapes in the FxViewer, because when it’’s opened by the “E” icon, it’’s set to the ever-obscure “Follow” mode. The icon on the title bar that looks like Kenny from South Park… The behaviour of this is to recycle only if the selection changes to an object of the same “Family”, and Shapes are in a different Family than Fx Tree Operators.

Naturally, we”ll be working on improving this area in the future.

And now for the 10,000$ question.. How Can I copy shapes to another Fx Operator?

If you are going to be using the same shapes in multiple Fx Tree Operators. you should be doing them in a separate Shape Paste Operator and connect the output of that into the Obey Matte input (the blue icon) all operators where you will need them.

This will of course allow you to do the job only once! And the performance will be better, because the result will be cached. Since you can easily manipulate shapes in the Shape Paste node while viewing the output of another node, there is no reason to not do this.. however some people persist in wanting to copy shapes between Operators.

To view and edit different nodes, click on the Edit (”E”) icon on one node to get its tools in the Fx Viewer, then click “V” on the node you want to see the output of. This allows you to edit the shapes in one node, and view what it’’s going to look like down the tree.

But what if you”re really, really want to copy this shape list to another node? You”re going to have to resort to an obscure scripting hack and use the quirky SavePreset script commands.

Here is a script that will create an ”over” node with a couple of shapes, and copy these shapes to a Tint node. The two final lines is the magic, simply replace FxTree.Over and FxTree.Tint with the names of the Source and Destination nodes in your Fx Tree.

NewScene
CreateFxTree
AddFxOp "FxTree", "Over"
Add2DShape "FxTree.Over.sl.GarbageShapes", "Polygon"
Move2DShapePin "FxTree.Over.sl.GarbageShapes.Polygon", 108.5, 221.75
Add2DShapePoint "FxTree.Over.sl.GarbageShapes.Polygon", 63, 273
Add2DShapePoint "FxTree.Over.sl.GarbageShapes.Polygon", 59, 209
Add2DShapePoint "FxTree.Over.sl.GarbageShapes.Polygon", 142, 173
Add2DShapePoint "FxTree.Over.sl.GarbageShapes.Polygon", 170, 232
Add2DShape "FxTree.Over.sl.GarbageShapes", "Bezier"
Move2DShapePin "FxTree.Over.sl.GarbageShapes.Bezier", 337.2, 168.133333333333
Add2DShapePointArray "FxTree.Over.sl.GarbageShapes.Bezier", Array(275, 226, 236, 134, 345, 58, 457, 162, 373, 260)
Move2DShapeRHandle "FxTree.Over.sl.GarbageShapes.Bezier", 1, , -1
Move2DShapeRHandle "FxTree.Over.sl.GarbageShapes.Bezier", 2, 3
Move2DShapeRHandle "FxTree.Over.sl.GarbageShapes.Bezier", 3, , 3
Move2DShapeRHandle "FxTree.Over.sl.GarbageShapes.Bezier", 4, -3
Move2DShapeLHandle "FxTree.Over.sl.GarbageShapes.Bezier", , 38, 55
Move2DShapeRHandle "FxTree.Over.sl.GarbageShapes.Bezier", , -38, -55
AddFxOp "FxTree", "Tint"
SetFxOpPos "FxTree.Tint", 409, 133

SavePreset "FxTree.Over.sl.GarbageShapes", "MyTempShapeList",
SILoadPreset "MyTempShapeList", "FxTree.Tint.sl.GarbageShapes"

One Response to “How can I view and edit Fx Tree masks shape keys?”

  1. Pablo Izaguirre Says:

    I also wrote a humble script to help with that,
    if anybody is interested ;)

    Pablo

Leave a Reply