I’m trying to figure out a way for the character controlled by the player to slide down slopes and hills. As if the character was snowboarding. I’m currently just working in the pre-made TP_ThirdPersonBP.
So essentially this is how the mechanic(s) would work and play out when finished:
(To start with) The Player character stands on top of a snowy mountain.
1- As he starts to run down the mountainside he builds up speed.
2- When he reaches a certain speed he will transition in to a sliding animation. He will keep on building up speed as he slides down the mountainside.
3- If he hits a jump he will fly forward through the air, airtime depending on the player character’s speed.
4- By pressing a button the player character will open a hang-glider/Parachute to get extra airtime and will end up gliding further.
I want the player character to just to slide on one type of surface though (you would not be able to snowboard/slide over a rocky ground. But would glide smoothly on snow downhill).
I understand that this might be pretty complex, I’m a game designer and an artist and not really a programmer. So I’m using Blueprint. But any tips that would point me towards the general direction of setting up something like this would be immensely appreciated!
Here’s a rough visualization of what I’m trying to accomplish:
Try creating a physical material class in the CB. I have no idea if this is what you need, but physical materials govern the physics properties of surfaces, and are assigned at a material level; allowing you to have a snow material, and a snow physics definition that is automatically used when you are in contact with a surface using your snow material.
TL;DR: Physical Materials should allow you to set the slipperiness of a surface.
Thanks for the reply, really appreciate it!
I tried what you told me, and it works fine for other objects/props. But the player character seem to not be affected by it, as he moves normally on the physical material.
Have you activated the gravity components?
Character controllers (like the player capsule) don’t use conventional rigid body physics for movement or collision response, so basically you’re going to have to look at the character controller class and how it does its physics properties.
Have a look at how the Unreal Tournament guys are implementing some of their movement changes as a starting point maybe? They are doing some dash-type moves I believe. Haven’t really been paying attention.
Try looking at the rolling ball template. I think that extends from the pawn class, not the character class. You may have to try that.
Thanks for all the suggestions! I’ll look into it and see what I can figure out.
Again, really appreciate the help!
The rolling ball template might hold the key! at least it’s a really good place to start looking! It got some of what I’m looking for that’s for sure.
I am working on a similar project and one guy told me to change the max walking angle in the character BP. This will cause the player to slide down. Also when using a character you can reference the character movement component and get the current floor variable from it. This struct gives lots of info on the floor including physical material. You can change movement speed or friction depending on the floors physical material.
Have you gotten your game to work?