Using the difference between World position and World position excluding material offsets for the opacity mask creates black areas.

I am trying to apply a mask based on how much a pixel has been moved from its original position by the World Position Offset.

To achieve that, I want to use the distance between Absolute World Position and Absolute World Position (Excluding Material Offsets).

However, as soon as I plug any operation that uses this distance, I get black areas where the mesh should disappear.

I put a minimum repro I put together. It’s not what I actually want to achieve, but it’s the fastest way to reproduce the bug:

1 Like

I’m not sure if it’s because masked opacity is either 0 or 1, but this works

Now invert the 0 and 1 in your if, it should cause the issue to appear.

It seems to be a problem if you make the pixels that are towards the outside invisible, not the ones closest to the center.

1 Like

I just get the reverse of what I had :slight_smile:

image

What… I have the exact same setup and my result is completely different

FIrst: my object is semi-transparent in the preview and completely transparent in game.

Then if I invert the 0 and 1 I get the error again:

(The grey areas in the preview are where it shows the black area in game)

Okay, I just tried it on 5.4 and it works there… I assume you were also trying on 5.4?

I’d be happy for any solution on 5.3, because I can’t use 5.4 for this project :frowning:

1 Like

Yup 5.4

Does anyone know how I could fix this on 5.3? I am at my wits end…