Jump to content

The Importance of HUDs Being Small


Jennifer Boyle
 Share

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

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

Recommended Posts

As time goes on, many of us are using more and more HUDs. We have them for AOs, mesh bodies, mesh heads, deformers, various attachments, and all kinds of mesh clothing. Consequently, when we first don an outfit containing multiple texture-change items, we may have ten or more HUDs onscreen. With the need for so many, it becomes critically important for them to take no more space than necessary.

Many HUDs are much larger than they need to be. The best ones are both no larger than they need to be and can be minimized. The worst ones are much larger than necessary and, in addition, have a lot of blank, wasted space between the clickable buttons and are surrounded by a wide, useless transparent border than interferes with clicking adjacent HUDs.

As a heavy user of HUDs, I wonder what is in the minds of creators when they make large HUDs when small one would work as well. I can think of examples from my own inventory of two HUDs with the same functionality one of which occupies many  times the screen area the other does.

Creators of avatar components, attachments, and clothing, please make your HUDs only as large as they need to be.

Edited by Jennifer Boyle
typo
  • Like 2
Link to comment
Share on other sites

  • Jennifer Boyle changed the title to The Importance of HUDs Being Small

Well one of the reasons for making a larger hud, just might be so folks with vision issues can actually see what they are clicking on.  Not every one has 20/20 vision.  I know if I get a hud that I cannot read because it is too small and I cannot make it larger, well I just cannot use that item then and the hud becomes useless.  

The other thing with huds is that they are not supposed to be kept on at all times..  Use a hud to get your desired effect what ever that hud is for and take it off.. 

A hud is a tool not meant to stay on your screen.  Game type huds for combat etc. are different of course, but I have not found any of those yet that are too big.  

 

  • Like 5
  • Thanks 1
Link to comment
Share on other sites

46 minutes ago, Jennifer Boyle said:

As time goes on, many of us are using more and more HUDs. We have them for AOs, mesh bodies, mesh heads, deformers, various attachments, and all kinds of mesh clothing.

This is why when I made my new AO, I made it to work with chat commands and NOT buttons on a HUD. It can be placed in a HUD off-screen, or added into your left ear, or wherever else you want to throw all your animations and the script.

And...

That's kind of how I do all my scripts to control things - I put them up with a listen and a choice of channel.

THAT NOTED...

Too many people keep HUDs on when they don't need them on. If you're not in the middle of configuring something, the configuration HUD should be taken off.

Other HUD UIs... yes, many of them could use re-designs to me more about ease of use and less about 'look at all the colors and art effects I can put into this'.

And... make them MOD, so people can resize them. It's safe to make the prim mod, if you keep the script no-mod...

Link to comment
Share on other sites

1 hour ago, Jennifer Boyle said:

As time goes on, many of us are using more and more HUDs. We have them for AOs, mesh bodies, mesh heads, deformers, various attachments, and all kinds of mesh clothing. Consequently, when we first don an outfit containing multiple texture-change items, we may have ten or more HUDs onscreen. With the need for so many, it becomes critically important for them to take no more space than necessary.

Many HUDs are much larger than they need to be. The best ones are both no larger than they need to be and can be minimized. The worst ones are much larger than necessary and, in addition, have a lot of blank, wasted space between the clickable buttons and are surrounded by a wide, useless transparent border than interferes with clicking adjacent HUDs.

As a heavy user of HUDs, I wonder what is in the minds of creators when they make large HUDs when small one would work as well. I can think of examples from my own inventory of two HUDs with the same functionality one of which occupies many  times the screen area the other does.

Creators of avatar components, attachments, and clothing, please make your HUDs only as large as they need to be.

The only HUD I wear is my AO which only contains the few animations I put in it.  Head, body, other body parts and others I may use regularly, go in my favorite wearable folder.   Why would you want all those huds cluttering up your screen?  I prefer the huds to be larger actually.  What I do dislike is when I buy a 2 piece outfit and the huds attach in the same spot.  Sure, easy to move but why in the heck do.they put them both in the same spot?

/smh @ 10 huds onscreen

Edited by RowanMinx
  • Like 1
Link to comment
Share on other sites

Mesh is a godsend for efficient HUD design that has been horribly underutilised.If you're smart you can make HUDs where the blank space between buttons doesn't contain "invisible HUD" that you can't click through to interact with the world. A planar mesh button (or group of buttons, even just relying on face detection rather than detecting where on the face you click you can still have 8 functional buttons in a single mesh) rotated on its side to hide it isn't just "invisible", it's gone, takes up no screen space - do remember to make sure you have something to "show" it again that stays visible - because you CANNOT click on the faces of a planar mesh when its edge-on to you.

Way too many creators have "already made the HUD" and while they may have updated the underlying code and the products that code controls many times they are still using their old prim-built HUDs, with all the prim-restricted design decisions baked in. There are HUDs associated with some of my favorite kit that I've been so tempted to hack the bejeesus out of and reverse engineer their API so I can just build myself a more efficient  and user-friendly one out of layered mesh planes not prims. (If I ever did, I would, of course, hand the result to the original creator full-perm and switch back to their "official" one if they ended up adopting any of my redesign)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

This is an AO HUD i am currently making... You can fold it by pressing the bottom left button. This is not my idea, many HUDs behave like that...

image.thumb.png.fb8b327e99a3b0d3b26932e9e9d3ae0b.png

1 hour ago, Da5id Weatherwax said:

A planar mesh button (or group of buttons, even just relying on face detection rather than detecting where on the face you click you can still have 8 functional buttons in a single mesh) rotated on its side to hide it isn't just "invisible", it's gone, takes up no screen space - do remember to make sure you have something to "show" it again that stays visible - because you CANNOT click on the faces of a planar mesh when its edge-on to you.

This is a good idea! I didn't think about rotating it... Mesh HUDs are very difficult to texture properly and I will have to return to Blender  but I can do this!

Edited by Sabrina Tamerlane
quote
Link to comment
Share on other sites

4 hours ago, Claireschen Hesten said:

If anything i find most HUDs for texture change/customisation well the bit i need to see too small, some are so small you don't know what part of the item is being changed until you click on something

Exactly the point I was making earlier in this thread.  And I also wanted to add this:  for a simple texture change hud, why do some creators feel it is necessary to put large buttons on it for their FB Page and other social media links???  These take up space and who clicks them??????  I ignore them.  The space could be used to make the important buttons large enough to actually see properly!  I mean come on now, if I already bought your product why do you need to advertise on a hud that should be functional only for the purpose of changing textures?

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

I am aware that it isn't necessary or desirable to wear most HUDs all the time. There are exceptions, such as HUDs that animate parts of the avatar.

However, when getting dressed by donning an outfit, I do need all of the HUDs for the various components of the outfit on the screen. I need all of the clothing HUDs on the screen at once because I need to see what the various pieces look like together, and I need others that affect appearance and how the clothes fit, like my body HUD. It is inconvenient to wait until after I have the outfit adjusted to add the ones that I need to wear most of the time, like AO, or ones that are necessary to use some part of the outfit, like a weapon.

The rotating mesh seems like a great solution.

I have not encountered any HUDs that are so small that I think anyone would have trouble seeing them clearly. I guess there's nothing a creator can do that will please everyone, but like most people, I want them to please me.

I have seen a few HUDs that  allowed the user to change the size, a good feature. Some have multiple tabs or pages, a way to allow many buttons while keeping the size down.

There is absolutely no reason to have empty space between HUD buttons; some have a lot of it. And they it isn't necessary to have the store name in large letters or a large logo.

Link to comment
Share on other sites

On 11/5/2020 at 2:59 PM, Sabrina Tamerlane said:

Mesh HUDs are very difficult to texture properly

Depends if the mesh was designed to be an easily textured HUD or not. To use the trivial example of 8 square buttons that make up a single planar mesh you make one button first. Look at it straight on in blender, down the appropriate axis and UV unwrap it as "project from view (bounds)" Your square button will fill the entire UV map, give it a square image as a texture inworld and it will be no different from texturing one face of a cube. To make the 7 other buttons, go back into edit mode and duplicate the first 7 times, arranging the dups how you'd want the buttons laid out on screen. - Now you've got 8 buttons, each with the same square UV mapping, all buttons overlaying each other in the map. Now assign a different material to the two tris making up each button. Those 8 buttons are now 8 faces in SL and can be textured independently, each with its own square texture. If you want to use a texture atlas with all the button faces in one texture just with different offsets you can - exactly the same way as if you were wanting the different parts of your texture atlas to appear on different faces of a prim.

Identical methodology applies to buttons of any arbitrary shape. You don't have the issues of unwrapping a curved shape like you do with a 3d object that can be viewed from any angle. A planar mesh hud only ever interacts with Mr A Square of Flatland and is only ever viewed down one axis so you use "project from view" to make the hud shapes look EXACTLY like they would on the screen in the UV map - because there's no geometry to see other than from that angle. Then you just stack as many of these planar meshes as you need on top of each other inworld (with a small offset to ensure no z-fighting) and link them to create the HUD object - the "depth" of the stack makes no difference to the HUD displayand it remains as easy to texture as a HUD made of prims.

  • Thanks 1
Link to comment
Share on other sites

36 minutes ago, Da5id Weatherwax said:

Depends if the mesh was designed to be an easily textured HUD or not. To use the trivial example of 8 square buttons that make up a single planar mesh you make one button first. Look at it straight on in blender, down the appropriate axis and UV unwrap it as "project from view (bounds)" Your square button will fill the entire UV map, give it a square image as a texture inworld and it will be no different from texturing one face of a cube. To make the 7 other buttons, go back into edit mode and duplicate the first 7 times, arranging the dups how you'd want the buttons laid out on screen. - Now you've got 8 buttons, each with the same square UV mapping, all buttons overlaying each other in the map. Now assign a different material to the two tris making up each button. Those 8 buttons are now 8 faces in SL and can be textured independently, each with its own square texture. If you want to use a texture atlas with all the button faces in one texture just with different offsets you can - exactly the same way as if you were wanting the different parts of your texture atlas to appear on different faces of a prim.

Identical methodology applies to buttons of any arbitrary shape. You don't have the issues of unwrapping a curved shape like you do with a 3d object that can be viewed from any angle. A planar mesh hud only ever interacts with Mr A Square of Flatland and is only ever viewed down one axis so you use "project from view" to make the hud shapes look EXACTLY like they would on the screen in the UV map - because there's no geometry to see other than from that angle. Then you just stack as many of these planar meshes as you need on top of each other inworld (with a small offset to ensure no z-fighting) and link them to create the HUD object - the "depth" of the stack makes no difference to the HUD displayand it remains as easy to texture as a HUD made of prims.

Thank you but using 8 textures is not very efficient... I am using a tilemap, which works nicely and smoothly but this is what is difficult to setup properly :)

This is how it looks like:

image.png.bb3e74acc9e08ef17be65fdc40a92821.png

 

I can put any icon on any face with just one texture...

Link to comment
Share on other sites

53 minutes ago, Sabrina Tamerlane said:

Thank you but using 8 textures is not very efficient... I am using a tilemap, which works nicely and smoothly but this is what is difficult to setup properly :)

This is how it looks like:

image.png.bb3e74acc9e08ef17be65fdc40a92821.png

 

I can put any icon on any face with just one texture...

 

Makes perfect sense to me - and a "tilemap" is otherwise known as a "texture atlas" which is why I said

 

1 hour ago, Da5id Weatherwax said:

 If you want to use a texture atlas with all the button faces in one texture just with different offsets you can - exactly the same way as if you were wanting the different parts of your texture atlas to appear on different faces of a prim.

Apply your tilemap to a square face of a prim, then apply it the same way to a square button UV-mapped the way I described, it will work EXACTLY the same way, with the SAME scaling factors and offsets.

Edited by Da5id Weatherwax
Link to comment
Share on other sites

The math is trivial. The important thing is that your offsets are a finite decimal - no recurring numbers - and whatever size you pick must always have tile boundaries of your X*Y tiles fall exactly between two pixels. Since the pixel dimensions of your tilemap must be powers of 2, X and Y must both be multiples of 2. Size your tilemap dimensions to the smallest power of 2 that will display your tiles without distortion at the on-screen size you intend.

with a tilemap X*Y tiles the offset vector for tile (x,y) - with x and y both beginning with 0 - is <x/X, y/Y,0> and your repeats vector is <1/X,1/Y,0>

 

 

that math works for ANY arbitrary sized array of tiles in any size texture, but for clean pixel boundaries in SL textures sticking to the multiples of 2 for the X and Y rows and columns of tiles is safest.

Edited by Da5id Weatherwax
removing stupidly unneded complexity from one of the vecctors formulae
Link to comment
Share on other sites

4 hours ago, Da5id Weatherwax said:

with a tilemap X*Y tiles the offset vector for tile (x,y) - with x and y both beginning with 0 - is <x/X, y/Y,0> and your repeats vector is <1/X,1/Y,0>

In theory yes, but not in practice. Continuing with the 8x8 example...

  • repeats = <1/8, 1/8, 0>
    • This gives the tile size of 0.125, so far so good.
  • offsets = <x/8, y/8, 0>
    • For example, if x and y are both 0, the "tile" being displayed will be the corner in the exact middle of the texture, not the top-left corner.
    • The position needs to be adjusted by half of the tile's size.
    • The left column (X) tile position begins from: -0.5 + (0.125 / 2) = -0.4375.
    • The top row (Y) tile position begins from 0.5 - (0.125 / 2) = 0.4375.

A simple script to do the calculations for us... This should also work for any tilemap dimensions, I tested it with 4x8.

tile(integer x, integer y, integer link, integer face)
{
    key tilemap = "b8d4bd8b-e09b-53eb-97fd-a63b8ad23d75";

    vector size;
    size.x = 1.0 / 8.0;
    size.y = 1.0 / 8.0;

    vector start;
    start.x = -0.5 + (size.x / 2.0);
    start.y =  0.5 - (size.y / 2.0);

    vector offset;
    offset.x = start.x + (x * size.x);
    offset.y = start.y - (y * size.y);

    llSetLinkPrimitiveParamsFast(link,
        [PRIM_TEXTURE, face, tilemap, size, offset, 0]);
}

default
{
    state_entry()
    {
        tile(7, 7, LINK_THIS, ALL_SIDES);
    }
}

 

Also yes, we need more resizable HUDs. Being able to hide it is not the main problem.

Edited by Wulfie Reanimator
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, Jennifer Boyle said:

However, when getting dressed by donning an outfit, I do need all of the HUDs for the various components of the outfit on the screen. I need all of the clothing HUDs on the screen at once because I need to see what the various pieces look like together, and I need others that affect appearance and how the clothes fit, like my body HUD.

me too

here is my One Outfit HUD Life. On my 2560 x 1440 screenmyscreen_004.thumb.jpg.8f42ab35467e760a3677c4067c87c31e.jpg

  • Like 1
  • Haha 1
Link to comment
Share on other sites

9 hours ago, Sabrina Tamerlane said:

I don't have these maths at all... also I need to rotate the texture by -90° to have it working...

Well, I wasn't exactly responding to you, I was more focused on the math they were explaining, to explain to them how SL offsets affect their (kind of correct) math.

You don't need that math since you've just figured them out by hand (which is fine, I need a lot of fumbling as well). The texture rotation is only necessary depending on which way the face is rotated. I assume you're using cube prims, so if you haven't rotated the cubes at all, the side that's visible on your HUD is the object's west surface (negative X direction).

Edited by Wulfie Reanimator
Link to comment
Share on other sites

23 hours ago, Jennifer Boyle said:

There are exceptions, such as HUDs that animate parts of the avatar.

True, this.

13 hours ago, Wulfie Reanimator said:

need more resizable HUDs. Being able to hide it is not the main problem.

Agreeing absolutely! I am happiest when I can resize huds down tiny when not using.  Some I leave on for quick changes, and making them larger momentarily as need arises.  Complexity and lag for me don't seem to take too big a hit with those I leave on.  The flip-it-to-offscreen-except-for-one-button thing is super for the huds left open, so long as the one-button left there is, itself, tiny.  I mean, its only open or close on that one button, so there is no need to see the detail in the picture on it for me.  But with respect to size of the button, or any hud for that matter, it seems hard to speculate on the viewer every user is using (full screen? window not-full on one monitor? stretched across all/part of 2+ monitors?).  Viewers resized seem to move huds, and on different pc's (one monitor, two monitors, stretched or not-full-screen) huds show as a different size (% of viewer geography). I have always wrinkled my nose at a huge hud, or a 2 huds that open up one right on top of the other for the same outfit.  But I surmised there were too many scenarios out there on pc's where the size was going to be different anyway. Perhaps the seller made a judgment call: Share garment set with all now with a quality hud, or not release the item until a solution is found which could take forever and a day.  The huds too large or one over another (I think of one fav designer in particular I just luvvvvv) in my experience are clothing texture huds, so ehhh I drag em, I click the texture, I may never wear the item never again, so I can deal with that.  But e.g. the AO's, when I am testing stuff I reeeeeally am happy when they are yes-mod so I can resize them.

 

 

Link to comment
Share on other sites

I also add my voice more for resizeable and collapsible HUDs.  The latter part is more important in my opinion though as long as the HUD is small, I wouldn't want to resize bigger.  Elimination of HUD dead space, both inside and around is also important to me.  It would be nice if social media and other mostly useless buttons were eliminated too.

If all of that was followed by most vendors, I would be very happy.

  • Like 1
Link to comment
Share on other sites

5 hours ago, Wulfie Reanimator said:

Well, I wasn't exactly responding to you, I was more focused on the math they were explaining, to explain to them how SL offsets affect their (kind of correct) math.

You don't need that math since you've just figured them out by hand (which is fine, I need a lot of fumbling as well). The texture rotation is only necessary depending on which way the face is rotated. I assume you're using cube prims, so if you haven't rotated the cubes at all, the side that's visible on your HUD is the object's west surface (negative X direction).

I'm using a mesh I made with Blender. Probably I could have done it in such a way that it is easier to texture, but hey it works now...

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1273 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...