Jump to content

Running animations [Mutator Issue]


yosh56

Recommended Posts

  • Totem Arts Staff

So recently I wrote up a mutator to aid in making our All Deck All Day server a bit more interesting with increasing the movement speed and jump height of characters, as well as re-enabling the dodge mechanic because... reasons.

The only real issue I've run in to is an issue that involves characters moving at a GroundSpeed faster than 320, with the default GroundSpeed for Rx_Pawn being 310 as reference. Whenever their GroundSpeed is set to 321+ they automatically get locked in the sprinting animation, even though 'bSprinting' (and its server counterpart) is still false (or so the log says), and the sprint button is no longer depressed. This happens in both single and multi-player, and doesn't require you to ever actually SPRINT.

This wouldn't be much of an issue if it weren't for the fact that in third-person the character model obviously is not strafing or looking in the direction the cross-hair is pointing. In first person most everything works flawlessly.

I was just wondering if any of the devs would know off of the top of their heads what would cause the sprinting animation to be the default animation after speeds of 321+ are reached. If not, I can also post videos to help show what I mean.

--------

This can easily be replicated if you just load up Skirmish and set Rx_Pawn Groundspeed "A-#-More-than-320". All movement at that speed will be done in the sprint animation, even though you have not achieved actual sprint speed.

--------------------------------

Video of us putting the mutator through its paces. You can see what I'm referring to VERY clearly at 0:50-1:00 when he's firing but still locked in the sprint animation and not actually looking or pointing the weapon where he's firing.

Edited by Guest
Link to comment
Share on other sites

  • Totem Arts Staff

Since the Dev hasn't answered, I might be able to speculate. This is most likely the issue of Anim Tree asset that gets the character into sprint animation using an AnimTreeNode that checks speed, then decides to switch the animation. I believe it's called AnimNodeBlendBySpeed.

Look up the Character's AnimTree in Content Browser

Link to comment
Share on other sites

  • Totem Arts Staff

I've learned more about the UDK than I think I ever wanted to know, but yes you hit the nail on the head from what I can see. Let's see if I can't fix my issue with it now though. Never worked with animation nodes in Uscript

Link to comment
Share on other sites

  • Totem Arts Staff
I've learned more about the UDK than I think I ever wanted to know, but yes you hit the nail on the head from what I can see. Let's see if I can't fix my issue with it now though. Never worked with animation nodes in Uscript

I learned from UTPawn class. Don't worry though. The more you learn about it, the more you realize it needs less script than you can imagine... at least not as much as UE1 or UE2

Link to comment
Share on other sites

  • Totem Arts Staff

Alright, this is all fine and dandy, but I think I've come to a very saddening conclusion: I can't edit that node through Unrealscript without first giving it an actual name. I can't personally give it a name outside of making a new map, so from what I'm gathering I would need to have the devs actually give the AnimNodeBlendBySpeed node in "RX_CH_Animations.Anims.AT_Character_Modular" under the character animations package an actual name so that mutators that affect speed can reference it outside of the editor.

If anyone knows of a way to reference it when it doesn't have a formal name, my ears are open.

Link to comment
Share on other sites

  • Totem Arts Staff

You can expand it to a whole new game mode though, with a custom Pawn derived from Rx_Pawn... that would make you able to give the Pawn a new, edited AnimTree (it's in the SkeletalMeshComponent part)

A DM mode needs a new game mode rather than a mutator anyway

Link to comment
Share on other sites

  • Totem Arts Staff
You can expand it to a whole new game mode though, with a custom Pawn derived from Rx_Pawn... that would make you able to give the Pawn a new, edited AnimTree (it's in the SkeletalMeshComponent part)

A DM mode needs a new game mode rather than a mutator anyway

We're already doing that on Deck. Nobody is spawning as an Rx_Pawn on the Deck server, everybody is a derived class. We were trying to keep it so we DIDN'T have to have a totally new map, and keep it mutator friendly. I don't know how much of a hassle it would be for that blend node to be given a name, but honestly it would allow for some flexibility on the mutator front.

Link to comment
Share on other sites

  • Totem Arts Staff
Make a new Anim Tree. Duplicate the one used by default and name the BlendBySpeed node. Then assign the animtree to the new pawn class. If the method is anything like UT, you will not need to make a new map

Not making a new map is the least of the problems with this. Wouldn't making a new animation tree require the client to have it?

Then again, I could go actually download the SDK and actually be able to duplicate and export it.

Link to comment
Share on other sites

  • Totem Arts Staff
Make a new Anim Tree. Duplicate the one used by default and name the BlendBySpeed node. Then assign the animtree to the new pawn class. If the method is anything like UT, you will not need to make a new map

Not making a new map is the least of the problems with this. Wouldn't making a new animation tree require the client to have it?

Then again, I could go actually download the SDK and actually be able to duplicate and export it.

huh, well yeah. That could be a problem....

Link to comment
Share on other sites

Since the Dev hasn't answered, I might be able to speculate. This is most likely the issue of Anim Tree asset that gets the character into sprint animation using an AnimTreeNode that checks speed, then decides to switch the animation. I believe it's called AnimNodeBlendBySpeed.

Look up the Character's AnimTree in Content Browser

He is right, and I could have answered if I read this in time.

In games like SMNC, speed pickups drop. You can get that assassin bitch up to permanent sprint speed with a full set of "endorsements", an ingame powerup, a ingame mini event buff, and an in-game rarely spawning drop. With Sprintz equipped, Metabolightning purchased, Chickey Cantor defeated by the team, and a Bacon pickup, you reach a permanent speed where your character is always up to sprint movement speed, and the character moves always in sprint animation.

It is by far not worth it, there are better damaging equipment. Also, you can more commonly get her in sprint animation without sprint by just picking up sprint pickups. They are temporary, but get her up to sprint speed.

We're already doing that on Deck. Nobody is spawning as an Rx_Pawn on the Deck server, everybody is a derived class. We were trying to keep it so we DIDN'T have to have a totally new map, and keep it mutator friendly. I don't know how much of a hassle it would be for that blend node to be given a name, but honestly it would allow for some flexibility on the mutator front.

RypeL has been exposing some code in "implemented changes" as per request of modders. If you feel things like this could be helpful, you could ask.

WAIT, there IS ONE MORE THING I can share to help. The animation, probably from the animation's side of it, should have some setting that scales the speed of the run by exactly how fast versus the actual character speed. It checks the character speed, and the animation is adjusted so "running at walk speed" doesn't occur or at the very least the legs move with the ground if it is running at walk speed.

I know bots using the same model with various modifiers based on how high the wave spawn number is, can somehow get faster and have a faster walk speed, or be slowed and their walk speed matches their slower speed for the duration of the slow effect.

EDIT: Just re-read, leg desync isn't your problem, the lack of the character having an aiming animation while sprinting is the problem. That is different. Sorry again.

Link to comment
Share on other sites

Sry but i cant really help here. Unfortunatly i have no idea if the AnimTree could be changed with a mutator and if so how. Typically a mutator is used to change code but not content and the Anim stuff is part of the content packages. So thats a more out of the ordinary thing youre trying to do here. But maybe it would be possible. Or maybe there would be another solution, idk. Im still in the learningphase about mutators aswell and so far im pretty pleasently surprised about the ammount of things they can change though they certainly have their limits aswell.

Link to comment
Share on other sites

Sry but i cant really help here. Unfortunatly i have no idea if the AnimTree could be changed with a mutator and if so how. Typically a mutator is used to change code but not content and the Anim stuff is part of the content packages. So thats a more out of the ordinary thing youre trying to do here. But maybe it would be possible. Or maybe there would be another solution, idk. Im still in the learningphase about mutators aswell and so far im pretty pleasently surprised about the ammount of things they can change though they certainly have their limits aswell.

I made a post somewhere else with 2 alternatives:

1) Is it possible for you to give the anim names so they can be called on by a mutator if it were possible

2) If it is at least easier to raise the "speed" the "sprint animation" kicks in closer to what sprint speed actually is, which is apparently a little faster than 320?

Link to comment
Share on other sites

  • Totem Arts Staff
Sry but i cant really help here. Unfortunatly i have no idea if the AnimTree could be changed with a mutator and if so how. Typically a mutator is used to change code but not content and the Anim stuff is part of the content packages. So thats a more out of the ordinary thing youre trying to do here. But maybe it would be possible. Or maybe there would be another solution, idk. Im still in the learningphase about mutators aswell and so far im pretty pleasently surprised about the ammount of things they can change though they certainly have their limits aswell.

I made a post somewhere else with 2 alternatives:

1) Is it possible for you to give the anim names so they can be called on by a mutator if it were possible

2) If it is at least easier to raise the "speed" the "sprint animation" kicks in closer to what sprint speed actually is, which is apparently a little faster than 320?

3) Make it so animation switches through variable instead of speed (this can be done with BlendByProperty)

Link to comment
Share on other sites

  • Totem Arts Staff

I just want to clarify, since it seems to be being ignored: if we just had somebody change the BlendBySpeed node in the Character animation to have an actual name, we could just reference it and change the constraints array with Unrealscript.

Link to comment
Share on other sites

  • Totem Arts Staff
I just want to clarify, since it seems to be being ignored: if we just had somebody change the BlendBySpeed node in the Character animation to have an actual name, we could just reference it and change the constraints array with Unrealscript.

Though... Yosh. Check if there's only a single BlendBySpeed or not, or if they're just the same. If it is, then you can just check if there's a BlendBySpeed and modify it straight away.

In short, like this


ForEach SkelComp.AllAnimNodes(class'UDKAnimBlendBySpeed', BlendBySpeedNode)
   {
     //Modify the speed threshold here;
   }

Reference from https://udn.epicgames.com/Three/AnimationNodes.html

Link to comment
Share on other sites

  • Totem Arts Staff
I just want to clarify, since it seems to be being ignored: if we just had somebody change the BlendBySpeed node in the Character animation to have an actual name, we could just reference it and change the constraints array with Unrealscript.

Though... Yosh. Check if there's only a single BlendBySpeed or not, or if they're just the same. If it is, then you can just check if there's a BlendBySpeed and modify it straight away.

In short, like this


ForEach SkelComp.AllAnimNodes(class'UDKAnimBlendBySpeed', BlendBySpeedNode)
{
//Modify the speed threshold here;
}

Reference from https://udn.epicgames.com/Three/AnimationNodes.html

Hmm, was looking through that document but never picked up on that. Surprisingly, that worked perfectly, but it still would be easier if we DID have more than one BlendBySpeed node, but conveniently there is only one.

That being said, Handeps just solved this with that piece of code. This is actually the best thing that could have happened right now, as I FINALLY got double-jump working again, and that was far more difficult to sort through than it should have been.

Basically: that code worked, but naming that Node would probably help out A LOT in terms of simplicity.

So, kudos to Handepsilon for making All Deck All Day look a little less buggy.

Link to comment
Share on other sites

May I ask about All Deck All Day? A list of features and such? It sounds more arcadey. Which I do bet is cool. I noticed the server, but while I can figure tricks out by watching the SoB that killed me, which is how I learned SMNC and FTL, and which is the only way you learn it, but I really am more of a "User Manual" kind of guy, do some quick reading and tips and apply them on first play.

Link to comment
Share on other sites

  • Totem Arts Staff

Coming from an average UT player... your first rule is to NEVER STOP at all. Campers are usually get shot easier (the guys that wait on top of the box are really easy targets).

Secondly, do some bunny hopping around during combat, though that doesn't always save you... but you can hardly aim people who does erratic moves...

Third, you can dodge around like it's a fighting game, but in RenX's Deck, it locks you to a specific direction so....

Fourth, immediately suicide upon picking SBH. It's bugged atm

Fifth, as adv. engi, set traps on health packs or passages. If that doesn't kill people, it will thin their health for you to kill them

Link to comment
Share on other sites

  • Totem Arts Staff

If I read Bro's post right, he's asking what's different in All Deck All Day.

To answer that:

As of this post:

+Dodge is re-enabled, though I haven't edited it in any way so it's tied to double-tapping a direction for now.

+Running and Sprint speeds are both 50% faster.

+Jump height is increased 50%

+Fall damage is non-existent.

+Anti bunny-hop measures that were implemented by the devs are removed so you can jump as much as you want

------------------------

As of some time on Sunday (whenever I actually get back home)

X Swimming speed increased, and swimming to the edge of something and jumping should launch you out of the water

X Shooting animation fixed (Not confirmed in multi-player)

X Enabled double-jump for infantry

X All class's health normalized to 200

-----------------

Still need to fix the SBH, which I may be able to do before tonight.

Link to comment
Share on other sites

So it uses some old RenX mechanics from pre-public and Black Dawn, as well as some Unreal Tournament things. I don't mind roll, SMNC has roll religiously. It is tied to the reload button when you are holding a melee weapon which not all characters have but 5 characters do. I can imagine shit that happens when you accidentally use it and didn't mean to. I should in fact play it sometime.

Link to comment
Share on other sites

Hey, Havoc just pointed me to this topic. I've actually made changes to the pawn and anim tree that will be in the next patch. There's a "run speed multiplier" variable that can be set to increase or decrease the pawn's move speed from the default by a percentage. It's made specifically to be modified dynamically for powerups/mutators. (I implemented for a speed upgrade crate)

Your best bet would just be to hang tight until the next patch is ready.

Link to comment
Share on other sites

  • Totem Arts Staff
Hey, Havoc just pointed me to this topic. I've actually made changes to the pawn and anim tree that will be in the next patch. There's a "run speed multiplier" variable that can be set to increase or decrease the pawn's move speed from the default by a percentage. It's made specifically to be modified dynamically for powerups/mutators. (I implemented for a speed upgrade crate)

Your best bet would just be to hang tight until the next patch is ready.

Ah, well that's nice to hear, but as was stated above, Handepsilon pointed me towards a solution that happened to work for now.

So officially, ALL DECK ALL DAY now has all of the functionality I mentioned, but the SBH is still broken on Deck. Working on it, and honestly it was just last on my list since I was hell bent on getting double-jump to work on an actual server.

Note, the jumping out of water function needs to be in stock game as well. It's rather impossible to get out of water without proper slope.... :(

I concur... it's a little bit over-the-top speed-wise on the Deck server, but adding it to the normal game in a less crazy fashion would make getting out of the water a bit less of a hassle.

It's made specifically to be modified dynamically for powerups/mutators. (I implemented for a speed upgrade crate)

Hmm, not sure about the speed crate idea, but I do like how it sort of feels Sole Survivor'esque with upgrade crates to infantry.

I'd like this property though, as I had made a topic some months ago about how much you could balance infantry combat and define roles if infantry speeds/sprint speeds and max stamina were tweaked individually. I was about to start writing that mutator for use on a designated test night, but I may hold off till I only have to edit a few properties, as opposed to having to invent my own.

Link to comment
Share on other sites

  • Totem Arts Staff
Note, the jumping out of water function needs to be in stock game as well. It's rather impossible to get out of water without proper slope.... :(

I concur... it's a little bit over-the-top speed-wise on the Deck server, but adding it to the normal game in a less crazy fashion would make getting out of the water a bit less of a hassle.

Yeah, I was thinking of how you can get up easily on games like CS, Half Life, UT.... but you can't get up in RenX. It's quite a problem since you need to be precise about the slope. Even shallow ground in Coastal's infantry path is near-inaccessible to swimmers

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...