Still trying to get my last feature in my auto runner working. It’s almost there, but one last problem with how some blueprints seem to be acting together with more than one.
I have a blueprint that automatically changes the player’s rotation when they overlap it in the world. It can also change the speed and the amount the player rotates.
Thing is, the first time the player overlaps the blueprint it’s fine, but when it overlaps a second while it does do the correct rotation, it does not take in to account the new Play Rate and just plays the default turning rate.
When the Turning blueprint is overlapped it sets a “TimeLineModifier” value in the PlayerRunner blueprint that is hooked up to the “NewRate” value of a “Set Play Rate” node. I’ve attached screenshots of the two primary blueprints. Subsequent turning blueprints are exactly the same as the first one, but just with the TimeLineModifier and CombinedRotators values changed.
That did it! It’s working exactly how I’d like it to now! Much appreciated, I can’t thank you enough. This has been driving me bananas for some time.
Don’t suppose you would mind telling me what I did wrong so I don’t repeat a similar mistake? No worries if you’d rather not. I appreciate it all the same.
Interp nodes work best used alongside Tick; they will sample the data and try to reach the target. You can decide how quickly you want to reach the target but you can’t directly control how much time it’s going to take. You were feeding the Interp node’s Interpolation Speed with a value from a Timeline track - you were actually increasing the acceleration rate of the turning speed. Your character must have started rotating slowly and built up the rotational speed.
Timeline:
When you use a Timeline, you will generally use it without a tick. The track it outputs can act as a ramp. In the case of lerp node, you can use it as alpha between 2 values. You go from A to B over a set amount of time.
Timeline is a bit like a movie, when it finishes playing, you are at the end and need to rewind. If you just hit Play, nothing will really happen because you’re still at the end. If you want to rewind it to certain point:
It will now start playing from 0.5s. If you want to repeat the whole thing: PlayFromStart