Skip to main content
dkt0
Inspiring
March 26, 2025
Question

Motion Blur - Accessing Layer's Transforms

  • March 26, 2025
  • 2 replies
  • 6887 views

Yo

 

I've been trying for quite some time to make Motion Blur as a normal effect plug-in and I want to ask if it is even possible. Can I access the layer's transforms through a normal effect plug-in? What do I need to use?

 

I wanna make sure if it is possible or not. The only other way is making it an AEGP, right? I would like to avoid that.

2 replies

Community Expert
March 26, 2025

I don't know if this will help with what you are trying to achive or not, but the third-party plugin ReelSmart Motion Blur by RE:Vision Effects is well known for applying a natural-looking motion blur via an effect as an alternative to the built-in Motion Blur Switch.

dkt0
dkt0Author
Inspiring
March 26, 2025

I know about RSMB, but I want to code my own Motion Blur plugin. Thanks anyway.

Community Expert
March 26, 2025

either AEGP_GetLayerToWorldXform or AEGP_GetLayerToWorldXformFromView will get you tra transformation for a given time, which you can use to calc motion blur.

however, as for the rest of your question, it's a bit too broad. can you explain what you're trying to do in more detail?

dkt0
dkt0Author
Inspiring
March 26, 2025

Thanks. 

 

At least now I know I can make it. Any simple example of how to use those to access the transforms? Would be helpful tbh.

 

And for the rest of the question, I was talking about making Motion Blur as an AEGP (Artisan ig) if making it a normal effect plugin was not an option.

 

Also, for a tiles effect, I use the same stuff, right? I need to access the layer's transforms for that one too.

Community Expert
March 26, 2025

if you're indeed making an artisan plugin, then we're entring the twilight zone...

first, let's tall 2 things apart:

1. the layer texture, where plug-ins render their output pre-layer-transformation, and the output is a 2d, untransformed image that's in the same coordinate space of the original layer image.

2. the layer transfomation, where the ready-to-use texture is then 2d or 3d transformed by the artisan and composited into the comp buffer.

 

now. "classical" motion blur, is where the transformation (clause 2 in the paragraph above) is repeaded multiple time in intervals between the transformation values of 2 points in time (usually the current time, and some point between the current time and the next frame's time).

some effects, such as prticale systems or element 3d, are not transfomed by the artisan, but instead mimik the comp's perspective and output an image that looks transformed even though the texture gets compsited at the layer's "rest" position in 2d.

 

now we're getting somewhere.

if you want to replace the comp's "built in" motion blur where layers move in 2D or 3D, then your can either write an artisan that does the WHOLE process of transforming and compositing, OR:

1. mimik the whole movement of the layer and have a simple layer plugin render the transformation along with the motion blur onto the layer texture, and the user would do that on an untransformed layer as he would with 3D effects.

2. ahve the layer transform normally, but you just add motion blur to the texture. that is tricky but possible. you'll need to deal with projections to tell what the next transformation of the layer would look like efrom the camera's point of view, and where that lands on the original layer at it's current position, and then blur the layer's image from it's rest position to the projected target position... if done correctly, you'll get a natural looking motion blur without forcing the user to work on a flat image and without writing an artisan. alas, in such a case i fail to see the point...

 

again, if you lay out the problem you're trying to solve, then parhaps i could help with a better strategy.