I am making a dragon pawn that is controlled by the player that has an accurate flying / gliding feel, I am using a physics pawn this because I want to get lots of physics interaction going on in the game.
How I want this to work is the faster you go when holding space the more drag there will be in a downward direction relative to the player, ie you would fall very slowly downwards when moving fast but the downwards drag would fade out as your forward velocity gets less also it needs to be relative to where you are looking and so if you look strait down or strait up you would fall at normal speed because there would be no drag in that direction.
there may be a better way to do this but I don’t know it.
thanks in advance
As a matter of fact I sortof did, If you unrotate the actors velocity vector using the rotation(there is a node for this, called “unrotate”) you can then break the vector and multiply the axes you want to add drag too by a number, I clamp this number between 0 and 1 depending on speed. if I am going slow then this number is 1 so I fall normally, if I am going fast I set this number to 0.5 since the lower you go then the slower you start to fall, 0 would mean you would not fall in that axes at all. After adding this value to one of your axes use a make vector node to put them together again and then use rotate vector and the same rotation you used to unrotate the vector at the beginning to get it back the right way, you can now put this vector into the set velocity node and if you have this powered by tick you should be done.
I should also mention I am now using the Character controller class not a physics pawn since I can do multiplayer replication better this way.
Let me know if that makes sense, and if it works for you. I’m currently looking at wind, any idea if it would be possible to use some sort of vector field to add velocity in different directions depending on position in a level?