Around a point :- Rotating / Zooming in and out AND delayed auto rotate upon inactivity

Hi everyone! been playing hard with Unreal the past few weeks now and I’m trying to work up to my first project. I am dealing with each problem as they arise and since the problem I am currently having is the main “level” it’s an important one for me…

I am creating a player (human) to rotate around a model, the player can zoom in and out, rotate around the model, the player can click parts of the model to activate either a new level or UMG interface AND I would also like the orbit to go into auto orbit mode if the human controller is inactive for a set amount of time…

Currently I have copied other peoples solutions from around the forum to rotate around and zoom in and out, I am very happy with the zoom but think the rotate around needs more work…plus I still am unsure how to set up a auto rotate - can anyone suggest how to do this?

Orbit around I found from here: -

Smooth Zoom in and out I found from here: -

I have the Zoom set up in the “MyCharacter” and the Rotate in the “PlayerController”

  1. SO… first thing is , how can I add a gentle fall off for the rotating around object? currently it’s controlled with left mouse button and once released it immediately stops, Can i use a simular method from the smooth movment function from the zoom BP?

  2. I also have a weird bug were if I “right click” all control ceases, what’s the best way to fix this?

  3. Last but not least, what is the best way to create an auto orbit / rotate if the user has been inactive for X amount of time?

I know it sounds like a lot of questions! I am learning but it’s just getting my head around so many different functions it’s making me take my sweet time!

Anyone? :slight_smile:

On the first question, it looks like you already have interp/lerp semantics down. Could you, on the button release, set a time to continue movement, like one second, and then use a squaring (multiplication) damping calculation to bring down movement from speed before the button was released to zero at end of that period? It’s possible there is an existing node for that, but you could do it yourself to get by.