How to create a responsive invisibility?

Here’s a summary of the techniques that could solve OPs issue mentioned in this thread (how do I say something like that without sounding like ChatGPT??)

Highlight Occlusion
    

I found that you can use a special setup with Highlight instances to effectively mask a highlight when it is not occluded.

You just need two parts with highlights. The first highlight you add should be AlwaysOnTop, the second highlight you add should be Occluded. The result looks like this:

It doesn’t seem to work if you just use one part with two highlights; however, it does work really well and doesn’t require as much setup as any other solution I found for this use-case.

Here is the place seen above: OccludedChams.rbxl (56.7 KB)


Glass Transparency Masking
    

@NyrionDev mentioned the Glass Transparency Masking technique, which I had completely forgotten about. Apparently this issue arises due to the need for performance, as well as the mechanics of glass reflections.

Pretty much Glass parts will not render other transparent parts behind them at all (as far as I can tell):

In this image, the part on the left is transparent Glass (0.999 transparency), and the part on the right is transparent Plastic (0.001 transparency).

It looks different in-game, as you can see here:


ViewportFrame Masking
    

ViewportFrame Masking is the technique shown in OPs video. There is a whole thread on the topic which goes into much more detail than I could possibly do here:

ViewportFrame Masking - DevForum

The original video performs this by having an ErasedAlpha cube in that spot within a ViewportFrame, as well as another cube with the same dimensions and position in the workspace.

When he touches that cube, he clones his character into the viewport and manually updates it’s motion, while his real character remains transparent. The result is as you see in the video (the cube masks the character in the viewport)

4 Likes