How to make a 360 one way roll?

How can i make my pawn roll 360°? I want to make it roll in one way without going “reverse” like “Interp to” does.

I was trying few things but it has to many bugs and will take like 60+ nodes or more, i just want to ask here if there is a simpler way to do it.

whats the context? is it a one time thing or continuous? is it a click event where you press a button once to make it happen or are you looking for a axis event where it will keep rolling as long as the buttons down?

If you press a button it makes one roll and then i add a delay between the rolls.

what is “it”? the player character? or a mesh?

in any event have you looked into using a timeline or adding rotation on tick. those would be a few simple ways to accomplish this.

I wrote at the beginning “Pawn roll”.

I edited the one above, i mean the second comment here.

This is really all you need to do for a basic system. The timeline length determines how much roll is added each time the player wants to “roll”.

If you want to more easily specify the roll amount you could make a variable and have it increment each tick of the timeline and when it reaches a certain point stop the timeline.

Yeah i thought of that and i was doing this, but i’m not sure if this wont get too heavy when the game becomes multiplayer.

This isn’t very performance heavy. It’s a simple timeline that does a very basic thing with negligible calculations

I wanted to add a value of 360 over a specific time to the “roll” variable. So it would make a 360 :smiley:
Then check with boolean if it’s 0. I would have 2 local variables inside a function and then 360*delta seconds and add it to the roll. Then after adding adding the same value to another variable that will go from 0->360 and when it hits 360 it will stop adding to the roll.

It doesn’t work with adding 360… nothing happens i don’t understand this lol.

I tried it with timeline but it doesn’t work like i would like. I need to add a value to the current rotation so the “starting” and the “ending” will be the same and not just a 0-360 rotation… for example starting from 70 + 360 ending at 70.
I did a timeline with 0 → 1 and then outside the timeline i did it * 360 = made a roll but the plane was buggy and when it had some angle it like snap to horizontal at the start and end.

The timeline was just supposed to determine how long it takes to complete the rotation, whatever values you LERP between determine how much roll is added. Kind of confused by what you’re trying to achieve to be honest. Anytime you add 360 degrees to the current rotation you end up exactly at the same spot. So I’m not sure what you mean by “start at 70 add 360 ending at 70” you can’t end in any other position

I’m also confused why you don’t understand such simple thing.
You think i’m that stupid to do “CurrentRotation + 360”? You can be sure that this is done over a set time. It just doesn’t go from 0 - > 360 in 1ms. Because how you said, this wouldn’t make sense. You should also think that intelligent people don’t start developing games. It’s now almost midnight for me, i can upload a video later and my “simple roll” is more advanced and brain wrecking than you think.

xD xoxoxoxo

I apologize if I offended you in any way. I did not call you stupid, I made no mention of your intelligence and I did not expect an instantaneous “roll”. I assumed you did it over time and I was just trying to say it’s a moot point to say you want to end at the same spot you started if you do any rotation for 360 degrees. Expressing my confusion is not an assault on your intelligence and I never called what you’re doing a “simple” roll. In fact I just provided an answer to your question and stated that my solution was a “basic” system. The only time I used the word “simple” was to describe the complexity of the timeline I used. You do understand I’m trying to help you and giving you my time for free. Why you are getting upset over this is beyond me. That being said, I will stop trying to offer solutions. Perhaps someone else will be better at understanding you than I.

I see, sorry. I guess you don’t know what game i’m creating :stuck_out_tongue:
You can use 360 for skills, functions or to dodge projectiles. There are many uses of 360 :slight_smile: I will show you where my problem is.

I use the T(esting) button for testing. So if you see “T clicked” it means that i make the plane roll.

Look here. I turn right, it sets the old roll variable, then it makes the roll adding 360 to the current roll over time, after reaching 360 it sets the old roll variable as current roll = works like i want it to work. No bugs etc (but there is missing one thing, will tell it later).

Now the same thing when i turn left. It makes this “snap” and instead of setting it to -50 (or what ever the old roll value was) it goes from 0 → (old value) instead setting it directly to this value.

The other thing is when i turn right and press T and then before the roll ends i turn left so the roll value becomes “negative” it also snaps. It snaps only going from right to left. but NOT from left to right.

Goal:
If i fly left or right the fade should be like this:

Yes i will later make also a left/right direction roll. But the idea is, when someone rolls right and then moves left, it should not snap like this. It should be smooth like the link above i showed you going from left to right. Just smooth.

I just thinking. Should i maybe and the rotation always at a horizontal position aka (0) and then add a Finterpt to from 0 → old roll value ? It should look always “smoooooth”. I guess. Doesn’t sound bad but i guess it wouldn’t fix that “snaping” when switching sides/directions left/right while rolling?

Es ist hier kein Kindergarten. Wenn du was beitragen möchtest dann mach dies, aber solche “XD xoxoxo” sind nicht nötig. MfG.

hey, ich würd sagen dass es schwer ist das hier nachzuvollziehen. Es hat mir am meisten geholfen, sich weiter daran anzustrengen, da es meist bei mehreren Funktionen oft um ein Flüchtigkeitsfehler handelt. So kriegst du die Lösung bestimmt eher raus :slight_smile: