Problem:
A pawn might stop ascending :tup: or descending :tdown: when it hugs the wall "the right way" while in PHYS_Falling; ie a jumppad making a player hug the wall.
This happens often during netplay games, where an ascent is abruptly cancelled because a pawn hugged the wall while in ascent -> pawn falls down -> pawn sent up by jumppad again until eventually reaching the jumpspot.
This behaviour is found with maps that use a JumpPad to send a pawn flying up in front of a wall.
Obvervations:
- The behaviour differs in netplay games.
-- In netplay games, it seems to be impossible to provoke this bug when the pawn is descending/falling (IIRC), but it happens almost all the time on ascent, when hugging the wall "the right way." Another difference in netplay games is that the pawn falls according to gravity after having its velocity cancelled, but in offline/local games, the pawn might fall slowly, gliding down the wall.
Example map:
DM-Campgrounds2004-G1E
Location:
The center area utjumppad where the UDamage is, but the other area with the pillars demonstrates the same issue.
Once a pawn hugs the wall "the right way," the ascent or descent is cancelled. Again, the pawn might descend slowly in offline games, or according to gravity in netplay games (I haven't seen evidence of anything else).
Local/offline game: In the screenshot above, the pawn was thrown up in the air by the UTJumpPad. I moved the pawn towards the wall, either during ascent or descent. The original velocity is abruptly reset by the hit, and the pawn usually starts falling slowly, as if gliding down the wall, sometimes in small bursts.
The following is observed (player showdebug):
- Velocity: X is always 0, while Y and Z values fluctuate, and no movement keys are used at this point.
- Acceleration: always 0.
- Location: Rotation: The third rotation value seems to fluctuate as well.
- No need to move towards the wall once caught in this anomaly; the pawn can be left alone.
It might take a couple of tries to reproduce it. Just move against the wall at some angle. Sometimes you don't have to do anything; ie have the pawn fall on the jumppad, and the angle will throw the pawn at the wall "the right way," and the velocity gets cancelled.
Is this solvable in UnrealScript, or is there some mapping trick? (Note that the BlockingVolume in the example map doesn't fix this.)
PS: I tried reproducing this bug in the latest UDK build (to see if it had been carried over), using the standard scripts, but it seems to work as it should there; no velocity cancelling on hugging the wall while in ascent or descent.
A pawn might stop ascending :tup: or descending :tdown: when it hugs the wall "the right way" while in PHYS_Falling; ie a jumppad making a player hug the wall.
This happens often during netplay games, where an ascent is abruptly cancelled because a pawn hugged the wall while in ascent -> pawn falls down -> pawn sent up by jumppad again until eventually reaching the jumpspot.
This behaviour is found with maps that use a JumpPad to send a pawn flying up in front of a wall.
Obvervations:
- The behaviour differs in netplay games.
-- In netplay games, it seems to be impossible to provoke this bug when the pawn is descending/falling (IIRC), but it happens almost all the time on ascent, when hugging the wall "the right way." Another difference in netplay games is that the pawn falls according to gravity after having its velocity cancelled, but in offline/local games, the pawn might fall slowly, gliding down the wall.
Example map:
DM-Campgrounds2004-G1E
Location:
The center area utjumppad where the UDamage is, but the other area with the pillars demonstrates the same issue.
Once a pawn hugs the wall "the right way," the ascent or descent is cancelled. Again, the pawn might descend slowly in offline games, or according to gravity in netplay games (I haven't seen evidence of anything else).
Local/offline game: In the screenshot above, the pawn was thrown up in the air by the UTJumpPad. I moved the pawn towards the wall, either during ascent or descent. The original velocity is abruptly reset by the hit, and the pawn usually starts falling slowly, as if gliding down the wall, sometimes in small bursts.
The following is observed (player showdebug):
- Velocity: X is always 0, while Y and Z values fluctuate, and no movement keys are used at this point.
- Acceleration: always 0.
- Location: Rotation: The third rotation value seems to fluctuate as well.
- No need to move towards the wall once caught in this anomaly; the pawn can be left alone.
It might take a couple of tries to reproduce it. Just move against the wall at some angle. Sometimes you don't have to do anything; ie have the pawn fall on the jumppad, and the angle will throw the pawn at the wall "the right way," and the velocity gets cancelled.
Is this solvable in UnrealScript, or is there some mapping trick? (Note that the BlockingVolume in the example map doesn't fix this.)
PS: I tried reproducing this bug in the latest UDK build (to see if it had been carried over), using the standard scripts, but it seems to work as it should there; no velocity cancelling on hugging the wall while in ascent or descent.