Hanging up not stopped and my character continue to climb to infinity in the air

Hi,

Well, when I move up when my character is hanging, he climbs up in the air even if there is no hang ledge and he continue his route in the air! It is weird.

How to prevent this behavior?
 
I read again the documentation and refined the settings but I still have my character that continue climbing even if there is no ledge.
Moreover, I cannot find how to adapt the speed when I am moving when hanging.
 

Justin

Administrator
Staff member
The movement speed is based on the animation since it uses root motion.

Did you replace the animations? My guess is that you are missing an event. If you did replace the animations can you try using the original animations to see if it works?
 
Well I use the original animations because they correspond to what I need. Before adapting I always prefer doing the simplest approach and when it is working, I start improving to my specific requirements.
 
Yes the original animation work but don't stop climbing. It continues on the upper ledge and sometimes on the top it stopped it continues in the air 😄
In the demo scene it is correct but there is only one ledge not several then it is a little bit simpler.
 

Justin

Administrator
Staff member
Can you insert a breakpoint on line 557 of Hang.cs? The HangState will be TransferUp, and as soon as the character has arrived at the next location the ability should get to line 557. If it does not get that far, what condition is preventing it from reaching that line?
 
I put a breakpoint as you proposed and I tried step by step. First weird behavior is that when I have several ledges the character jump when it starts the ability until the first ledge correctly and he is hanging. If I jump I fall normally. If I move up, the character should jump on the up ledge but instead it moves 1 meter up with m_CharacterLocomotion.Up = (0 ; 1 ; 0). Nothing prevents moving because a ledge is detected upper! But it should not move up it should stand up on the ledge and stop until I move up again. Instead it continues. If the upper ledge is a hang ledge it will stopped on it but in another wall I put a Ledge Strafe and in this case rarely stopped on it and continue even if nothing exists upper. It should not detect something (there is nothing else than the air!) and should stop!

I have tried in the demo scene by putting a second ledge on top of the first ledge (at y=-1.28) when you enter in the pit and I got the same problem!

I think that it partly links to the m_CharacterLocomotion.Up = (0 ; 1; 0). I see 3 cases:
  1. The character is not supposed to jump with the force of his hands and then should do nothing or has a try animation and comes back on his initial position (it is a miss jump!)
  2. The character can jump higher with the force of his hands and then should move to the ledge upper. But that means that the animation should be followed a curve that fits the height to reach the upper ledge. Quiet tricky I think!
  3. The character can pull up and stay on the ledge with a standup position... the simplest approach?
  4. Another approach....
 

Ahrazadam

New member
Hi there, I've also encountered this problem. For a makeshift when I set vertical difference between legdes lesser than 1 problem is solved.
 

Dollartooth

New member
Got the agility pack direct from the Opsive site yesterday, had the same issue show up. Not sure where I'm going wrong - is the version from the site also updated? I expect I've gone wrong somewhere, but thought I'd check.
 
Last edited:

Justin

Administrator
Staff member
Can you list the steps to reproduce within the demo scene? When I add a third ledge it works correctly.
 

Dollartooth

New member
Can you list the steps to reproduce within the demo scene? When I add a third ledge it works correctly.
Ah never mind, I was being a dummy and messed up the states; was sure I'd checked it, but there you go. Working great now, thanks for getting back to me so fast though.
 
Top