Jump to content
You must now use your email address to sign in [click for more info] ×

Vector Warp Issues with Nested Objects/Curves


seloran

Recommended Posts

The vector warp feature does not manipulate selected objects in a way I expect if the said objects have other objects nested inside them.

I have made a screen recording as shown below. Both warp groups has an ellipse inside another, and the inner ellipse of the bottom one has had line curve strokes expanded and subtracted from it. I would have expected the vector warp feature to warp both objects without the "bleeding" and outer ellipse fill which you can see as I dragged the warp mesh nodes.

Is this a bug or is the feature working as expected?

 

 

Link to comment
Share on other sites

If I understand correctly what your actual goal is, my impression is that what it does is "by design": It warps the parent curve in a way that it reveals the clipped parts of the nested object as well.
A workaround might be to flatten the nested curves via Geometry > Divide before applying the Warp
You may want to duplicate the original nested objects though and keep the original as a disabled layer in case you want to edit it later.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 hour ago, loukash said:

If I understand correctly what your actual goal is, my impression is that what it does is "by design": It warps the parent curve in a way that it reveals the clipped parts of the nested object as well.
A workaround might be to flatten the nested curves via Geometry > Divide before applying the Warp
You may want to duplicate the original nested objects though and keep the original as a disabled layer in case you want to edit it later.

Thanks. However, I can't seem to flatten them by using Geometry > Divide.

Maybe I would have to combine some shapes to make the inner object(s) cover a bigger area in the clipped off portion of the outer object(s) as a workaround. Edit: Alas, other weird shapes are still appearing when I attempt to use this workaround.

I haven't found a use case yet for the current way warping works "by design" with regards to nested objects, but maybe it would just be too complicated to make warping work the way I envision...

Link to comment
Share on other sites

7 hours ago, seloran said:

I can't seem to flatten them by using Geometry > Divide.

You may need to unnest the child first. 

But! Then you can also use the new Shape Builder tool! I haven't even used it myself yet… :) 

7 hours ago, seloran said:

haven't found a use case yet for the current way warping works "by design" with regards to nested objects, but maybe it would just be too complicated to make warping work the way I envision...

I'm not at my Affinity desktop v2 at the moment, so I can only check the iPad version:
There would have to be a "Freeze Children" option of some kind to avoid what we're seeing. Nothing like that on iPad.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

  • Staff

Hi @seloran,
Try this:
- draw a rectangle bigger than the ellipse
- drag the ellipse to inside the rectangle layer (to clip it)
- set the opacity of the rectangle to 0%
- apply the warp group to the rectangle (instead of the ellipse directly).
- distort the warp mesh
It should now distort the ellipse as you'd expect.

Sample file below. Select each ellipse one at a time to see how the warp mesh behaves (dimensions) based on the size of the object it's attached to.

warp.afdesign

Link to comment
Share on other sites

50 minutes ago, MEB said:

Try this:
- draw a rectangle bigger than the ellipse
- drag the ellipse to inside the rectangle layer (to clip it)
- set the opacity of the rectangle to 0%
- apply the warp group to the rectangle (instead of the ellipse directly).
- distort the warp mesh
It should now distort the ellipse as you'd expect.

Sample file below.

It seemingly fixes it on a certain small scale, but if you distort it massively, eventually you'll see the same effect as shown in the video above. (at least on iPad)

As far as I can tell, the only reliable solution for now is destructive flattening. You can then still keep the disabled unflattened duplicate inside the Warp group in case any change would be necessary in the future.

And, as noted, the ideal solution would be a "Freeze Children" option, i.e. creating an on-the-fly-flattened vector snapshot of the clipped content.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 hour ago, MEB said:

Hi @seloran,
Try this:
- draw a rectangle bigger than the ellipse
- drag the ellipse to inside the rectangle layer (to clip it)
- set the opacity of the rectangle to 0%
- apply the warp group to the rectangle (instead of the ellipse directly).
- distort the warp mesh
It should now distort the ellipse as you'd expect.

Sample file below. Select each ellipse one at a time to see how the warp mesh behaves (dimensions) based on the size of the object it's attached to.

warp.afdesign

Thanks, @MEB!

This is a workaround that I can make use of.

I do wonder if it's feasible without much negative side effects for the behaviour of the warp feature to be so without the help of a bigger transparent parent shape by default. Like if the warp could be recursively applied at the same scale/magnitude to each child object based on their position relative to the warp nodes/edges. Unless it's already doing so lol.

Edit: Hmm... On second thought, I wonder if the issue is actually because the clipped shapes of the child objects are lying outside of the outer edges of the warp group, and there may not be another way around it.

51 minutes ago, loukash said:

It seemingly fixes it on a certain small scale, but if you distort it massively, eventually you'll see the same effect as shown in the video above. (at least on iPad)

As far as I can tell, the only reliable solution for now is destructive flattening. You can then still keep the disabled unflattened duplicate inside the Warp group in case any change would be necessary in the future.

And, as noted, the ideal solution would be a "Freeze Children" option, i.e. creating an on-the-fly-flattened vector snapshot of the clipped content.

While I haven't tried distorting it massively, it seems to me that if the parent shape is even bigger, the warping could scale even more without issues.

Yeah, seems possibly tricky to "fix" without much negative side effects.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.