Copy link to clipboard
Copied
Hey, everyone. So, I was working on an action in Photoshop that will take the currently selected layer and force it to 100% opacity then take the layer directly below it and force to 50%. The layer below that one is then forced to 25% while all other layers are changed to no visibility. I also have the action linked with a layer select event so that it plays every time I change active layers.
It works fine up until the end where repeating turning off the visibility of other layers since there really isn't a way for Photoshop to record it. I tried using the "show/hide all other layers" option, but the action manager records the instance with unique individual layers. You can see this at the very end of the action where it discretely refers to "layer 13,12, and 11" (These are renamed to "turnOff, turnOffCopy, and Background" in the layer panel). As well, I checked the event listener log and it refers just to the discrete layers.
I checked the event listener and it was giving discrete layers as well. Does anyone have an idea of how to work around this? Possibly a way to invert my current layer selection that the action manager can recognize?
Thanks in advance!
P.S. I'm trying to use the action so that I can create an onion skinning effect for animating. It's just a pain to keep going back and forth between layers since there isn't a shortcut for changing layer opacities quickly.
Hi
Depending on what you are doing exactly, you may be able to use use a video timeline which has onion skin settings:
Just a thought
Dave
Copy link to clipboard
Copied
I suppose you should use a proper Script right away.
Maybe ask for help over at
As for an Action-workaround maybe you could utilise a Group and alt-click its visibility icon.
That does not seem to record the name or id of the Layer.
Also: Are you sure Photoshop is a good choice for the task? Might the thing not also be achieved in AfterEffects?
Copy link to clipboard
Copied
Yeah, I started out with trying to write a script but the API was too cumbersome IMO. Since much of the work gets done in the Action Manager side of things anyways, I just thought to stick with recording actions. The event listener essentially outputs the same code for both anyways. If only there was a way to add in new events for the listener to follow then maybe it would be a little more helpful. Here's what I ended up with in my action and it works pretty well:
Thanks for the reply though! Also, is it common for people to do pixel animations in after effects? I'm not very familiar with the program so forgive me for my ignorance . I'll look into it, though!
Copy link to clipboard
Copied
Yeah, I started out with trying to write a script but the API was too cumbersome IMO. Since much of the work gets done in the Action Manager side of things anyways, I just thought to stick with recording actions. The event listener essentially outputs the same code for both anyways. If only there was a way to add in new events for the listener to follow then maybe it would be a little more helpful.
I am not sure you appreciate the difference between Photoshop Actions and Photoshop Scripts.
The code recorded with ScriptingListener.plugin can be used in JacaScript in ways that Actions simply don’t offer, including conditional-clauses, for-clauses, evaluating properties, calculations, etc.
Copy link to clipboard
Copied
Hi
Depending on what you are doing exactly, you may be able to use use a video timeline which has onion skin settings:
Just a thought
Dave
Copy link to clipboard
Copied
Thanks for the advice Dave! I actually ended up figuring out how to do what I wanted with the action, but the onion skinning feature is nice to know about for future reference. I ended up just turning off the opacity for all other layers instead of turning off visibility and used the "Alt + Shift + >" shortcut for selecting above and below the layers that I wanted to show. However, I ended up having to add a few "buffer" layers so that the action wouldn't wrap around the layer stack if I selected the layers on the end.