Original Silent Hill type inventory system

Hey guys, i am busy prototyping an inventory system for my project. It is currently slot based with widgets and so on. I really want to do an inventory system similar to Silent Hill 1, where the items you collect are positioned in a “wheel” type of configuration and the “wheel” can be rotated around to view all the items in turn. Not entirely sure how to do this.

I think you need to first create a central vector position, then create an array of vector positions around that central point that can hold and display static meshes (your items) then you rotate the wheel from one item to another with some kind of button events. Do you then create a separate level/menu for this inventory system like you do with animated menu systems?

Does this make sense and would this be possible in blueprints? Any advise would be greatly appreciated!

Many ways of doing a carousel type menu. 3d one is somewhat easier than a 2d one. Overlaying 3d objects with widgets will look the best.

  • you could rotate a vector around an axis
  • you could attach the items to a central scene component and rotate that component
  • you could use a spline - this will give you plenty of control over how the items move

Here are the bare bones of the spline method:

A closed spline attached to the character, this one is *almost *a circle; the shape items travel along is up to you at this point, you can make it into a roller coaster:


Create items and position them evenly along the length of a closed spline:


The mouse wheel sets a rotation offset snapping to the next value based on the number of items along the spline. You can make 2d/3d buttons or bind it to some keys instead. Tick interpolation smooths out the transition and redistributes the items along the spline.


Instead of rotating the whole spline you might as well slide the objects along it.

It looks like this:

There are probably some kinks to iron out here and you will need a bunch of features to make it feel like a menu.

Hope it helps.

Hey Everynone, thank you very much for the response! Some of the nodes in your example i’m only seeing now for the first time XD and I’ve never used splines before, so i have some learning and researching to do. I’m gonna start experimenting immediately!

Thanks again, this definitely helps!

Just a quick question if i may, where does your " Ugh" transform variable come from? i’m sure it doesn’t matter cuz the item is set to it’s new spline position shortly after spawn. The reason i’m asking is when my items spawn and get added to item array, it seems like they are all added in the exact same position on the spline (so it looks like one cube only) and when you scroll the wheel they just sort of jitter back and forth.

thanks again for the tips, i learned a lot doing this.

It does not matter, you’re right. I made it, it’s at the default. It’s called *Ugh *because that’s the sound I make every time an object needs a custom transform rather than use the defaults… I normally split the pin and leave it at that but I wanted the screenshot to look pretty hence the *Ugh *variable.

The redistribute script takes the length of the spline and divides it by the number of items, this produces the location at a specific point on the spline’s length (make sure that the coordinate space is set to World)

In case you can’t get it to work, consider posting screenshot - sometimes it’s a small thing that breaks it all.

Hey dude, i got it working! Turns out the order in which you plug wires into the divide and % nodes (and the resulting calculation) does actually matter XD. I had them the opposite of the way you had them cuz of my OCD.

Thank you for this solution, this is exactly the effect i want to achieve. Now i just need to adapt it to my current prototyping setup.

The link of project example doesnt work can you enabke again? , thx for the support.

The problem with this system is that it distributes the objects proportionally in the spline but then you do not have an object centered on the screen focus. Captura.JPG

It’s not really a system, it’s an idea. It’s bare-bones, you need to flesh it out.

How is this supposed to work with relation to the camera? What happens when I rotate the camera? Can I rotate the camera?

Hey Can you Contact Me On Facebook Or Something i Want To Ask You

No. But feel free to ask away here!