Hi, is it possible to have a 2D [X,Y] UI input without the target?
I'm making a plugin that needs a 2 dimensional input, but the target slides around when the user adjusts the values, which is very distracting. I grouping 2 inputs inside a topic, or using a 3D point works but both are undesirable. Is there simply a flag that can be set to disable the target? Sorry if this is such a silly question, I have looked but can't find anything obvious. Thanks in advance 🙂
To my knowledge it's not possible. The really roundabout way would be to implement your own arb param that has the same behaviour but doesn't draw the composition target. I settled for having an X and Y slider :"(
Thanks James, hope you're well mate. I'll look into that but might settle for X and Y sliders, or use a 3D Point and ignore the Z. Takes me a while to get back into the SDK zone after months of animation projects. Must remember to annotate my code more! All the best, and thanks again 🙂
No problem James 😄 Just curious, won't the 3D point param have the same issue as the 2D point param? Anyway, keen to see the result when you finish the plugin if it's going to get a public release.
Oh boy, I thought that might work but yes you're right it does have the same problem :'(
Sadly I doubt it's useful to anyone. It basically allows me to visualise a large number of points that are usually calculated by lengthy expressions. I can then animate with a more responsive comp and switch back to the expressions when rendering. I have a script to automate entering the 3d points into the plugin code, then the plugin has to be rebuilt. Sounds crazy but really helps workflow.
Hey James, I was just checking out your Shadow plugin, it's awesome, i'm gonna buy a license for my work! You should make another version that bevels, because existing bevel plugins are crap. Simply combining two of your inner shadows would do it, one for shadows and another for highlights but with the highlights last with a 180 degree offset. However I'm guessing if they're combined into a single effect it will be much faster and save the need for users to link the 180 degree offset and instance the other settings via expressions. Although maybe it would be better if the plugin has a checkbox to lock the highlight and shadow size/softness togther. Anyway, just an idea, hope it helps! BTW - have you ever managed to access path data from shape layers? That's still bugging me at the moment and might be handy in the future, although 'd still have to manually copy 3d points into my plugin
Thanks for the idea! I've never considered it because I've never made anything good with the bevel effect haha (though I'm sure other people have). Do you have any good references?
You can access path data from shape layers through a hack of linking the shape path to a mask path, then inside the plugin accessing that through the Mask or Path suites. Unfortunately it doesn't work for shape presets (eg rounded rectangle, star tool) as they don't have a path param that can be linked to through expressions.
You're welcome! I've used the layer styles bevel to add a soft subtle 3D effect. It sells the illusion reasonably well but messes up your z depth in 3d scenes unless you stack the layers correctly, but that limits the layout. I'm guessing your plugin won't do that 😉 which would make it really handy, especially with all the different settings.
Wow thanks, that's a nice hack! Only problem I found with masks is the data your plugin gets isn't the same as the shape layer path data that your expressions can read/write. The mask data is in screen space and includes transforms and camera projection. Not great if you apply your plugin to a moving 3d layer. Need to access the masks a static 2D layer, which is messy. Unless there's a local space option for the mask data that i've overlooked??? LOL
My next hurdle is mastering sequence data. I'm defining so many points during render, when they could be defined once when the plugin is applied and saved within the project file. Have you tried this before?
Oh good point, that's the main case I've used it myself. Making 2D layers appear more 3D with a bevel.
Yes that is a huge issue and it's the same for text (any PF_PathVertex you recieve from AE). AE gives you the data with XY translation, XY scale, Z rotation applied. But not XY rotation, Z translation, or Z scale applied. With the help of Shachar I tried to remove all the 2D xforms so I could then simply multiply it by the 3D matrix. It works correctly in 99% of cases, but not all. I'm not sure if it was gimbal lock or something I was doing wrong. Here's a demo video of my best effort:
Sequence data is easy if there's no pointers involved. Gets much harder with dynamic sequence data. Toby wrote a great pdf on it if you haven't seen it.
Thanks James! Yes it's an abs(pain) lol, that's why i've stuck to hard coding the point data for now. I'm using my own 3d library and really should switch to something more robust. I guess with Cairo the other issue you have is stroke thickness and gradient fills won't inherit 3d transformations. Not sure if Adobe have an API for this? Toby's PDF is brilliant, cheers, I've put that ready for when I've time to learn it. I have a few animation projects lined up now, sadly will need to focus on those. Please have a go at modifying your shadow plugin, be worth having bevel as an added feature or even another plugin in your collection 😉 Do plugins make much profit on AEScripts? I've considered putting things on there in the past, but don't have much time for making everything user friendly maintaining them!
The AESDK doesn't have any way to transform in 3d unfortunately, I'd go with openGL for that since there's a template (though it's now deprecated on OSX). There's also a newer openCL/metal template but you'd need to convert it from compute to a render pipeline.
Will eventually get around to updating SS2! Aescripts can be lucrative depending on how popular the tool is. Maintaining them also requires a fair amount of time.
Thanks that's worth knowing 🙂 Recent bedtime stories have been C++ tutorials, still a lot of fundamental things that'll help. Started programming on a 64K Atari back in the 80s, then QBASIC, QPascal and C++ in 90s... a lot has changed hahaha. I'm using Visual Studio on PC, wasn't aware OSX had issues with openGL.
I'd love to develop plugins as a passive income, but experience tells me the time and effort makes it more of a fulltime endeavour. Please contact me anytime if you'd like to pick each other's brains 🙂
Creating and maintaining a single plugin is definitely feasible as a hobby, go for it! It's hard to predict how popular/lucrative it will be, but if you're half doing it for the fun it won't really matter 🙂