Liquify as a Smart Filter is definitively a long waited feature but I found an issue with it.
I made smart object from a layer, applied Liquify, next I change the document ratio with Crop tool...You see, completely different pixels are liquified now. Dissapointing ![]()
I've reported the issue already.
Why that is how smart filters work. When you Change a document smart filter are them redone. If you change the document aspect ratio deleting some content I can well imagine trying to apply a filter like Liquify may well be a mess. No real harm has been done its a nondestructive edit just readjust the setting or discard the smart filter and add a new one you do for the documents new aspect ratio and the layer different content. If you do not want that to happen rasterzise the smart object layer before you crop apply the Liquify..
I'm having trouble understanding why you would think that should work.
Liquify manipulates pixels based on a set of distortions called a "mesh". Pixel position manipulation instructions stored in this mesh decidedly must contain pixel position information.
Changing the canvas size changes the number of pixels in the document, and thus how the position information would apply, I should think.
Adobe would have to re-map the position information if the same mesh is to be applied to a different-sized document. How they do this I don't know, but I can imagine it might be centered or stretched across the image, but I wouldn't expect it to be stuck into the upper-left corner. Do you have information that says it should?
What happens if you increase the canvas size equally all the way around>
-Noel
Noel,
When we enlarge convas size new pixels added without affeection of original ones. I believe the same logic should be behind Liquify mesh resizing. I don't think it's technically difficult to extend mesh the same side as document.
I will tell you why it's a big problem for me. I retouch portraits for clients very often and the usually first step before retouching of skin and color correction is Liquify. So big amount of work should be done based on the Liquify mesh and if later the client will ask to change the document ratio (as they did yesterday) I have to rasterize Smart object or redo everything from scratch. The whole sense of Smart Filter disappears if there is a need to rasterize it I think.
I don't think it's technically difficult to extend mesh the same side as document.
On what experience do you base that assumption?
When you save a Liquify Mesh, then cange the Canvas Size of the document and try to use the Mesh again it seems obvious to me that this will cause a dissonance.
I do not use the Cloud License so I don’t have access to that feature yet, but have you tried converting the Liquified SO to an SO before messing with the Canvas Size?
I think the layer is the same size as it was before the canvas was added and the pixels are the same a square block box on white rectangle size you can test that by turning off the visibility of the liquify smart filter. I'm not on the cloud cant test. The mesh was resized for the new canvas size and has a new size. The recorded setting for the filter are for the old mesh size. The mesh was most likely resized correctly for the new canvas size. However the setting you made were not for that mesh the recorded settings saved in the smart filter are for the old mesh. The old mesh no longer exists the canvas size has changed. Perhaps you can use Liquify advance mode and save the old mesh before changint the canvas size. I do use liquify much and can not use it as a smart filter.
On what experience do you base that assumption?
It's based on my experience of programming and software usage. If the mash can be saved inside of Liquify dialog I think it's difficult to extend it during the document resize and apply again. It's just my humble dabster opinion.
Liquified SO to an SO before messing with the Canvas Size?
Liquify now works as any other Smart Filter connected to the Smart Object layer. I can hide Liquify smart filter before cropping but it doesn't affects the final result.
You're right.
The mesh was resized in horisontal direction for convas size while the layer was extened right with transparency pixels. I tried to transform layer to fill all space of convas and now it fits the mesh perfectly. Anyway it will be great if Liquify algorithm take the curent Smart Object state in consideration.
Even if you save the mesh before the canvas size change can the mesh be loaded for the new canvas size. Canvas size can add and remove canvas. How would one align the old mesh to the size the mesh now must be.
Using Image Size not constraned might me able to distort all layers like you transformed you liquified layer.
I think the underlying issue is that increasing a dimension of the canvas by using Crop Tool or Image > Canvas Size results in a Smart Object being scaled unlike other layer types which are unaltered. Scaling a SO results in Smart Filters being recalculated.
In contrast, decreasing a canvas dimension by cropping or canvas-sizing does not result in SO scaling and a Smart Filtered SO is unchanged.
Therefore, I think the scaling of SO when a canvas dimension is increased is wrong. Fix that and Smart Filter Liquify and others should not be affected by change of canvas size.
I can hide Liquify smart filter before cropping but it doesn't affects the final result.
Nothing to do with what I meant.
Converting the Liquified SO to an SO should fix its Canvas Size, so the Liquify Smart Filter might be maintained properly on an SO in an SO – but if the Canvas Size of the new SO is the old SO’s Layer Bounds then it probably would be no use.
I relatively often use SOs in SOs etc. …
If, on changing the Canvas Size, Photoshop should check all SOs in the document for applications of Liquify that might add a (slight) drag on the operation.
conroy wrote:
increasing a dimension of the canvas by using Crop Tool or Image > Canvas Size results in a Smart Object being scaled
Perhaps I'm not understanding you, Conroy... Doesn't that kind of fly in the face of what Yahor showed in his video? He increased the canvas size to the right and the square just sat there the same size and shape, with new transparency showing up on the right.
I've not been able to see a Smart Object scale with changes to the Canvas Size myself. Maybe I'm not doing what you're suggesting...
-Noel
conroy wrote:
I think the underlying issue is that increasing a dimension of the canvas by using Crop Tool or Image > Canvas Size results in a Smart Object being scaled unlike other layer types which are unaltered. Scaling a SO results in Smart Filters being recalculated.
Increasing canvas size does not scale smart objects. The smart layers embedded object has not changed, only its associated transform position has been adjusted for the new canvas size. The Op saw that when I suggested he turn of the liquify smart filters visibility. What is happing is the liquify smart filter is using s different mesh after the canvas has been resized so its results are different then before the canvas resize.
In contrast, decreasing a canvas dimension by cropping or canvas-sizing does not result in SO scaling and a Smart Filtered SO is unchanged.
.
Yes unlike other type of layers where cropping with crop tool or canvas size these layers mat have pixels removed and in the case of the background layer may have pixels added. Smart layer embedded object remain intact only the associated transform position is adjusted for the new canvas size
Noel Carboni wrote:
conroy wrote:
increasing a dimension of the canvas by using Crop Tool or Image > Canvas Size results in a Smart Object being scaled
Perhaps I'm not understanding you, Conroy... Doesn't that kind of fly in the face of what Yahor showed in his video? He increased the canvas size to the right and the square just sat there the same size and shape, with new transparency showing up on the right.
I've not been able to see a Smart Object scale with changes to the Canvas Size myself. Maybe I'm not doing what you're suggesting...
-Noel
I didn't notice the video, unfortunately.
I happened to be using Lens Correction on a SO when posting. You're correct, normally SO are unscaled by a change in canvas dimension. I wrongly extrapolated that all SO would be scaled because a Lens Correction Smart Filtered SO does scale when a canvas dimension is increased. A simple example follows.
Before activating Crop Tool
Increased canvas width before committing crop.
After committing crop, the SO is wider plus its image is upscaled.
JJMack wrote:
conroy wrote:
I think the underlying issue is that increasing a dimension of the canvas by using Crop Tool or Image > Canvas Size results in a Smart Object being scaled unlike other layer types which are unaltered. Scaling a SO results in Smart Filters being recalculated.
Increasing canvas size does not scale smart objects. [...]
I now see you're right about most Smart Objects. However, what do you make of my example of a Lens Correction Smart Filtered Smart Object being upscaled?
The smart layers embedded object has not changed, only its associated transform position has been adjusted for the new canvas size.
Yes, I've always understood that the object embedded inside a SO is always unchanged by operations in the main document.
The first time Liquify starts it tests to see if it was invoked as a smart object or from an action. If so, when finished, it returns the current mesh in an action descriptor that is included in the smart object or action. When Liquify is restarted as a smart object the mesh is loaded from the action descriptor and scaled vertically and horizontally to fit the current document size, not the image size within the document.
The first time Liquify starts it tests to see if it was invoked as a smart object or from an action. If so, when finished, it returns the current mesh in an action descriptor that is included in the smart object or action.
So if a Smart Object has other, smaller bounds than the document’s canvas size is the Mesh the size of the Layer or the Document?
In any case I think the important thing is that a longstanding feature request has been implemented (even if it is currently limited to the … Cloud), so: Thanks!
Currently the mesh is resized to the document bounds.
If we added capability, how could Liquify know if the user wanted to see the entire document bounds or just the layer bounds? Does it matter? Could Liquify only show the layer bounds and not the document bounds in future versions? Would this negatively affect any other user work flows?
What if Liquify was to detect a change in the (document or layer) bounds relative to the loaded SO mesh and pop a dialog asking the user how to handle the change, ie scale the old mesh to fit, fill new areas with new mesh, or ??
Thoughts?
That pop-up you mentioned at first blush sounds like a decent way to handle it. Something along the lines of the Canvas Size dialog. You could even have it default to certain settings if it's possible to detect specifically how the canvas size was changed.
ON THE OTHER HAND...
One has to wonder, though, especially if there are more filters that need this treatment (e.g., Lens Correction) whether a person might see pop-up after pop-up, each time a canvas size is adjusted via the Crop Tool. That wouldn't be good.
-Noel
Currently the mesh is resized to the document bounds.
I think that makes sense.
Could this cause issues with Smart Objects that extend beyond the document’s canvas?
And if a SO with Liquify applied is converted to a SO will the resulting SO be of the document size?
Thoughts?
Apart from changed canvas’ sizes I’m afraid that transformations of the Smart Object itself might cause mixed expectations; some users may expect the Mesh to be transformed along with the SO (which I supsect might be difficult in case of a Warp) while others may expect the Mesh to stay put.
In any case I highly welcome the implementation of the feature.
North America
Europe, Middle East and Africa
Asia Pacific