How would I go about ski jumping physics?

Hello, let me just start off by saying my experience with blueprints or c++ is limited. I am quite experienced however with javascript(jquery), html, css and such, although I fail to see the relevance of that type of code here.

 I'm trying to replicate the physics of ski jumping, something which I have found quite the challenge. My first thought was using air resistance, but I can't find it (I assume such specific physics are not implemented, although I'd like to be wrong). Then I had the idea of surrounding the environment with a water volume, but that would be unpractical, although it might work. Is this the way to go, or is there something I have missed? I did quite the research, but I can't seem to find a solution to my problem. It would also be nice if I could have some sort of wind force affecting the character and physics. A push in the right direction or anything more is deeply appreciated.

TL;DR I need to replicate the physics of ski jumping and so far it has been fail fail fail.

P.S.this might be a good read

Btw is this the correct forum section? I just saw physics as a description so I assumed this was the correct place to post.

You could potentially mess around with jump pad parameters. You set the landing place with them but the jump could be affected by the speed hitting it, timings and other factors that would set the landing position as you hit the jump pad. It’s not ideal but I’m sure it’s possible. You get a nice thunk sound as you take off too. Just joking, that can be removed or changed lol. Not really sure how UEd deals with inertia or even variable sliding angles. Volumes can be used, probably with randomised variables with scripting. If you can calculate the velocity that the slope sections would provide then at least you could compare the UE physics for accuracy, then put volumes on each section to compensate and surface properties on the slope polys.

If you do successfully create the ski-jump physics in UE, that sounds like a valuable addition for the engine when released as a mutator. Slopes are a large part of the UT games but not a lot can be done with them except slide off so that physics could open up new elements to movement. Not before time where slopes are concerned.

For the ski jump.
I would look at the rolling ball physics, not looking to bad, when dropped down a ramp, when you forget the “rolling” thing.
Theoretically you could hide the ball and parent the player to it.
For more complex things you could use traces, but they are complicated, when it comes to cross an edge on a ramp.
For the Wind you could use a volume with a force(timeline for more windish feeling) and animate/rotate it windish.
With the force you could influence behavior.
May the force be with you.

Thanks for the quick responses everyone!


Actually the jump pad is quite a brilliant idea for the takeoff part, didn’t think of that one but it might just do the trick!


Yes I had a look at the rolling ball scene and physics, not to bad. Loaded in my models (got one ski jump finished and the jumper is also sorta finished) and let the ball roll down it and well it was fun, what else can I say? I never looked into traces, so now I’ve piled up hours of youtube videos to watch tanks to you :stuck_out_tongue:

Traces are fun. Here is an old video, where i understood the basics and started to have really fun with them :slight_smile:
They are worth it and very reusable in many gameaspects.
When you use them, do not use event tick.
Setup a timeline to loop and autoplay and feed a gate with the output.
You could then easy trigger the opening/close of the gate.
When ticks are used, then it could impact performance quicker, if you ask me.
I really must laugh so hard now, everytime i watch that ^^

Oh god that made my day. Added to my favourites.
If you noticed “Jacob Sheep” subscribed to your channel, that’s me.

Don’t forget the right amount of cowbell, that is always the most important factor. :slight_smile:

Might not be what you’re looking for but I have a simple sliding mechanism where I alter the “max acceleration”, “braking deceleration walking” and “max walking speed” along with some other less important settings depending on things such as the angle the character is on and current velocity.

It’s roughly based on the video version of this:

Will remember :slight_smile:

That’s cool, maybe I could implement it somehow.

The answer heavily depends on which specific features you want to have. If you are building something similar to Olympic ski jumps then you don’t need to control athlete steering on the slope - which eliminates some work by not simulating anisotropic friction of the ski. If you want to control steering of the ski on the snow, then you have to simulate friction yourselves, I do something like that for Aerosled.
The next part is simulation of the flight. To get most out of the flight portion of the jump, athlete need to behave like an airplane wing, you could go around this by having some lift force dependent on the angle of the pitch that athlete holds in flight.
The other part is landing. Imho the “physics” itself here is the easiest part, the more difficult part is to get it working seamlessly with animations of the character, taking into account that default character is not physically simulated.

 Okay, so now I think I got the basics down. First I would set up a simple sliding mechanic for the inrun, where the actor just glides and gradually accelerates down the slope. This should be accurate, as I have heard athletes describe the inrun as "virtually frictionless". For the takeoff, I would have a very thin "launch pad", and change the speed and height of the jump based on how accurate the player times the jump, something I don't really care to explain right now. Then I would adjust the speed and lift with a linear falloff based on the angle of the ski jumper. As of the moment I'm not sure how to measure my angle, maybe I could use traces? 

 The landing part should be more related to animation, something which is not too much of my problem now and should be easy. I'll just do a on "click left do telemark" and on say "click both do normal landing". Should be easy. I'm gonna do some testing soon, stay tuned for updates.

TL;DR I think I’ve got a solution