How are people making things like top 10 leaderboards with dynamic text, wins, etc…? These seem more complex than what could be done with a billboard device. And some of them look so nice I’m doubting they used a bunch of billboard devices together to make them… or did they?
Also, here’s another example where a dynamic timer in floating text. The text always faces you, but it’s updating constantly with the timer. Is this really a texture?
Thank you for your response @LionUnchained! I’m still missing something though.
From my reading of the documentation for In-Game User Interfaces, I’m only seeing the ability to provide 2D overlays on the HUD UI. The examples I showed above are placed in the 3D world on top of objects or floating in the air in 3D space. Thanks again for any advice!
Oh, I see you’re right my assessment was incorrect. Sorry I fly through these sometimes.
So all that is really is a collection of 2d planes/3d objects. If you go into modeling tools and then create a plane or a cube or anything else for that matter, and then make a material and set the material type to masked or transluscent, then make a PNG image in GIMP or photoshop and then import that texture, and put it into the material, you will get the transparency. So you can then create an object in 3D space though a collection of these other objects.
There’s really no end to the complexities of what you can do, its just about how much of materials you want to learn. It’s like photoshop + node based programming.
XD
And I forgot the part about the text.
You would want to use a sprite sheet and have the sprite selected using different parameters. I believe custom data is a way to do this, another way is material parameter collections, and you would modify those with a sequencer (thats the easiest way).
If there’s a guide on this out there I don’t know of it. This is really getting into quite advanced material setups with complex implementation as far as I know.
In order to get the names you can get the playername via a device return into verse and then you have to convert it to a string likely, and then convert each letter to the corresponding sprite sheet value. I’m sure there are plenty of ways to skin the cat here so to speak but none of this is some straightforward solution unless it was just implemented.
I got a custom dynamic leaderboard in my map, and I took a very simplistic route in terms of code. If its something your interested in I can point you in the right direction.
map code is : 8224-0428-0858
you’ll probs need to load in with someone tho to see it in action. It also uses persistent data so it shows lifetime data
Heres my video i submitted to epic, been updated since so check it out in game
It’s the Billboard Device. You can set the text to include a player’s name just by passing an agent into a message.
Billboards have a quality setting that some creators use, which is why you’ll see that some are more pixelated than others. This has a HUGE impact on island memory so don’t recommend actually increasing text quality on all billboards in your map, and use the lowest value possible, I try to stay below 2.0.
Here’s an example function you can use to do the same. I’m passing both the Agent & Additional Text into the function which creates a localized message you can use with the Billboard.
Ah, well ty for sharing. I’m not too surprised I’m out of date on this, I haven’t kept up to well on displays/UI side stuff.
I have been very curious though. I was looking a bit into custom data today and I feel like that is part of the equation here but uncertain.
I was transcoding values and using sprite sheets and MPCs to do this kinda stuff back in November but I wasn’t a fan of that method and haven’t had chance to look back into it.
Haha, I see it now.
I mistook the text on the board to be materials because of the styling without realizing its just a trick.
Clever. Ty for the share.