Download

Point/Click on dummy boxes to trigger name of each building to appear

Hi,

I am a very new Unreal user and starting to understand Blueprints and HUD from watching and reading various posts and YouTube tutorials. I have become unstuck and cannot find an example of how to achieve - simply (considering I am not a developer) - a way of being able to point at an object and the name of the object appear. I realise that using a box which can be placed near a building is probably best route (the buildings are quite large ie an abbey etc) and have managed to achieve the name of one building (box) to appear (see screengrabs). Success - brilliant - but how can I then replicate this for other buildings (boxes) across the abbey site.

I have one building blueprint (building1_blueprint) which was easy enough to then replicate as building3_blueprint, ensuring unique boolean/string and box names for both. I then successfully created my own HUD which which works for building1, in that the text name appears as I hover and click on the box. In the scene, you will see there is another little box to the front of this (building3). The hand appears ie I can hover and click - but no text appears.

My thoughts are that I need some sort of start/stop action for each hover/click so that the HUD will allow the different names to appear. I tried a sequence for the HUD but that just gave me the two text names in the same place ie building1. In my head, I thought maybe if I replicate the Event Graphs in the HUD (shown in screengrabs) but the Event Receive Draw HUD would not copy, it would only come in as a Custom event.

The scene is to be demonstrated/exhibited at the weekend - still as work in progress - but I would so love to be able to add names for each of the larger, more important buildings. I do not need to open doors, shoot anything, run, jump etc, just click on what I call a dummy object and the relevant text name appear.

Would anyone be able to help me please - and provide a visual step by step process?

Secondly - if there is anyone out there who would like to come to deliver a couple of days training to 3-4 lecturers and a few 3rd year students so we can steam ahead with this interactive heritage project, I would be eternally grateful.

Thank you.

Hi!

The main problem with your script is that you are not using the “event receive draw hud” node for building3 so you’re basically not telling the hud to actually draw anything. That’s why the text is only showing when you hover over building1. Anyway, the whole script is a bit of a mess (no offence, please. I’ve been there too! :wink: ), so let’s just try to clear things up a little bit.

Since you can use only one Receive Draw HUD event, the only way to write different pieces of text is using a string variable that you will set from whatever building blueprint you are hovering. In short, use the boolean to tell the hud whether to draw or not, and use the string variable to tell what to draw.

Also, I noticed that the script in building1 and building3 are exactly the same, so the way to go would be to create a “building” class with a public string variable that you can set per instance in the editor. This way you can use the same object with a different setup for every single building in your project, whitout having to rewrite the same piece of code over and over again. Be lazy! :stuck_out_tongue_winking_eye:

A different approach -and probably the one I would choose- would be using a 3dwidget attached to the building instead of the HUD. Is there any reason why you need/want to use the HUD?

If that was greek to you, don’t worry! I don’t have enough time to provide any screenshot and detailed step by step process right now, but let me know which approach you prefer and I’ll get back with a little guide asap.

Cheers!

Hi MyIvoryTower,

Thank you so much for your reply :slight_smile:
The code followed a tutorial , wouldn’t have had a clue otherwise so no worries about taking offence. I knew about the one Receive Draw HUD from just trying to get this to work, tried copying it across to the second blueprint but came in as a custom event, although with this put in, the text did not appear so deleted it and had no idea what to replace it with. The only reason for the HUD was because of the tutorial, no personal preference. It works for building1 ie hover over, the pointer changes to a hand and the text appears, just doesn’t work for building3 although the pointer changes, which I realise is because the Receive Draw HUD cannot be replicated. My aim is that the user can click/hover on different buildings (or grahics above the building) and information about that building will appear on the screen, then disappear as they move to another. There would not be an ‘order’ of what they click when, the aim is to be completely exploratory - similar to the interactive kiosk (towards bottom of page) on this link: http://paris.3ds.com/en-sainte-chapelle.html.
If the 3Dwidget route allows information such as this to be shown, great, more than happy to be advised, thank you :slight_smile: More importantly, thank you for replying to my post :slight_smile:

No problem! I like to help :slight_smile:

Regarding the widgets, after taking a look at the link I personally think that the widgets are the way to go. Think of HUD as the most basic class for the hud, which is cool for very simple stuff or for development time because it’s a pretty quick way to add text or shapes to your game/project. But as soon as you need a nice-looking more complex GUI, you should use UMG (widgets). This way you can desing each element of your hud as a separate widget and the add them to the actual hud, so you have more control over every single element in your hud :slight_smile:
Let me set up a new project and I’ll try my best to explain how I would do it from scratch. Just bear with me a little bit :wink:

Cheers!

Thank you :slight_smile: I look forward to seeing how these work.