D

15 Messages

 • 

250 Points

Fri, Jan 15, 2021 4:50 PM

Closed

Interaction between Smart Object, Smart Filter(s), Layers and Content-Aware Fill

I recently encountered a problem in Photoshop using a combination of smart object, layers and content-aware fill.

Currently, there’s a lot of push for non-destructive editing using Smart Objects and Layers.  And a lot of push for the smarter tools like Content-Aware fill and similar.  Unfortunately, they don’t appear to play together very well or consistently in Photoshop.

I opened an image and created a smart object.

I then made a selection on a blank layer and used Content-Aware Fill to remove some distracting elements.  Repeat as many times as necessary to clean up the image.

I then realized I needed to make an adjustment to the image so I added a Camera Raw Filter to the Smart Object, went into ACR and changed settings.

When I returned to Photoshop, the layer from the Content-Aware fill no longer matched the rest of the image in the Smart Object.

The brute-force option would be to trash all the Content-aware fill layers created by doing the image cleanup, which could force redoing a lot of time-consuming work.

Creating the Smart filter FIRST, THEN doing the Content Aware work isn’t useful because as the image evolves I MAY want to go BACK into the smart filter to make additional adjustments.  OR I may want to add something like a Shadows/Highlights Smart Filter later.  Or use ANY smart filter that would cause a mismatch with any pixel-bearing layer derived from the Smart Object.

The option of creating multiple layers of nested Smart Objects is not remotely appealing and I suspect would be rejected by most users as too convoluted and opaque.

I would LIKE the ability to have Photoshop update layers derived from a Smart Object with updated pixels resulting from the Smart filter.

Something like “Layer ‘X’, your pixels are based on smart object in layer ‘x-4’, and a smart filter changed how that smart object is perceived, so I’ll update your pixels with new ones from the current perception of the Smart Object.”

Or even better, a Preference that could be set to tell Photoshop to “Keep any layer with pixels derived from a Smart Object updated with the current view of the Smart Object.”

15 Messages

 • 

250 Points

1 y ago

Is there anything I need to do with this to be sure someone from Adobe looks at it?  Or does it automatically go into some queue?  'Cause this is reducing the utility of Smart Objects in an environment where tools like Content-Aware fill are also in use.

25 Messages

 • 

356 Points

1 y ago

Did you update the content of the smart object?

(Layer-> Smart objects -> Update content)

If the smart object is below the layers where you did the content aware adjustments, that's the behaviour expected.

Ideally, the smart object should be at the top of your stack (or at the top of the layers of its pertinence), so that you can modify/updated its content based on the layers below.

(edited)

15 Messages

 • 

250 Points

1 y ago

I'll have to see how "update content" works, but as far as I know, I didn't update anything.  the modifications are because of the smart filters ON the smart object. What's NEEDED is a "update content" that not only updates the smart object from everything that's derived from the smart object.  I"ll have to see if "update content" does that, but I suspect not.

As far as I know there's no option to put the content-aware fill below the smart object.  As the original post said - I UNDERSTAND the "current behavior" but in the "now" environment of AI tools and Sensei and content aware fill and all the intelligent tools coming, along with the emphasis on smart objects, non-destructive editing and using layers, that "current behavior" needs to do a better job integrating with the tools that are being pushed so hard...

(edited)

25 Messages

 • 

356 Points

Though it would be nice to have it as a smart filter itself, content-aware fill is, as any other "painting" function, a destructive adjustment, and therefore can't retain any link to the layer it's been generated from.

That "knowledge" is what basically makes a smart object, well, smart.

That's why, ideally, the smart object should contain and stay on top of all the layers of its pertinence, not the contrary, otherwise you loose the functionality that "update content" offers. 

You need to consider the smart object(s) as the hierarchically highest layer(s), more like container(s) of other stuff rather than a surface with a bunch of pixels on it.

Even Affinity Photo uses the same concept with its live filters, they stay above the content, not below.

One way you can quickly fix is this: if you apply a filter to a smart object below some other content, and that content (like in content aware) has been created based on that smart object, you can easily press "Ctrl/Cmd+F", and the same filter you applied to the smart object will be applied to the layer you created above.

15 Messages

 • 

250 Points

1 y ago

Again, I understand what you're saying...  Content-Aware Fill could be destructive, which is why each one, of which there may be a bunch, is output to a NEW LAYER.  So, it's not destructive.

I'm just a dumb user, but it seems like having NO "knowledge" of what's going on with things like layers that are linked to the smart object is the OPPOSITE of "well, smart."

And I understand that TODAY, the smart object has no clue what layers are derived from it.  But WE do.  And at a MINIMUM, a command to tell the Smart Object and it's smart filters "Hey, I'm using pixels from you, so UPDATE ME any time you get updated, should be available.  It should be automatic.  I'd HOPE Adobe would be better and more advanced than Affinity.

I'll try the Ctrl/F thing, but that's not a solution, it's a kludge.  It sounds like it means updating everything, every time the Smart Object is altered by a Smart Filter.

What I do know is I've got a room full (virtually full) of people learning Photoshop.  And being hammered to be non-destructive and use layers and Smart Objects, and Sensei tools and AI, and as it stands right now, it means "Well, smart objects make a cute DEMO, but in reality they're a lot less useful than they need to be.  And all those layers you're creating that derived from data in the Smart Object - they're going to be a major PITA to update and maintain 'cause you're going to have to take every smart filter and manually update every layer every time you update the smart filter." 

I think it may get a lot harder to sell this whole "smart technology" non-destructive editing model once that's explained...  Unless I'm missing something simple and you've got a way to do layer-based processing from Smart Objects AND keep them "hierarchically the highest layer", 'cause those two things don't sound compatible to me.

But, it's either a problem or it's not.  These tools should either work together - as SEAMLESSLY as possible, integrating so it's not necessary to do dumb, repetitive manual changes, or not.

25 Messages

 • 

356 Points

I see your point: you need parametric adjustments (retouch), where each source point is stored together with its target point by the software, and it' available only in lightroom and camera raw at the moment.