Download

Detecting when the reticle is over a certain object

I need to have an object change colour when the fps reticle is on it.
I thought that maybe the mouseover event might be used but it seems like the reticle isn’t detected in the same way.
Any help would be appreciated.

Hello,
On event begin play (in your character or your level), , drag a “enable mouse over events” from “get player controller”
With a “event actor begin cursor over” in your bp you would be able to change your color.

Thanks for the reply
Is the event begin play meant to be connected to the get player controller?

No you connect begin play to exec input of “enable mouse over event” (the white one) and player controller to the target input (and there is no exec in player controller node so no need to connect it) (Don’t forget to check the box ^^)

Great. Thanks

I’m having one other problem.
I’m testing this with a couple of print strings ON and OFF and its not working as well as I’d have hoped.
When I play its a bit hit and miss with the cursor but if I activate the mouse it works perfectly.
It seems to be activated by the invisible mouse which isn’t staying with the cursor.
Am I thinking correctly?
Is there a way of making the mouse stick with the cursor?

I did some tries and i got troubles too, it is not fitting always so the best way seems to use a linetrace maybe mouse can be set at middle of the screen too but i don’t know.

Edit : Here is one possibility showing how doing a linetrace from tom looman’s tutorial : http://www.tomlooman.com/tutorial-multiplayer-supported-usableactor-system-in-blueprint/

getusableactor01.jpg

Instead of “cast to” bp_usable, you can do a “cast to” name of your blueprint and from it, drag from blue output a wire mesh and from it material.

Thanks again
I’ve got a trace set up now.
On the “Break Hit Result” node the hit actor only gives the item that was hit. Is it possible to distinguish which part of an item that is hit?
I have a box with panels on each side. I need it to know which side has been hit.

Yes, you have hit component output which would be the one you need (if those are different components in the same blueprint). Other outputs will give you infos too, depending of what you need.

Edit : to have more infos about break hit result outputs : https://docs.unrealengine.com/latest/INT/BlueprintAPI/Collision/BreakHitResult/index.html

Edit 2 : If this one mesh, maybe impact point will be the usefull one for you.

It was just one mesh but I have remade it into separate parts.
The trace is now detecting which side of the box it is hitting.
The problem I have now is that the box and its panels falls apart if I set it to simulate physics.
There is an option called ‘Auto Weld’ that sounds like it would merge them into one mesh but it doesn’t seem to do anything.
Any ideas?

I think you would go with one mesh and use impact point to know which face is hit and then have a work on material, like a layered material. Sadly i am not skilled in it. I ever seen a way to change only a face of a cube somewhere but i can’t remember where. If i find it, i’ll add link.

You may want to use the camera component of your pawn as the starting point for the trace, as the reticule won’t always be facing directly forward from the object itself.