Jumping, frog like movement?

Hi all

So I have Some Marshmallow creatures that jump around like cute, oblivious idiots but I’m not sure I like the current movement system I have working. I’m aware that a number of issues can occur when using Animation as a movement so I’m hoping someone can enlighten me on a way I can make these marshmallows jump whilst moving without the animation doing the jumping. Here is what I have -

I’d like to know if there is a way to make them jump up and down like that so I don’t have to use their transform in the animation software (blender).

Thanks!

It’s hard for me to tell what the solution is given what you’ve provided. Are they characters or pawns? Character has build-in jump functionality. All you need are the animations without root motion. Are you using root motion? It might help if you post a video like that but with the collision capsules visible. And TBH it looks pretty good to me. The sliding on the ground doesn’t look realistic but they’re marshmallows so who knows how they move.

You can use a Timeline to drive their vertical displacement (Z) while the move around. If you use an inverted U-shaped curve they will bounce up and down. You can add some easing to make it look it more natural and also have different Timelines to choose from so you add some variations between the different Marshmallows.

This sounds like it would work. Didn’t think of using timelines. And since I didn’t think of using them it goes to show that I’m not much good at them. Care to elaborate some more? :slight_smile:

Basically timelines allow you to generate one or more values over time and use them to drive other functions. Inside timelines you define how the values change over time by shaping a curve. The curve is shaped using keyframes like you would do in any animation application, so they can be pretty flexible.

In your example, you can define a timeline which starts from (0,0) then raises toward (0.25,10) and then goes back to (0.5,0), then to (0.75,-10) and finally to (1,0) . The first value is the time, the second the output of the timeline. Basically its a saw-tooth shape if you don’t use Auto nodes, but becomes a smoother S-shaped curve if you use auto nodes (Bezier).

In this way you get over 1 second an output value that starts at 0, goes to 10, then back to 0, then to -10 and finally back to 0. If you check the Loop option the timeline will repeat this over and over again.

Now if you use the output of this timeline to feed the Z value of an AddActorWorldOffset and apply it to your Marshmallows, the result is that they will bounce up and down.

Here is a YouTube tutorial taking you through the basics of timelines: Beginners Tutorial | Timelines Blueprint | Unreal Engine 4 - YouTube

Ok I got it to move right. Thanks! Just gotta try and figure out a way to set him to idle when he isn’t moving, and this timeline when he is…

This is a reference to all nodes you can use to start / stop / reverse and loop/not-loop a timeline. I am sure you will be able to figure it out. Otherwise please post again and will do my best to help you. :slight_smile:

Ok thank you! This has been extremely helpful!