I want to make a death-match game where every time you jump it changes the pull of gravity. It Makes the ceiling become the floor and vise versa. So basically every time you jump, you float to the roof and it becomes the floor. With this type of game play a match would look similar to this:
http://i.imgur.com/jllLK8X.jpg
This would be fun because I would need to create TWO levels, one on the floor and one of the roof, since players can go back and forth.
My issue is that I am not sure how to go about doing this and I was wondering if anyone could help me out?
Thank you so much for your assistance
Replies
You can only do this in all kinds of hacky and workaround kind of ways, and then it won't be very userfriendly/stable probably. For example you could invert gravity (which is not the same as orientation), so your head sticks to the ceiling, hide the player, unhide a second player model attached to the pawn that is upside down, and now itll somewhat look like you are walking on the ceiling.
You could also teleport players to a second level which looks like the first but upside down, but then you can't see the other players.
The whole thing would be far from polished and you will spend ages just trying to reach a functional state, let alone a finished state, so IMO drop it.
Thankfully, so long as we're not talking multiplayer or bot support, if you only want to be able to have floor or ceiling, there is a clever trick you can use - teleportation between two copies of the game world.
Basically all you need to do is mirror your entire game world in Z, then teleport the player between the two - normal gravity will take care of the rest. You will need to do some clever calculation to get the player teleported to the right position. I would mirror them around Z = 0 to make this as easy as possible, because then the location just becomes negative / positive instead of anything too complicated. Finally, for added bonus, when you do the teleport, make sure you rotate the player as so they are upside down each time you teleport - the player controller will smoothly spin the player to be the right way up for you automatically
If you wanted a proper gravity-flipper that would work with AI and multiplayer, then you're looking at a lot of UnrealScript, but it's still possible. It gets a lot nastier if you wanted to go in directions other than up/down, because annoyances like player collision cylinders not being rotatable get in the way. Kismet is not a realistic option.