Jump to content

Ideas for minimizing a HUD


SimplifyKidd
 Share

You are about to reply to a thread that has been inactive for 1118 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I am making a HUD but when creating a minimize button I noticed that alphaing out all the objects only tuned the HUD invisible but still made it clickable, so that I cannot sit on a chair that is "behind" the invisible HUD. Is there a command for making an object "untouchable" rather than invisible?

Link to comment
Share on other sites

You can use llSetClickAction(CLICK_ACTION_DISABLED), but that will simply make your HUD non-responsive to clicks.  It won't make it it possible to click through the HUD to whatever is beyond it.  What you really want to do is minimize the HUD (perhaps with llScaleByFactor) or either move it or rotate it so that it's out of the way.

Edited by Rolig Loon
Cleaner wording
  • Thanks 1
Link to comment
Share on other sites

And remember that the minimum allowable dimension for any object in SL is 0.01m. If you try to shrink a multiprim object, you'll find that you'll hit the limit when the smallest prim in your linkset hits that minimum dimension.  It pays to think ahead when you are designing a HUD.

Link to comment
Share on other sites

A hud with a minimize button / a rotation axis next to the hud / a minimize button (only the button)
Rotation replaces the hud (which is off screen now) with the minimize button.
If done clever it will work left and right docked (or up/down)
You don't see a rotation the hud vanishes/appears instantly (for me)

Or slide the hud off screen so only the minimize button stays visible. I personally read the hud size and calculate the move b4 I slide, then resizing will not affect it.
Can be made so it will work for multiple docking positions too.

 

  • Thanks 2
Link to comment
Share on other sites

Personally,  I think it's the best option. If you think ahead and design the HUD to be very flat in the plane of your screen,  then you can rotate the entire thing around one of the planar axes,  so that all you see is a narrow edge-on view of it. Slap a texture on the narrow face that shows,  and use that face to trigger the code to  unrotate the HUD.

  • Thanks 1
Link to comment
Share on other sites

Just now, Rolig Loon said:

Personally,  I think it's the best option. If you think ahead and design the HUD to be very flat in the plane of your screen,  then you can rotate the entire thing around one of the planar axes,  so that all you see is a narrow edge-on view of it. Slap a texture on the narrow face that shows,  and use that face to trigger the code to  unrotate the HUD.

Seems the easiest solution of those mentioned so far!  :)

Link to comment
Share on other sites

4 hours ago, Rolig Loon said:

And remember that the minimum allowable dimension for any object in SL is 0.01m. If you try to shrink a multiprim object, you'll find that you'll hit the limit when the smallest prim in your linkset hits that minimum dimension.  It pays to think ahead when you are designing a HUD.

This is why if a static reference, such as the root link's size, isn't already used, llGetMinScaleFactor() & llGetMaxScaleFactor() should be referenced prior to using llScaleByFactor() as the former references the 0.01m lower scale limit and the latter references the 64.0m upper scale limit as well as the 54m encompassed link distance limit.

As a word of caution, though, I would not use the exact values returned by those two functions else you risk link position/scale drift due to precision loss. I would stick to "simple" increments and stay "just" above the minimum and "just" below the maximum.

Edited by Lucia Nightfire
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, SimplifyKidd said:

I like it! 

I will see if I can figure it out 🙂

Another thing to consider if you go the rotate-to-hide route is to offer left and right hiding depending on which side of the screen an HUD is as some people like their HUDs on one side or the other. Attach point might have to be referenced as attach position is local to the attach point.

  • Like 1
Link to comment
Share on other sites

7 hours ago, SimplifyKidd said:

Hm... I see. It's not that straight forward...

Scaling will only get me so far, as my prims have very different sizes.

So, moving the linked prims might be a better way.

You can use a very simple rotation script to rotate the object, keeping the root prim static while everything else rotates beyond the screen, given the script is in the root prim.

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1118 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...