MinDistance property for BillboardGui

A lot of simple, great UX opportunities would be opened up with the addition of these two values. Basically, the distance from the camera that decides when to cull BillboardGui’s contents from appearing.

This functionality technically already exists, but it’s only for Humanoid’s HealthDisplayDistance & NameDisplayDistance.

EDIT 3/24/2021:

25 Likes

I don’t think something that can be so easily scripted would be worth an admins time :confused:

1 Like

It’s not a matter of how easy it is to script. If it’s functionality that a large amount of people need the object to do for their game, it can be proposed and implemented so people don’t have to re-implement it every time.

Ex: Color3.fromRGB. You could divide by 255 every time you hardcode an RGB value, but that gets annoying every time.

2 Likes

Something a large amount of people need is MeshParts to scale under 0.2

We know this because we’ve seen so many threads about it. I think that this feature request is one of the first of it’s kind, which says something about how much it’s needed. I’m all for more features (I’m not against this), I just don’t think it’s worth the administrators very dense time right now. Just my 2c.

Let the engineers decide what’s worth their time and what isn’t.

People are allowed to freely propose ideas that they think would improve the client’s capabilities. Regarding MeshParts scaling under 0.2, use a separate thread for that proposition (I know they already exist)

5 Likes

There’s a very large difference. One requires changes to how the physics system works, and one requires about 4 lines of code.

9 Likes

I’m down. So very down.

1 Like

Would be a nice QoL change.
Billboards do some interesting stuff with positioning when near the extents of the camera

2 Likes

I like this idea.

1 Like

Why do you need both Min & Max?

MinDistance could be used for markers that disappear when players get closer; such as location pointers that show up only when you’re far away from them. MaxDistance is the more obviously useful one.

2 Likes

Thanks for bringing this up, looks like my old thread died with the images

Would you want fading or sharp cutoffs though?

I’ve been playing Ubisoft’s Steep and they show you checkpoints and map locations from far away but hide it when you’re close. They also don’t show all areas, only ones moderately near you (hence a max distance).

I’d definitely want a max property for custom healthbars and nametags.

4 Likes

The question of how this is implemented is central to the discussion, I think. I don’t think that fading out with distance (near or far) is something that needs to be done at the engine level.

However, I do think that we could do other things to make it easier/faster. I’ve been thinking about proposing a hierarchical transparency modifier for GUI objects that would be perfect for things like this. Basically, you’d set BillboardGui.InheritedTransparency and all of its children would be rendered with that transparency. I was thinking that for each child, the total opacity value would be calculated by (parent->getInheritedOpacity() * myOpacity). This might be confusing though. Any better ideas?

This might actually be a good way for it to work, now that I think of it. It’d basically mean that you can fade entire trees of GuiObjects without needing to care if they each individually have different transparencies.

5 Likes

It’d be really cool if that was a property of GuiObjects, so it would work for things other than just a billboard gui.

Seeing as something like this would require calculating the distance between the camera and the gui, might be nice to have a built in distance property that’s updated every frame for devs who want to implement transparency as well.

2 Likes

An incredibly old thread, but I think the use for MinDistance for BillboardGuis has greatly increased since the addition of ProximityPrompts.

I want to bring a user in with an indicator in order to show a ProximityPrompt when they get closer:

But… there’s currently no built-in way to hide this indication - it gets messy:
image

Polyhex’s use case from 2016 still stands true today, and I believe it is intensified and will become more common due to ProximityPrompts.

4 Likes

We got MaxDistance due to this thread, but surprisingly, Roblox entirely skipped its MinDistance counterpart property. I’d still find MinDistance incredibly useful 5 years later.

Things like proximity prompt UI, quest markers, map markers, NPC interaction UI, and player nametags would all benefit from MinDistance.

12 Likes