Interacting with objects like Ethan Carter

Hi all,

First time poster here, sorry if I commit any Faux Pas.

I am currently working on a game and am trying to figure out how to interact with an item in the world similarly to how it is done in the Vanishing of Ethan Carter.
I’ve included a video sample:

Essentially I would like to be able to click the object, have it zoom up to the camera, then be able to manipulate it (turn it on all axes).

My searches so far have come up with nothing.

Any recommendations?

Well obviously you would need a Trigger component to detect if the Player is in range to be able to interact with the Item.

By the looks of it the Players controls are frozen until you stop interacting with the object.

You could probably Lerp the Item to infront of the Camera or even apply that as an animation.

Spawn a simple Widget that displays the new Item interaction Controls and manipulating its rotation and zoom seems pretty straight forward.

I would attach a tag to every object which should be “explorable”. After that you catch the button down event (of whatever button you want to use) and send a trace into the direction the player is looking to. If the trace hits an object which is near to you, you can check if the object has got the tag you defined before. If its the case you can freeze the players input and spawn the object right in front of your player. With your players mouse input you could then manipulate the item you just spawned.

This method would have the advantage that you don’t need triggers for all of you objects.

Thank you both for the suggestions!
I will try to implement them later this evening.

Check out the content examples in the learn tab of the unreal launcher and you can see how they do their “physics gun”, you will want to do a tweaked version of that potentially, not sure since I haven’t played Ethan Carter.

So,

I tried to take your suggestions the best I could, and using some other resources tried to cobble something together.

Unfortunately it doesn’t work. I believe I am just misunderstanding where my code needs to be going.

First thing I did was set up a linetrace by channel attached to the fire event of the first person blueprint from the first person template.
I then created a new actor called interactable which contains a function called manipulate. Next I created a child class of interactable, which overrides the manipulate function.

I then created a controller called MouseController which takes in an interactable object

Finally I added a cast to my linetrace by channel to try to cast what is returned from the linetrace as a new object


When I run the level I notice my cast keeps failing and I am not sure why.

I’d appreciate any assistance.

I don’t see any casting going on in these screen caps.