Hi. I am looking on youtube for some help making an inventory system for 3rd person where the player can use the mouse OR a center screen cursor to select items on the ground he may want to pick up. But all the examples like this are either first-person or dropdown. Can anyone suggest where I might find something for 3rd person? Simply something that may return an ID value for a mesh under the mouse or cursor.
Maybe like this:
This will work with pretty much anything. It identified the actor you clicked on. You can use it in the character.
Thanks. I really appreciate your feedback, but I already have that. I would like to have the mouse or at least some sort of cursor visible at all times so the player can know exactly what he is looking at. I found a tutorial on YouTube that has a blueprint very similar to the one you have here, but I don’t like that there is no cursor. I have tried finding tutorials for this, but under my world settings I see no option for show mouse cursor. There isn’t even a general heading for it.
In order to make an inventory system, I first need to be able to select objects (which I have done) that are under a visible cursor. A simple + sign would suffice if I could be sure that it represented what the camera was centered on. In another game making app, I shot a vector from the camera through an invisible object that was always positioned slightly above and to the right of the 3rd person player character and whatever the vector hit after that, provided the object in question was inventoriable (is that a word), would be displayed and the player was given the option to pick it up. That is more what I am after here.
With your blueprint example, is there a node that can be plugged in somewhere to display a cursor in the approximate center of the screen that would indicate where the camera vector is currently aiming?
I found what looks like a great blueprint example for an inventory system, but it is in 1st person. The only element I am really missing is the cursor.
I know <shift>F1 enables this. How can I have it enabled from the start of the game or current level? That’s my question now.
(You prolly think I’m dumb. lol)
This is my blueprint:
The yellow arrow points the debugging tool I’m using, but…
…this is the result. The red dot inside the green circle shows where the mouse is pointing, but without moving the character or the camera, it could be pointing anywhere in the viewport, and how would anyone know where it was? The pink circle is the name of the mesh I left-clicked to “select” it. I can later modify the BP to only display those items usable by the player-character.
Is there somehow a way to make a cursor of sorts to show where the mouse is pointing? That’s all I need!
Thanks in advance for any help.
Get Player Controller -> Set Show Mouse Cursor
If you’ve overridden the controller already, you can enable it manually there, too - it’s just a tickbox.
I’ll try that. I may have tried it already. lol … I think I have tried everything. Glad you are here to help.
And since you are here, I have another question: in my player/char BP I have an EventBeginPlay that is connected to a blueprint section to set/adjust camera zoom via mouse wheel. But now I have another section in the player/char BP for setting starting inventory and it also needs an EventBeginPlay. But apparently only one EventBeginPlay is allowed per BP, and you can only route its output to one other node. When I try running a wire from it to an additional node, it breaks the existing wire. Is there a way around this? Under Utlilities>Flow Control I see a Multigate and a Sequence node… would that work? Or is there some sort of splitter/splice thingy that will allow output from the EventBeginPlay to two different nodes?
Or is there some other way?
Seems a lot of the examples and tutorials use the EventBeginPlay as a starting point for their blueprints and blueprint segments. It would logically follow that there should exist some way to be able to wire the output to manifold other nodes… (?)
You can chain nodes together:
Or use a sequence:
The result here is the same.
Sequence works. Thanks again.