[REQz] I'm looking for someone to tweak some unused vanilla

Post » Tue Jan 01, 2013 9:25 pm

EDIT:
I'm not as desperately in need of help with animations anymore as I was when I created the thread, describing my ''solutions'' in this quote, but leaving the thread open for reasons explained in the end of this quote
Yay figured out 2 new things which allow me to cheat my way out of the problems using scripting, so I should be able to get a functional and actually useful version of dodging out without the help of an animator.

The first thing I'm doing is intentionally putting a short delay on when the sprint button is pressed and when a dodge animation is played (controls which I'm currently going for is that pressing the sprint button while moving sideways or backwards will make you dodge, since the sprint button didn't do anything anyway in those circumstances). This may sound weird at first, but it allows me to pretty much fix the first 2 issues in the OP both at once

During this short delay, the player will probably still have his sideways movement or backwards movement buttons pressed (at least I did while playtesting, it's just intuitive to keep those buttons pressed). During the delay, I speed up the player's movement, and because he still has the button pressed, he'll run much faster in the correct direction during this delay. It's a very short delay and once it's over, the actual dodge animation plays. The result is that the player covers more distance (first a quick burst of sped up movement) and when he presses the button he immediately moves faster, which is then followed by the slower dodge animation, so the slow part of the entire dodge is now moved to the end of the action, which means that the player already moved away a bit and the dodge actually was useful.

It doesn't even look bad in game really; the player speeds up for a few quick steps, and then makes the dodge animation which looks kind of like a movement made to keep his balance after the sudden burst of extra speed. Obviously it doesn't look 100% perfect, but it doesn't look horrible either and at least it's functional and useful.

A second trick I've found is that forcing the player to play a ''SprintStop'' animation actually cancels the dodge animation. Initially I tried this because there would sometimes be a bug where dodging in first person mode would make the player sprint afterwards, so to fix that bug I made the player stop sprinting again. However, since this thing cancels the dodge animation, using proper timing I can decide when I want to cut off the dodge animation, so now there won't be a long ending to the dodge animation where the player can't do a thing, but instead he'll quickly regain control of his character again.

I think if I'm not too busy (with new year's day and all) I should be able to get an initial release tomorrow.

I'll leave this thread open still because all I've done is work around the problems, they're not entirely fixed. I'm not desparate for help anymore, but in case anyone else still reads the thread and is interested in properly fixing the animations, I'm obviously still interested in trying that out and seeing if it's an improvement over my current ''solutions''

So, I've been working on something which especially users of my Deadly Combat mod have been requesting for a long time, which is a dodge mod. The idea is pretty much identical to the TK Dodge mod already available on skyrimnexus here: http://skyrim.nexusmods.com/mods/20923/

but there are 2 reasons I'm doing it all over anyway: the first is that for mods which I regard highly essential to my skyrim gameplay I like to be fully in control of how they work so I can add onto them if I like. The second reason is that TK Dodge requires Script Dragon, and instead I'm making a version using SKSE.

But I'm not making this thread to discuss this mod project anyway, so let's get to the point: I could REALLY well use the help of an animator to tweak the animations used in this mod a bit. So far everything is working rather well, but I'm running into some similar ''issues'' which the author of TK Dodge also ran into, which are the following:

( 1 ) The dodge animations used (they are vanilla animations, come packed with vanilla skyrim, but are completely unused in the base game) cover very little distance, especially the leftwards dodge. This means that even though the animation looks kind of cool and all, it's not particularly useful in combat. It would be nice if someone could tweak the animations to cover a bit more distance.

( 2 ) In my opinion, the animations are kind of slow, especially in first person. There's some sort of ''windup'' in the animation where your character ''prepares'' to dodge. In a combat situation, I'd like the dodge to be very responsive and I need the player to be able to actually use the dodge reactively to get out of the way of an attack quickly enough. So if someone could speed the animation up that'd be wonderful.

( 3 ) There's a third issue, which I (with my very limited knowledge of how animations actually are structured in skyrim) suspect to be much more difficult to solve than the above 2, so I don't really expect anyone to react to this saying he can fix it, but if someone can that'd be great. The issue is that with some combinations of equipped weapons, the dodge animations simply will not play at all. I think there are some ''conditions'' baked into the animation files, which are not accesible from the Creation Kit (trust me on that, I've looked everywhere), which prevent animations from being played even with a Papyrus function like Debug.SendAnimationEvent(): http://www.creationkit.com/SendAnimationEvent_-_Debug . Examples are: when the player has no weapons drawn at all, or when he has a staff or spell in the right hand.

The animation files which I'm using are the following ones:

- Data\meshes\actors\character\animations\dodgeback.hkx
- Data\meshes\actors\character\animations\dodgeleft.hkx
- Data\meshes\actors\character\animations\dodgeright.hkx
- Data\meshes\actors\character\_1stperson\animations\dodgeback.hkx
- Data\meshes\actors\character\_1stperson\animations\dodgeleft.hkx
- Data\meshes\actors\character\_1stperson\animations\dodgeright.hkx

In fact, I'm experiencing something similar to the third issue in my Dual Wield Parrying mod, so if anyone can deal with that for the dodge animations I'd also like to talk about that and see if something can be done there, but for now I'm especially desparate for help with the first 2 issues since in my opinion those issues currently make the entire mod project almost useless.

If someone can help with this, you'd obviously get lots of mentions in the credits.. or I suppose you could also upload the animation files separately as your own mod. That way users of the TK Dodge mod could also download that separate package and also enjoy the fixes, since these issues have also been plagueing that mod.
User avatar
Emily abigail Villarreal
 
Posts: 3433
Joined: Mon Aug 27, 2007 9:38 am

Post » Wed Jan 02, 2013 5:11 am

Lemme give you my 2cents; i just tried out tk dodge and it was horrible clunky.
Spoiler

I could never figure out how it was beneficial to use, it didn't dodge very far so you just stayed close to an enemy doing some weird animation, basically lagging. so faster enemies could still attack you, basically just froze you up for half a second and moved you a few small steps away.

if you do redo this, it would be great if you could make the dodge either much, much faster than tk dodge or at least make the character dodge much farther away.

edit: i should probably read your entire post first before commenting lol

btw absolutely love duel weild parrying. essential mod for me

good luck on finding an animator, i'd try to do it but i really have too much going on right now and i have never even tried to animate anything in 3ds
User avatar
Vicki Gunn
 
Posts: 3397
Joined: Thu Nov 23, 2006 9:59 am

Post » Wed Jan 02, 2013 1:04 am

( 1 ) The dodge animations used (they are vanilla animations, come packed with vanilla skyrim, but are completely unused in the base game) cover very little distance, especially the leftwards dodge. This means that even though the animation looks kind of cool and all, it's not particularly useful in combat. It would be nice if someone could tweak the animations to cover a bit more distance.

Your best option here is not to look for a non-existant animator as NO true animators exist within this community (Myself excluded as I no longer release anything publicly), but its to look for the modders that know how to import Mo-Caps into Max and export these animations for Skyrim, or do it yourself its very easy to do and finding Mo-Caps for Dodging or Gymnastic flips and what not are freely available everywhere just do a google search.

( 3 ) There's a third issue, which I (with my very limited knowledge of how animations actually are structured in skyrim) suspect to be much more difficult to solve than the above 2, so I don't really expect anyone to react to this saying he can fix it, but if someone can that'd be great. The issue is that with some combinations of equipped weapons, the dodge animations simply will not play at all. I think there are some ''conditions'' baked into the animation files, which are not accesible from the Creation Kit (trust me on that, I've looked everywhere), which prevent animations from being played even with a Papyrus function like Debug.SendAnimationEvent(): http://www.creationkit.com/SendAnimationEvent_-_Debug . Examples are: when the player has no weapons drawn at all, or when he has a staff or spell in the right hand.

This can only be fixed by editing the Behavior Files and to be honest this is your biggest problem because anyone who knows how to edit the BF's to fix this will know how to edit the files to reconnect the Dodging Events back to the Sprint Key and thus not only not needing ANY SKSE scripting but also not needing you to create this mod as they would have been the one creating it in its near entirety and by far created the greatest and most difficult portion of the mod.

The biggest benefit of going through Behavior is not only not requiring any scripting but Behavior will always react faster in game then scripting ever will, that said BF's are not exactly easy to understand or edit properly especially when it pertains to Combat Events so your best option here is to just go with scripting and use the available functions to try and force the Animations to play by tricking the game or forcing the player into different states where the Dodging is allowed to play.
User avatar
Isaiah Burdeau
 
Posts: 3431
Joined: Mon Nov 26, 2007 9:58 am

Post » Tue Jan 01, 2013 9:59 pm

Your best option here is not to look for a non-existant animator as NO true animators exist within this community (Myself excluded as I no longer release anything publicly), but its to look for the modders that know how to import Mo-Caps into Max and export these animations for Skyrim, or do it yourself its very easy to do and finding Mo-Caps for Dodging or Gymnastic flips and what not are freely available everywhere just do a google search.

I don't really care if it's called a true animator or not as long as he knows how to tweak the files enough for the first 2 points I mentioned :P However, I'm not sure I understand why you think entirely new animations would be better? If you look over at skyrimnexus there are loads of people who have changed vanilla animations (look for example at the Faster Get Up Animation mods), I dunno but to me that sounds a whole lot simpler than adding entirely new animations using mo-caps myself? :P

This can only be fixed by editing the Behavior Files and to be honest this is your biggest problem because anyone who knows how to edit the BF's to fix this will know how to edit the files to reconnect the Dodging Events back to the Sprint Key and thus not only not needing ANY SKSE scripting but also not needing you to create this mod as they would have been the one creating it in its near entirety and by far created the greatest and most difficult portion of the mod.

The biggest benefit of going through Behavior is not only not requiring any scripting but Behavior will always react faster in game then scripting ever will, that said BF's are not exactly easy to understand or edit properly especially when it pertains to Combat Events so your best option here is to just go with scripting and use the available functions to try and force the Animations to play by tricking the game or forcing the player into different states where the Dodging is allowed to play.

I already thought this was gonna be a whole lot more difficult, but it's not the main concern anyway. Would've been nice if it could be fixed, but not a huge issue if it can't either. The first 2 issues are the really important ones.
User avatar
Katie Samuel
 
Posts: 3384
Joined: Tue Oct 10, 2006 5:20 am

Post » Wed Jan 02, 2013 4:52 am

I dont know squat about animations or tweaking any of the stuff you need to get this working but you know I've been bugging you for this for a long time now. Good luck Borgut, hope you can get it to working!
User avatar
Kahli St Dennis
 
Posts: 3517
Joined: Tue Jun 13, 2006 1:57 am

Post » Wed Jan 02, 2013 12:25 am

eh...weird post by saidenstorm, i'll ask my friend in cali if he'll look into it. He's a true animator lol

idk if he'll do it, or when he'll do it but it never hurts to ask
User avatar
loste juliana
 
Posts: 3417
Joined: Sun Mar 18, 2007 7:37 pm

Post » Tue Jan 01, 2013 10:28 pm

I'm not an experienced gamer when it comes to combat. I'm going along the quest line, happy when surviving with bow, axe and magic. So I can't remember if I ever tried to dodge. My input is purely based on animation and behavior input.

( 1 ) The dodge animations used (they are vanilla animations, come packed with vanilla skyrim, but are completely unused in the base game) cover very little distance, especially the leftwards dodge. This means that even though the animation looks kind of cool and all, it's not particularly useful in combat. It would be nice if someone could tweak the animations to cover a bit more distance.
Dodge belongs to sprint behaviors. So the same mechanisms as in sprint should apply. The dodge animations don't move at all. Behaviors don't move either. So it has to be figured out what does. Probably key stroke together with some game variables.

( 2 ) In my opinion, the animations are kind of slow, especially in first person. There's some sort of ''windup'' in the animation where your character ''prepares'' to dodge. In a combat situation, I'd like the dodge to be very responsive and I need the player to be able to actually use the dodge reactively to get out of the way of an attack quickly enough. So if someone could speed the animation up that'd be wonderful.
Then the animation "simply" has to be redone. Especially reduced by keyframes. I only checked 3rd person. But 28 keyframes (=0.91 sec) there seems quite reasonable to me. But as I sais, I'm not a fighter.

( 3 ) The issue is that with some combinations of equipped weapons, the dodge animations simply will not play at all. I think there are some ''conditions'' baked into the animation files, which are not accesible from the Creation Kit (trust me on that, I've looked everywhere),
This did puzzle me as well. It's not in sprintbehavior.hkx, which I didn't expect. Because just yesterday I have looked with xp32 into dual wield dagger, and there we could see conditions both in the CK (0_master) and behavior (1hm_behavior) the conditions for those animations. I havn't double checked other behaviors, if there is a place where dodge animEvents are fired. Because I would expect dodge AnimEvents to be generated by the engine when the user presses the dodge key. There must be another reason or cause why an AnimEvent does not fire.

which prevent animations from being played even with a Papyrus function like Debug.SendAnimationEvent(): http://www.creationkit.com/SendAnimationEvent_-_Debug . Examples are: when the player has no weapons drawn at all, or when he has a staff or spell in the right hand.
Have you really tried SendAnimEvent("Dodgexxx") with different weapons? Then this MUST be surpressed by the engine. No other explanation.
User avatar
Reanan-Marie Olsen
 
Posts: 3386
Joined: Thu Mar 01, 2007 6:12 am

Post » Wed Jan 02, 2013 4:27 am

I'm not an experienced gamer when it comes to combat. I'm going along the quest line, happy when surviving with bow, axe and magic. So I can't remember if I ever tried to dodge. My input is purely based on animation and behavior input.

There is no dodge button in vanilla skyrim, the animation files are included but completely unused.. so no I can say pretty surely that you've never tried to dodge, it wasn't possible :) Which is why I'm making this mod to begin with

Dodge belongs to sprint behaviors. So the same mechanisms as in sprint should apply. The dodge animations don't move at all. Behaviors don't move either. So it has to be figured out what does. Probably key stroke together with some game variables.

Hmm so it's in sprint behaviors.. but when the player presses sprint key and moves sideways/backwards in vanilla skyrim nothing happens. I have noticed though that while testing my current implementation of the dodge mod (it's practically finished, I can play dodge animations whenever I press the correct keys, the dodge animations themselves just aren't very useful currently) it sometimes bugs and I end up sprinting after the dodge animation has finished.

Then the animation "simply" has to be redone. Especially reduced by keyframes. I only checked 3rd person. But 28 keyframes (=0.91 sec) there seems quite reasonable to me. But as I sais, I'm not a fighter.

If the full 0.91 seconds were spent on actually moving in a direction, yeah that might be reasonable. But currently when I press my new dodge button when testing, to me it feels more like 0.60 of those 0.91 seconds are actually spent on standing still, ''winding up'' for the ''jump''/dodge, and only a small last part of the animation actually consists of movement. So a large part of the time you're standing still.. not exactly good for dodging, you'll just get hit anyway.

This did puzzle me as well. It's not in sprintbehavior.hkx, which I didn't expect. Because just yesterday I have looked with xp32 into dual wield dagger, and there we could see conditions both in the CK (0_master) and behavior (1hm_behavior) the conditions for those animations. I havn't double checked other behaviors, if there is a place where dodge animEvents are fired. Because I would expect dodge AnimEvents to be generated by the engine when the user presses the dodge key. There must be another reason or cause why an AnimEvent does not fire.

No the dodge animations aren't used anywhere in the game. The dodge animEvents do show up in the drop-down menu in the Idle manager in the Creation Kit, but by default they're not used by any of the Idle objects.

Have you really tried SendAnimEvent("Dodgexxx") with different weapons? Then this MUST be surpressed by the engine. No other explanation.

Yes. The same happens with my Dual Wield Parrying mod. Currently the Script Dragon implementation calls Debug.SendAnimationEvent(), and the SKSE version I'm working on also uses that function.. only then in order to play a blockStart animation instead of a Dodge animation. Similar thing happening though; if a spell is equipped in the right hand, or a bow is equipped, simply no animation at all will play, whereas I think all other combinations of equipment do work (note that it's even a DIFFERENT set of problematic animations here; for dodging it's staves or spells, for blocking it's bows or spells)

But yeah this is basically what you said that you had seen for dual wield dagger stuff; there's some conditions in the CK and some in the behavior. The conditions visible in Creation Kit are applied to Idle objects in the Idle manager, and if you were to use the PlayIdle() function (http://www.creationkit.com/PlayIdle_-_Actor) those conditions would be checked as well as those in behavior files. If you use sendAnimationEvent, you directly tell the game to play an animEvent (which is the stuff in the drop-down menu, so it's things which are referenced by Idle objects) and so because the step of the Idle object is skipped, those conditions are no longer checked.. but a different set of conditions not visible in the CK, so probably somewhere in the behavior files, still must be checked.

Oh well either way, thanks for the reply :)

I definitely can't change any animations, but I do still have a couple new ideas to script around the problems... so I'll try some more scripting workarounds first if noone else can help me with animations. Thanks for the info, it definitely helped giving me new ideas for scripting workarounds :P
User avatar
steve brewin
 
Posts: 3411
Joined: Thu Jun 21, 2007 7:17 am

Post » Wed Jan 02, 2013 5:40 am

Yay figured out 2 new things which allow me to cheat my way out of the problems using scripting, so I should be able to get a functional and actually useful version of dodging out without the help of an animator.

The first thing I'm doing is intentionally putting a short delay on when the sprint button is pressed and when a dodge animation is played (controls which I'm currently going for is that pressing the sprint button while moving sideways or backwards will make you dodge, since the sprint button didn't do anything anyway in those circumstances). This may sound weird at first, but it allows me to pretty much fix the first 2 issues in the OP both at once

During this short delay, the player will probably still have his sideways movement or backwards movement buttons pressed (at least I did while playtesting, it's just intuitive to keep those buttons pressed). During the delay, I speed up the player's movement, and because he still has the button pressed, he'll run much faster in the correct direction during this delay. It's a very short delay and once it's over, the actual dodge animation plays. The result is that the player covers more distance (first a quick burst of sped up movement) and when he presses the button he immediately moves faster, which is then followed by the slower dodge animation, so the slow part of the entire dodge is now moved to the end of the action, which means that the player already moved away a bit and the dodge actually was useful.

It doesn't even look bad in game really; the player speeds up for a few quick steps, and then makes the dodge animation which looks kind of like a movement made to keep his balance after the sudden burst of extra speed. Obviously it doesn't look 100% perfect, but it doesn't look horrible either and at least it's functional and useful.

A second trick I've found is that forcing the player to play a ''SprintStop'' animation actually cancels the dodge animation. Initially I tried this because there would sometimes be a bug where dodging in first person mode would make the player sprint afterwards, so to fix that bug I made the player stop sprinting again. However, since this thing cancels the dodge animation, using proper timing I can decide when I want to cut off the dodge animation, so now there won't be a long ending to the dodge animation where the player can't do a thing, but instead he'll quickly regain control of his character again.

I think if I'm not too busy (with new year's day and all) I should be able to get an initial release tomorrow.

I'll leave this thread open still because all I've done is work around the problems, they're not entirely fixed. I'm not desparate for help anymore, but in case anyone else still reads the thread and is interested in properly fixing the animations, I'm obviously still interested in trying that out and seeing if it's an improvement over my current ''solutions''
User avatar
Bedford White
 
Posts: 3307
Joined: Tue Jun 12, 2007 2:09 am

Post » Wed Jan 02, 2013 4:56 am

There is no dodge button in vanilla skyrim, the animation files are included but completely unused.. so no I can say pretty surely that you've never tried to dodge, it wasn't possible :smile: Which is why I'm making this mod to begin with

Unfortunately I have deleted all my old saves, and for dodge you need acrobatics > 50. OK, and it's not just one button, but 3 (block, jump, movement), so it was so complicated I never wanted to use it.

Hmm so it's in sprint behaviors.. but when the player presses sprint key and moves sideways/backwards in vanilla skyrim nothing happens.
Sprint behavior it's just the location. Doesn't mean it requires the same keys.

I have noticed though that while testing my current implementation of the dodge mod (it's practically finished, I can play dodge animations whenever I press the correct keys, the dodge animations themselves just aren't very useful currently) it sometimes bugs and I end up sprinting after the dodge animation has finished. If the full 0.91 seconds were spent on actually moving in a direction, yeah that might be reasonable. But currently when I press my new dodge button when testing, to me it feels more like 0.60 of those 0.91 seconds are actually spent on standing still, ''winding up'' for the ''jump''/dodge, and only a small last part of the animation actually consists of movement. So a large part of the time you're standing still.. not exactly good for dodging, you'll just get hit anyway.
That might be caused by the blend time defined for all animations. That's the transision time between previos position and the current one. If this is too long, you can have the impression you described.

No the dodge animations aren't used anywhere in the game. The dodge animEvents do show up in the drop-down menu in the Idle manager in the Creation Kit, but by default they're not used by any of the Idle objects.
Yes, that's an indication that it's not used by the game. As to my knowledge, the engine does not use Animevents. Everything seem to be going throug Idle Objects.

Yes. The same happens with my Dual Wield Parrying mod. Currently the Script Dragon implementation calls Debug.SendAnimationEvent(), and the SKSE version I'm working on also uses that function.. only then in order to play a blockStart animation instead of a Dodge animation. Similar thing happening though; if a spell is equipped in the right hand, or a bow is equipped, simply no animation at all will play, whereas I think all other combinations of equipment do work (note that it's even a DIFFERENT set of problematic animations here; for dodging it's staves or spells, for blocking it's bows or spells) But yeah this is basically what you said that you had seen for dual wield dagger stuff; there's some conditions in the CK and some in the behavior. The conditions visible in Creation Kit are applied to Idle objects in the Idle manager, and if you were to use the PlayIdle() function (http://www.creationkit.com/PlayIdle_-_Actor) those conditions would be checked as well as those in behavior files. If you use sendAnimationEvent, you directly tell the game to play an animEvent (which is the stuff in the drop-down menu, so it's things which are referenced by Idle objects) and so because the step of the Idle object is skipped, those conditions are no longer checked.. but a different set of conditions not visible in the CK, so probably somewhere in the behavior files, still must be checked.

I'm aware of the difference between AnimEvents and IdleObjects. I'm working with them since almost a year. But yes, there are other places. I didn't check what they do, because it's getting too complicated for just a feed-back. In both 1hm_behavior and 1hm_locomotion there is also reaction on the dodge AnimEvents. I hadn't found them the first time, because I was only looking for the filenames.

Oh well either way, thanks for the reply :smile: I definitely can't change any animations, but I do still have a couple new ideas to script around the problems... so I'll try some more scripting workarounds first if noone else can help me with animations. Thanks for the info, it definitely helped giving me new ideas for scripting workarounds :tongue:

My proposal for you would be not to use the system defined AnimEvents anyway. Use FNIS, at least for 3rd person.

There you can define simple idle AnimEvents based on the vanilla animation files, and play them in-game with SendAnimEvent or PlayIdle. Using SKSE for triggering. In a first version you could do the evasion by moving the player like every 0.05 sec in your script. In a second step someone could add the movement to the animation files, and I add a new parameter to FNIS, which allows "bAnimationDriven" events, or you set "bAnimationDriven" in your script. That will make the motion without script interaction.
User avatar
Sakura Haruno
 
Posts: 3446
Joined: Sat Aug 26, 2006 7:23 pm

Post » Wed Jan 02, 2013 4:59 am

Unfortunately I have deleted all my old saves, and for dodge you need acrobatics > 50. OK, and it's not just one button, but 3 (block, jump, movement), so it was so complicated I never wanted to use it.

Sounds to me like you're confusing Skyrim with Oblivion there :P There's no dodging (or Acrobatics for that matter) in skyrim

That might be caused by the blend time defined for all animations. That's the transision time between previos position and the current one. If this is too long, you can have the impression you described.

Nah in third person mode it looks quite clearly like it's really a part of the dodge animation. The problem is just that whoever made those animations at bethesda didn't feel like a dodge animation needed to be fast, just thought it needed to look cool

My proposal for you would be not to use the system defined AnimEvents anyway. Use FNIS, at least for 3rd person.

There you can define simple idle AnimEvents based on the vanilla animation files, and play them in-game with SendAnimEvent or PlayIdle. Using SKSE for triggering. In a first version you could do the evasion by moving the player like every 0.05 sec in your script. In a second step someone could add the movement to the animation files, and I add a new parameter to FNIS, which allows "bAnimationDriven" events, or you set "bAnimationDriven" in your script. That will make the motion without script interaction.

Erm I don't need FNIS for that? Currently going with SendAnimationEvent and that automatically works out of the box, just need to pass ''DodgeLeft'', "DodgeRight" or "DodgeBack" as a parameter to the function and it works. If I wanted to use PlayIdle I could simply add a new child to the LOOSE branch of the character tree and set the AnimEvent of that Idle to one of the three dodge things and use that Idle as a property. That's just a statement btw, not a question.. I know because I've already tried both :P
User avatar
Davorah Katz
 
Posts: 3468
Joined: Fri Dec 22, 2006 12:57 pm

Post » Wed Jan 02, 2013 11:00 am

Nah in third person mode it looks quite clearly like it's really a part of the dodge animation. The problem is just that whoever made those animations at bethesda didn't feel like a dodge animation needed to be fast, just thought it needed to look cool

The animations are fairly snappy go to Actors -> open any npc actor -> animations -> tic full preview -> scroll down to the Dodges.

Also I created a quick and dirty script that uses SKSE to play those default anims and I am not getting any interrupted playback during combat they are playing as fast in game as they do in the preview so the problem most likely resides in your scripting because it absolutely does not reside in the animations or behavior files.

here is the script I quickly created, its works off of an item dropped on the ground so its quite unsuitable for anything remotely useful but the anims work without any issue are very responsive for what the anims are.

Spoiler
Scriptname ssORTestScript extends ObjectReference  Actor Property Wearer  Auto  Idle Property CharDodgeBack  Auto  Idle Property CharDodgeRight  Auto  Idle Property CharDodgeLeft  Auto  Event OnInit()RegisterForKey(21)GoToState("DodgeReady")EndEventState Waiting ;----------------------------------------------------------------------Event OnBeginState()RegisterForSingleUpdate(0.1)Wearer.SetAnimationVariableBool("bAnimationDriven", true)EndEventEvent OnUpdate()If !Wearer.PlayIdle(CharDodgeLeft) && !Wearer.PlayIdle(CharDodgeBack) && !Wearer.PlayIdle(CharDodgeRight)GoToState("DodgeReady")ElseRegisterForSingleUpdate(0.1)EndifEndEventEndState ;----------------------------------------------------------------------State DodgeReady ;----------------------------------------------------------------------Event OnBeginState()Wearer.SetAnimationVariableBool("bAnimationDriven", false)EndEventEvent OnKeyDown(Int KeyCode)If KeyCode == 21If Input.IsKeyPressed(30)GoToState("Waiting")If Wearer.PlayIdle(CharDodgeLeft)Debug.Notification("Dodging Left")ElseDebug.Notification("Not Dodging")EndifElseif Input.IsKeyPressed(31)GoToState("Waiting")If Wearer.PlayIdle(CharDodgeBack)Debug.Notification("Dodging Backward")ElseDebug.Notification("Not Dodging")EndifElseif Input.IsKeyPressed(32)GoToState("Waiting")If Wearer.PlayIdle(CharDodgeRight)Debug.Notification("Dodging Right")ElseDebug.Notification("Not Dodging")EndifEndifEndifEndEventEndState ;----------------------------------------------------------------------

Erm I don't need FNIS for that? Currently going with SendAnimationEvent and that automatically works out of the box, just need to pass ''DodgeLeft'', "DodgeRight" or "DodgeBack" as a parameter to the function and it works. If I wanted to use PlayIdle I could simply add a new child to the LOOSE branch of the character tree and set the AnimEvent of that Idle to one of the three dodge things and use that Idle as a property. That's just a statement btw, not a question.. I know because I've already tried both :tongue:

He was not referring to your method of scripting but to how Behavior treats the default Dodging animations as heavily conditioned combat events and offered you an option to get lessen those restrictions by adding the dodges as Special Idles without the default restrictions to playing them.

I personally do not use his Special Idle editor so I have no clue as to its features but I doubt he would have suggested its use if it was not capable of doing this with less restrictions then using the default events.
User avatar
Amysaurusrex
 
Posts: 3432
Joined: Wed Aug 09, 2006 2:45 pm


Return to V - Skyrim