
françois leroy
Enthusiast
françois leroy
Enthusiast
Activity
Jan 19, 2025
02:02 AM
This thread has helped me a lot but I'm stuck on something. I'm trying to set up expressions for an animation of an office chair. I have a 3D null called "null - direction" which controls the path of the chair, and it is set to auto-orient along the path. But I wanted the wheels to have a slight delay so that when the chair turns a corner the wheels take a little bit of extra time to rotate into that orientation.
In order to do this I made a null called "null - getOrientation" and I used the expressions in this thread to get the orientation of the chair, and then I used another null called "null - delay" to delay the orientation by half a second. The orientation of the wheels is pick-whipped to the orientation of "null - delay"
It all seems to work ok at the first corner but when we get to the second corner the chair is turning clockwise but "null - getOrientation" and "null - delay" start turning anticlockwise and we end up with wheels not oriented to the path. I'm attaching a video which I hope shows what I mean. On further investigation it seems to be occurring when the value of sinb reaches the top or bottom of the sine wave curve ie. at 1 or -1.
... View more
Aug 24, 2024
08:48 PM
2 Upvotes
I had the same problem, and I finally got it resolved following these steps. Reset preferences for Adobe Media Encoder. Make sure that Adobe Media Encoder and After Effects are closed in your machine (while following the steps). macOS Quit Adobe Media Encoder and After Effects. Open the Finder, hold Option, and click Go on the menu bar. Click Library and navigate to Preferences > Adobe. Rename the Adobe Media Encoder folder to Old_Adobe Media Encoder. Close the window and navigate to Documents > Adobe. Rename the Adobe Media Encoder folder to Old_Adobe Media Encoder. Windows Open the Run dialog (Win+R) and type %appdata%. Open the Adobe folder, and rename the Adobe Media Encoder folder to Old_Adobe Media Encoder. Close the window and navigate to Documents > Adobe. Rename the Adobe Media Encoder folder to Old_Adobe Media Encoder.
... View more
Oct 16, 2022
08:12 PM
James, you sir, are the best. 🙂 Thank you! -Rich
... View more
May 12, 2022
07:51 AM
Vous avez trouvé une solution ? J'ai le même problème...
... View more
Oct 23, 2021
07:22 AM
On of the linked threads is still available on Wayback - https://web.archive.org/web/20111223234233/http://forums.adobe.com/thread/570135
... View more
Aug 06, 2019
07:31 AM
It's normal that they are smoothed. But you should be able to set the tension anyway... What do you get when you read the tangent / vertex values?
... View more
Jun 21, 2019
05:06 AM
Well, I don't know any other way. If you want to get something, you have to send it first...
... View more
Apr 11, 2019
12:17 AM
Glad it works! 🙂
... View more
Mar 12, 2019
09:11 PM
Make sure {10,10} is inside the range of available pixels (smaller than the size of the layer) and make sure check.u.ld is valid (and not checked in yet!). Also, the example only works in 8 bits (for 16 bits replace PF_Pixel by PF_Pixel16, same for 32 bits...), so make sure your project is 8 bits for now... Cheers, François
... View more
Apr 06, 2019
04:41 AM
there are some blind spots in their reliability. for instance, some commands are sent to the hook command when activated by clicking in a menu, but not so when using keyboard shortcuts. you'll just have to experiment and see.
... View more
Nov 25, 2018
10:52 PM
Oh, you're right, I made a mistake. It multiplies to stay in the range 0 - 65535, not 0 - 32768... It is the accepted range with OpenGL, like described here: graphics - What is the correct way to sample a 16-bit height map in OpenGL - Stack Overflow But I must say I gave up on 16 bits... I just convert my 16 bits textures to 32 bits. The web is full of 16 bits related issues, and I don't understand a half of what they say 😉
... View more
Aug 10, 2018
08:28 AM
Yeah, I wondered, as the comments somehow don't match the actual code, they use an atomic instead of a unique pointer.
... View more
Jun 07, 2018
12:07 AM
I solved the problem by changing the integers in GG_time to current_time and time_scale with time_scale. It now works as intended.
... View more
Jun 28, 2018
01:50 PM
in short: AE calls the pre-render function, and asks the effect "so... what's the state of all the info that will affect this frame's render?" (besides the params and inputs ect that AE checks by itself). your effect can then factor in some sequence data bit, comp switches, data from other layers, NBA playoffs standings, whatever you see as necessary. if the resulting guid (or checksum, if you will) is the same is the one stored in the frame cache, AE will use the cached frame. if not, a render call will be sent. what are the limitations? you still rely on AE to send over the pre-render call to see if a render is needed. if your plug-in relies on some VERY obscure stuff such as the name of a layer in some unrelated comp... AE might not think it needs to check your effect for a possible change. i think a comp switch will not give you such a problem, but you'll just have to check and see... On Thu, Jun 28, 2018 at 11:38 PM, françois leroy <forums_noreply@adobe.com>
... View more
Dec 15, 2017
05:18 AM
thanks.
... View more
Dec 13, 2017
11:03 PM
OK, for future generations, I'll answer my own question 🙂 No cmd was sent cos' I wasn't returning the good PF_Err during previous frames rendering. I was returning Interrupt_CANCEL instead of OUT_OF_MEMORY. Somehow, previous versions of AE could deal with it, not anymore (probably the UI / Render thread separation). François
... View more
Dec 07, 2017
07:28 PM
Then you'll have to try with options available in CS6... Check in the list above, you'll find what you need. Cheers, François
... View more
Sep 30, 2017
02:49 AM
1 Upvote
Hi! I think what you're looking for is WorldTransformSuite1()->transform_world(). It takes 1 (or 2 if you use MotionBlur) matrix. There you can change the values of the matrix as you wish to perform any 2D transformation. Cheers, François
... View more
Oct 11, 2017
10:48 AM
Hi tomb23568765! there is one workaround: expressions can read a file, and grab data from this file, like this: $.evalFile("~/Desktop/myFunctions.txt"); So, you can write an AEGP plugin that creates a "myFunctions.txt" file on your desktop, and fill it with anything you want, like: function getThingamabob(num, question) { if (num == 2 and question == 'yes') { return true; } else { return false; } } Then, your expression will look like this: $.evalFile("~/Desktop/myFunctions.txt"); getThingamabob(2, 'yes') Cheers, François
... View more
Jul 25, 2017
05:18 AM
1 Upvote
Baking can be long, but may be not as much as you expect (I was surprised too!) The best solution I found is to actually keyframe only current time when the user's doing something (so it's lightning fast), then bake 'in the background' at idle time, one portion of the workarea after the other. This way, if the user modifies something while baking is still occuring, I can cancel keyframing and update. But in your case, if you only modify a float slider, I guess it'll be super fast anyway and you won't have to deal with delayed baking... One more thing: if you delete the keyframes (not sure you need to...) if you follow the normal way, it'll be super long (no idea why, by the way) but if you use the workaround described in the thread above, it's almost instant. Cheers, François
... View more
May 05, 2017
01:14 AM
Thanks 🙂 May be the layer's matrix could give you some informations, and compare it to comp's size... Just a thought though, not sure at all. Cheers, François
... View more
Mar 29, 2017
03:24 PM
Hey françois leroy, Yeah, that was what I ended up doing. I created multiple invisible layer parameters and a button parameter (that was visible). The user can select all the necessary layers and clicking the button parameter will assign those layers to the layer parameters.
... View more
Mar 23, 2017
10:42 PM
I don't know if you can pass a pointer (I doubt it, but you can try!)... Can you give more details about what you try to achieve? There must be workarounds to find... May be you can just delete the effect at idle time and do all the rest during paramChange (this way you have access to the data you need). Cheers, François
... View more
Aug 10, 2018
06:03 AM
Thanks, i remember seeing Mask Avenger 2 on AEScripts, a nice plug-in! Also like your BAO Bones but never got round to use it in any projects because I'm mostly doing vector animation
... View more
Mar 20, 2017
06:19 PM
See, I am totally dumb with SmartFX! 😉
... View more