Hi I am trying to slow down the world around me but have the player still walk at a normal pace. I tried using a Custom Time Dilation but when I walk in VR time still slows down. I tried both get player character and get player pawn but none worked. Below are screens.
I think time dilation doesn’t apply to VR Pawn/Character at all, you’d have to slow the player manually somehow and actually not sure how one would go about doing it. I assume forcing player with slower movement, be it motion controllers or camera would cause serious motion sickness.
So ya I’m not trying to slow down the player. I’m using artificial locomotion so push forward and you move forward back, sideways and so on. The problem is that when I slow down the time of the world the player also moves really slowly. You can still look around at normal speed but moving the pawn through the vr space becomes slow. I’m trying to keep the locomotion speed normal.
You will have to look at the movement code for the weapon master pawn. Generally actors tick delta is modified by the custom time dilation so it should work normally with the settings you are using, but it may be the case that they are running logic in some other manner or of of GetWorldDeltaSeconds which isn’t modified by custom dilation.
You could manually get the current custom dilation and multiple the delta by that prior to using it to adjust manually.
Ya I posted a question on their thread so hopefully they will shed some light on how they are doing the movement for the pawn. Its a huge BP so not as easy to navigate. When you say manually get the current custom dilation do you mean set a bol on the global time dilation then on a tick add an if statement that would manually multiply the speed of the character movement? so if time slows down increase walking speed to (whatever ten times its speed is)
You should be able to “GetCustomTimeDilation”, the same variable you are setting there and just multiply deltas by it (its per actor). Then when it is 5 and global is 0.2 the character should move normally, but when not slowed down it should be 1.0 so there would be no difference as 1 * any number = that number.
That or move to using ticks delta instead which should already compensate for it.