Mask property for parts

As a Roblox developer it is nearly impossible to partially limit rendering of certain parts. The only way to do something similar right now is to use Glass material bugs, but it will be fixed sooner or later, and isn’t performance friendly.

I’d like Roblox to add some mask property to parts which we could link to multiple objects that appear in the 3D viewport (whether it would be parts, terrain, particle emitters etc.).
It would partially work like the Glass material bug currently does - it would “block” anything behind it’s surface:

norender

norendercollision

I believe it should have a sub-property that would control wheter it blocks everything of the linked part(s) behind it or just the area of it’s intersection:

nr1text

nr2text


How “linking” or “whitelisting/blacklisting” objects could work:

Or perhaps it could work similarly to Collision Groups, where we could set which groups should interact with each other


Few use cases I can think of right now are fixing holograms or glass panels (I think it would work great with Lumber Tycoon 2’s glass panels :eyes: @Defaultio), blocking rain from inside of buildings, blocking water from boats and many more:

hologram
All of the body parts are linked with each other/in the same “group”



Glass pieces are linked to each other



The invisible, boat-shaped "no-render part is linked to Terrain

@WoodReviewer, please don’t kill me, this is just for illustration


rain
The invisible, building-shaped mask part is linked to a Particle Emitter


norendermove
The top right sphere is linked to the top left sphere, but not to the spheres on the bottom.


If Roblox was to add this feature, it would allow for many special effects to further increase game immersion.

74 Likes

This would be awesome for boats. But like in your example with rain, how does it know to render the noob and not the rain?

3 Likes

My idea was to be able to link objects that should be affected, somewhat like you you’d assign attachments under constraints.
image
But in here, you would assign parts, particle emitters, beams or whatever else can appear in the viewport.
And you wouldn’t be limited to just 2 objects. As many as you want or with some limits if it’s too hard to allow more.

Same problem with the boat too. If someone’s standing in the boat, their feet will be cut off. Also, any background parts (e.g. a wall in rain picture) will be cut out.

I think in general this idea is good but needs a bit more fleshing out – what is being asked for is essentially a masking system, so I think all that’s needed is some versatility to add ignore lists (or white lists) and such.

1 Like

It wouldn’t affect unlinked objects though. Look at above post for details.

3 Likes

I would include that in the OP. Like @EmeraldSlash said, just say you could use whitelists/blacklists to set which parts render. The engineers will figure out the best way to implement it :slight_smile:

1 Like

I already did :stuck_out_tongue:
but I will try to expand on it in a second

2 Likes

Oh, the way it was worded I missed it. I would change that to describe a whitelist or blacklist since those are the more common terms for what you want and some people (like me) might get confused

2 Likes

This would be an awesome feature to play around with.

Although, this has also got me curious as to whether something similar is possible with ViewportFrames and the ClipDescendents feature of Guis.

Anyhow, yes this is something I’ve looked forward to for quite a long time.

(btw, nicely written and illustrated).

2 Likes

I’m gonna bump this since there’s been no interaction at all from Roblox and this would be a very simple and helpful feature for many things.

Here’s some things I can immediately think of:

  • Dynamic destruction/layered destruction on objects
  • Mock PiP for scopes
  • Fixing clipping issues with realistic terrain utilizing rocks
5 Likes

Bump! Can’t believe I never saw this request, it’s amazing! One thing I don’t see people mention though, is that it would be amazing for midair portals, like the ones in half life. That way, you could make it so that it could mask parts on the other side of the portal, creating the illusion that the character is seamlessly going through it, even though they arent.

4 Likes

I’ve wanted this kind of feature for so long

ViewportFrame Masking if you’re interested. really do wish this was a more supported feature as this post’s implementation seems to rely on a bug and is limited itself, but this feature would allow for really insane effects that would evolve the platform significantly

1 Like

Bump!! Roblox needs this as soon as possible!!
I wonder if they can use their “Object” class to make it easier. :thinking: