Adobe Flash CS4 – Motion Editor Z Depth – Preliminary Thoughts
Balind on 23 Nov 2008 | Musings

One part frustration and one part fascination. CS4’s motion Editor and 3d capabilities are both exciting and annoying at the same time.

My colleagues and I have been playing with our copies of Flash CS4 the past week and the developers and designers alike seem to have a general consensus. Our over-all attitude is a combination of both, pumped and confused.

Z Property
This is kind of like a dream for me on some level. Being able to manipulate a movieclip in 3d space really suits my animation and interactive style. More importantly it means I can execute my 3d Flash ideas myself, rather than relying on a developer to build them in Papervision.
I’ve begun animating the Z property both in code and on the timeline and have found some unexpected results. Sometimes I’ll push a clip straight backward into space then when I publish, it’s moving from a different point on the stage. I’m sure this has to do with setting the vanishing point of the parent clip or something simple like that, but in my preliminary work I’m yet to detect an obvious pattern.

Z Property: Update 11.27.08
I’ve gotten the hang of working with Flash’ Z property and while it’s definitely got potential, I have to warn you it’s clearly in its baby stages. Adobe released this functionality way too early, I’d use it sparingly and not on any client work until you learn the in’s and out’s. For starters you can’t use a mask within a movieclip that uses Z depth, nor a blend mode. But that’s nothing. More concerning is the never ending issues I’ve run into working with clips that have a Z depth… inexplicable results with basic code and timeline animation forcing me to formulate new methods to accomplish simple tasks in order to workaround these odd behaviors. The Z property is as limiting as it is freeing.

Motion Editor
I’m reserving judgement on this newly developed aspect of Flash. While it seems to be more complex and powerful It doesn’t feel intuitive at all, at this point. It seems you can control the easing of an entire layer of animation with one long bezier curve that you add keyframes to manipulate. Once I’m more familiar it’ll feel logical, but for now, it feels buggy and weird.
I have high hopes the Motion Editors brilliance will shine through soon because I’ve been doing all my animation purely with code for years now and while I’ve gotten really fast, it’s still sometimes faster to do things on the timeline, it just feels limiting when you get used to the power of animating with code. I’m excited about the prospect of using the timeline to animate more often.

Motion Editor: Update 11.27.08
The new way of tweening on the timeline in Flash is not so much more-powerful as it is, just… different. Little bit more like After Effects. It’s renewed my interest in timeline animation but I’m not certain I can do anything now that I couldn’t before.

I don’t want to bag on Adobe because I obviously love their products and a good friend of mine works for them but… I feel like this release was rushed – likely due to a mandate from Adobes marketing department that they release new-and-improved software every couple years. Since they’re not making any new products, that would be how they make their money. I for one would have preferred if they waited another year before releasing CS4 and sorted out some of the Z property issues so it wouldn’t be so bitter-sweet.

Sam on 23 Nov 2008 at 11:27 am #
thanks for the thoughts Balind. I agree these new attributes to Flash CS4 are exciting, but awkward to get used to. I’ve only been playing with them for a week now and still not comfortable to officially switch from CS3.
I’m interested in your thoughts about the 3D layers aspect to this latest version. You think Flash CS4’s new 3D capabilities will obsolete 3D Flash engines such as Papervision/Away 3D?
Balind on 23 Nov 2008 at 11:37 am #
No I don’t think the new Z property will obsolete Papervision and Away 3D but it will reduce their use. Papervision gives you the opportunity to import 3d models into Flash, set up scenes with a camera – so it’ll always be of value. But giving ordinarily flat designs and animation some depth and interactivity in the 3rd dimension is priceless and now at my fingertips. Mouahaha.
Richard Forbes-Simpson on 26 Nov 2008 at 3:17 am #
it’ll be interesting to see whether future releases will integrate a 3d engine just as good as papervision.. perhaps also tighter integration with other 3d apps like studio max and maya.
Alwyn on 26 Jan 2009 at 6:37 am #
The biggest problem I find with the new Z-property is that there is no native depth management. I find this a total misstep in the whole ‘native 3D support’. Ok it is not so hard to implement a piece of code to do this but I have noticed recently that for instance this (http://theflashblog.com/?p=470) method is not bulletproof at all.
The good side is that ppv and away3D can now leverage the native 3D capabilities. Providing (hopefully) more powerfull and stable 3D engines.
erik on 26 Feb 2009 at 12:05 pm #
just to weigh in, I’m just thumbing around and am already disappointed, however the UI is great! Coding still seems eons ahead of any of the new animation properties they included. To bad I’m not about to pick up PV, no time, would rather just hire a programmer, but the argument is that AS3/CS4 allows for 4×4 rendering methods which multiply the speed and capabilities of programs like PV. I’m sure some superstars out there will make some light of the new changes through code though.
Luiz Gama on 30 Jul 2009 at 9:49 am #
Hi. Actually you can achieve masking of a movieclip moved in Z depth.
You have to explicitly add the mask movieclip to the display list, and then set the mask property of the masked movieclip.
example:
package {
import flash.display.MovieClip;
class ZMaskTest extends MovieClip {
//movieclip and its mask are on the timeline
//of the ZMaskTest libraried movieclip
//mc has a 3d transformation on the timeline
public var mc:MovieClip;
public var mask:MovieClip;
public function ZMaskTest() {
//hack to force creating a matrix3D for this object
this.z = 0;
//masking of 3d transformed movieclips is achieved through explicitly
//adding the mask movieclip to the display list,
//and then set the mask property of the masked movieclip.
addChild(mask);
mc.mask = mask;
}
}
for more info, read: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e0b.html