Download

Best approach for UI triangle stat system

Hello everybody,

My team has set me the task of creating a triangle stat system like this: Example

Ignore the background stats and numbers. The triangle is dependent on three variables (in this example STRENGTH, SPEED and INT). The points of the triangle will always fall on three lines radially split by 120 degrees (for now anyway). The points distance from the center indicates the value of the variable.

I am comfortable with the material editor and can generate a material by masking areas to create the triangle fairly easily. I can extrapolate intersections of masking shapes from the three variables and let UMG generate instances for each player.

Before I begin I thought I should check here and see if this the best approach.
This is destined to be implemented in UMG (which I am not to familiar with). Are there any UMG specific methods that could be used instead of a materiel solution?

One of my team said that using DrawHud would be a hacky canvas solution and unfortunately nobody on our team has much slate experience. If you know a better way can you point us in the right direction?

Thanks all,

Dr P

There is no easy way to draw a triangle using Slate (for now at least, I think I’ve seen new FSlateDrawElement::MakeCustomVerts command lurking in the master branch, so that would make it easier) and you dont want to use old HUD/Canvas method.

If you can create a material with a triangle mask controlled with 3 parameters (vertices of the triangle) I’d suggest going with that. UMG widget seems fairly simple to implement.

In case you need more control over the widget from code you can just wait until the feature I mentioned will be released.