Topic: Throw that swaps the positions of the characters.

We are having an issue where we are implementing a throw where one character throws the other behind them much like Ryu would however the issue is the animations are all correct however upon successful completion of the animation, both character (for what looks like 1 frame) momentarily render their idle positions with the original orientations (when in fact they should now be reversed). This does sort it self after 1 frame however this basically creates a graphical glitch. Please can you advise if there is any specific setting or method we need to use for moves of this type where the two characters swap position.

Thanks for your help in advance.

Kind regards

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

are you using invincible frames on your attacker character?

Eternal Rift Studios
    Current Projects:
         Destined Soels
Always happy to help when possible. If its something pretty minor ill just help you out. But i do commissions as well. Hit me up if you need a commission.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Try using auto correct rotation on your throw.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Hello All.
Its not anything to do with invincibility as I have even triggered the animation by itself just on the character which will be thrown.  The problem arises because the animation itself handles the rotation and when its finished, both chars are facing each other but as far as UFE is concerned they are still facing the opposite direction.  When the move ends it momentarily tries to reset this causing the flicker.  I have the correction rotation however if we use this , it changes the animation and its no longer useable in this form.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Auto correct rotation sounds like the easiest solution to this but the current behavior doesn't allow for customization of what frame it should be done on.
I'll see if we can get it in the next UFE update.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

if you can edit the animation then you can edit it so the victim is facing the wrong way at the end of the throw.
then fix the auto side correction in the move editor this would make the character face forward which is the direction of opponent

Eternal Rift Studios
    Current Projects:
         Destined Soels
Always happy to help when possible. If its something pretty minor ill just help you out. But i do commissions as well. Hit me up if you need a commission.

Share

Thumbs up +1 Thumbs down

Re: Throw that swaps the positions of the characters.

Hello again everybody.

quick couple of responses and some more info.

Auto correct rotation sounds like the easiest solution to this but the current behavior doesn't allow for customization of what frame it should be done on. ->  You can control up to what frame it auto corrects whilst executing a move however this also changes the animation so wont work in this case.

if you can edit the animation then you can edit it so the victim is facing the wrong way at the end of the throw.
then fix the auto side correction in the move editor this would make the character face forward which is the direction of opponent ->   

We have tried this also however it didn't work.  Specifically the problem is that we can sort the rotation out in the move however directly after the move has completed and KillCurrentMove() has run , it momentarily flicks back to facing the wrong way.  Ive even added code to change the rotation round at the end under certain conditions and that does work however, there is still something after this method which flicks it back to the original orientation (not mirrored).  Its really obvious if I change the smooth rotation time to 1 as you can see it snap to the wrong way and then rotation back round to facing correctly.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Continued form last post ->
for those of you which know the code...

standardYRotation = -standardYRotation;
localTransform.rotation = FPQuaternion.AngleAxis(standardYRotation, FPVector.up);

will flip it round during KillCurrentMove();

It looks to me like something is momentarily forcing it back to the original rotations for a split second afterwards, is there a way to pass it the value to say "this" is the correct rotation so this does not happen?

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Further details ,
After testing with certain options such as temporarily disabling the "always face opponent" , its seems to be that the system still thinks the characters are on the original sides.  What's the best way to tell the system that the characters have swapped their relative positions? I believe this should fix the issue.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

if you dont mind sending the 2 animations in question maybe Freed or I can figure something out if we could actually recreate the problem on our machines

Eternal Rift Studios
    Current Projects:
         Destined Soels
Always happy to help when possible. If its something pretty minor ill just help you out. But i do commissions as well. Hit me up if you need a commission.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Hi XFTLXKingPheonix

Unfortunately its a not really possible to send the animation as we have custom characters as well but any animation where the direction the character is facing changes would let you replicate the issue.  Basically the animation is 100% correct at the time the move ends as Ive been able to debug this and verify but just after the current move has ended and KillCurrentMove() has done everything it needs to(correct at this point), the system momentarily thinks the character should be facing the other way round.  Its really obvious to see with smooth rotation enabled with a value around 1.

Share

Thumbs up Thumbs down

Re: Throw that swaps the positions of the characters.

Now that ive tested the glitch. and i see exactly what you mean. i have 1 solution that i know worked for me on previous project but its too much work and was way too annoying to set up. 

this solution requires modifying the animation itself. and using auto correct rotation.. basically
1.duplicate animation 
2.slide through the animation until the exact point the characters switch sides. on original file.
3. delete everything after that.
4. in the copy do the same thing. but delete everything before that.
5. on the copy that only has the second half of anim. completely mirror the animation. in the animation itself not with the mirror boolean.
6. add the animations back together. set in move and add auto correct to be +1 frame after the side switch.  repeat all steps for the reaction. 

this method worked for me but it wasnt worth the effort. and personally just raised my smooth rotation speed to get over it.
but if you want a more reliable fix you might have to wait for an Update.

Eternal Rift Studios
    Current Projects:
         Destined Soels
Always happy to help when possible. If its something pretty minor ill just help you out. But i do commissions as well. Hit me up if you need a commission.

Share

Thumbs up +1 Thumbs down

Re: Throw that swaps the positions of the characters.

Hi XFTLXKingPhoenix.

Thank you ever so much for taking the time to look into this.

We did come up with this idea also but as you say the workload is large and it ties you down creatively so its a bit impractical.  We are close to a solution as Ive been able to reset both the target rotation and the actual rotation of the wolf at the end of KillCurrentMove() but I believe something after this is potentially momentarily restoring the actual rotation of the character back to an original orientation , and of course it then moves to the target location.  I dont suppose you would have any indication of where this would be in the code?

PS. this method is in controlSscript.CS (around the 2710 line of code)

Kind regards

Share

Thumbs up Thumbs down