fore Posted April 1, 2012 Author Share Posted April 1, 2012 I figured out the source of the problem: the behavior state was not passed correctly. If I keep doing the same moves over and over again the behavior state remains the same, but if I change into something else (like moving) the problem appears again. I tried to constantly move in circles with WASD and the swinging animation keeps getting skippedWhat do you mean by "behavior state not passed correctly"? And how do you see that? I try to do somehing different, but have a similar effect. I'm adding new paired animations, and it looks like the chars start going into position, but then they stop and go into normal idle. It must have something to to with the graph variables. There are several variables which seem to be used at different nodes for synchronizing the sequence. I don't have this problems with simple idles, but there are no variables needed at all. I'm digging in mud, too. :dry: Link to comment Share on other sites More sharing options...
Raestloz Posted April 2, 2012 Share Posted April 2, 2012 Sorry, it's basically a term that I invented because I don't know what it's called. It looks like that the "event" is passed on too quickly, without taking into account progress of animation, thereby going directly to the next event (for example, from jumpStart to jumpLand, was there such event? My mind broke renaming all those entries) thus starting the next animation, but since the animation itself should provide a few variables (such as when sheathing the weapon goes into the scabbard) things gets ugly. I actually tested the weird "striking too fast for eye to see" with actual living target and by keep alternating between WSAD I can literally strike a target twice before I blink, and not because I forced my eye to not blink. I've made sure that I copied every single condition and event when I copied and renamed all those entries. I felt that I need something else, but I don't know what. Is there any text files in character folder? Looks like they're needed for full functionality (but I haven't tried, so don't quote me on that) Link to comment Share on other sites More sharing options...
fore Posted April 2, 2012 Author Share Posted April 2, 2012 Sorry Raestloz, but I'm out of advices here. I'm afraid that we had believed we can make a new humanoid race the way you try to. But has anyone succeeded yet? Maybe it's not possible to make a race with ALL animations? However your experience reminds me again where I'm currently stuck with paired animations. I try to add a second paired hug, and the animation starts very well. But at the end, instead of finishing smoothly, there is a character stuttering, and pushing away of the 2nd NPC. I believe again it's a problem of the synchronization variables. If I find the reason I will tell you. Link to comment Share on other sites More sharing options...
Raestloz Posted April 3, 2012 Share Posted April 3, 2012 I thought it's simply a matter of replicating the animation entries, looks like I was wrong eh? Well, will try to see if I can get it to work via another way. I haven't tried esmify my esp, I heard that's the best way to add resources to another plugins (currently mine is still an esp). Also, I'll try to see if I add the animations directly into the race plugin. Currently mine is a separate esp with data being read by other esps. And I'll also try to recreate the animation entries from scratch (as in without Skyrim.esm, perhaps the ID has something to do with it), I just don't know how to the the latter though, cause if I don't open Skyrim.esm, Animations window is completely empty.... Link to comment Share on other sites More sharing options...
Raestloz Posted April 6, 2012 Share Posted April 6, 2012 (edited) Well, shat. You know fore? I forgot to copy the whole thing in the "LOOSE" section... Will try to copy 'em now. Let's hope for the best. EDIT:I can't copy the LOOSE root, and can't paste into it either, so will have to copy and paste into the child and rearrange 'em. I swear Bethesda programmers are making it difficult for us EDIT 2:Nope, doesn't work. Looks like the LOOSE section is for NPC-related actions like drinking and clapping hands and all that. Contains killmove too, but for now LOOSE is below the importance radar Edited April 6, 2012 by Raestloz Link to comment Share on other sites More sharing options...
Raestloz Posted April 6, 2012 Share Posted April 6, 2012 fore, just for the hell of it I tried to assign the Behavior Graph found in Adult Show mod (under Actors/Stripper folder) to my race, I'd like to see if they managed to nail it or not To my surprise, the result is exactly the same as mine, meaning there must be something in Skyrim's data that we don't know yet that helps making sure the vanilla animation gets done right I tried to delete Skyrim.esm master association from my plugin, but it removes everything in the plugin, meaning there is no possible way to actually create something from scratch ala Nehrim. This Creation Kit is really feature-butchered I've tried to esmify my plugin, no luck and it works just like when it's just an esp. I wanted to try recreating the animation entry with the exact same IDs as vanilla's but since I can't create anything from scratch, I can't do that either Link to comment Share on other sites More sharing options...
fore Posted April 7, 2012 Author Share Posted April 7, 2012 Yea, the reference generator is a part of it =) My guess is that a "State" is needed to stay within the selected idle. But for some reason my Havok Behavior 6.6.0 only spits out some other stuff which doesnt seem to completely match.. which is sad.I wish that it would also import hkx files, not only export them,.. :/ It would be cool to get someone to create a editor for these files... it would only have to spit out a file with all the clip generators and that kind of stuff ^^ ~deedes deedes, theru is also trying to make HBT 6.6.0 work for skyrim. So she converts the output to xml, and removes most of the stuff above 'data'. She is also working on a behavior tree tool, which could make analyzing behaviors so much easier. I'll try to make her post here too. Link to comment Share on other sites More sharing options...
Raestloz Posted April 7, 2012 Share Posted April 7, 2012 Well, just want to report in a few of my findings. May not be ground breaking, but I think I should mention it: I don't actually have to recreate the whole "character" stuff in a new folder if I simply want new path. Your "easy" method, which involves renaming mt_idle to my_idle actually works fine (since it counts as altering the animation path). The problem is not that the animation is not found, but altering any part of the defaultfemale.hkx breaks the behavior. Since the very first animation to be played is the idle, your solution seems to work, but since the behavior is broken, it's no goodThe same condition applies to the 1KiB defaultfemale.hkx too. I tried to copy it (making it defaultfemale_2.hkx) and assign it as Behavior Graph. It doesn't work. It looks like there is some kind of CRC check that forces these 2 files to be not altered in any wayHowever, the same does not hold true to the 0_master.hkx behavior data (and everything in "behavior" folder). I altered 0_master.hkx (prepending the words "custom\" before "Animations\") and it still works fine. The original data is 405KiB, altered data is 408KiB. I also tried to alter the 1hm_behavior.hkx, and it still works fineMy problem is most likely tied to Bethesda's implementation of BSA. Perhaps the "compressleveloverride.txt" have something to do with this. You remember what you said before? "If your character stays in half-T but can jump, it means animation not found, behavior OK". Well, I removed 0_master.hkx and for some reason my character still works. She stays in half-T, but she can jump, attack, etc. And most importantly, the animation skip problem no longer appears. This means that the problem does not lie in only one source (either the behavior or the animation data), but both of them. Without animation to play, behavior state plays at normal speed and flow, just like vanilla animations I tried to create an archive with archive.exe, but I don't know how to do it or to use it, because when I use it, my Skyrim crashes once it is loaded Link to comment Share on other sites More sharing options...
fore Posted April 7, 2012 Author Share Posted April 7, 2012 the tool i making is beta ready, all functions isnt quite there yet but the viewing of xml is doneOh yes, I can't wait. Really looking forward i belive i found the thing u should be looking for in the xml about your paired animation in their pdf i found this Run-Time Mirroring of AnimationsHavok Animation’s run-time mirroring feature allows paired directional animations to be authored for only a single direction and automatically reflected at run-time to create its paired animations. in bth i found this in modifiers Mirrored Sync Point Pairingsmirror modifier Scene Modifier ListThe Scene Modifier List stores a list of pairs: (scene modifier, modifier). A scene modifier is a fixed piece of code that does something to all of the characters at once. There are three of them currently: 1) Attachment Manager 2) Physics Step 3) Attachment Fix-up Manager The above order is the most likely choice, although the system allows any order. Paired with each Scene Modifier is a regular Modifier that will be applied to the individual character after the scene modifier. so basicly what u need is 2 character setups i think when doing in bth this is paired animation showing a lot of characters in bth. and why u can find any event is i belive bc paired use variablesbut apperently u can use different aproaches wich required diffrent things like events That sounds like what is needed for hbt, but is this was works for Skyrim? in behavior xml word "mirror" almost exclusively appears in the comment "<!-- mirroredAnimation SERIALIZE_IGNORED -->". The mechanisms needed should be part of the behavior files, but just I can't find them. My reference is the replica of "pa_HugA", which is an exact copy of "HugA" (and of course have changed modifier numers, states, and eventIds). But when I call PlayIdlewithTarget:1) character1 does NOT move in front of character2) character1 DOES play "pa_NewHugA" animation (the primery animation)3) character2 does NOT play "NewHugA" animation (the secondary animation)4) character1 and (sometimes) character2 do a more or less oscillating movement As a work-around for step 3 it's possible to call character2.playIdle(NewHugA), but that should not be necessary. And it doesn't fix the missing fron move, and the oscillating. Right now I'm trying to find the place, where the "HugA" event fires. This is necessary to make character 2 start it's animation. I would expect it to be raised in something like an "enternotifyevent", but it's not. Nowwhere in behavior files. Do you have any idea where HugA could be raised? Link to comment Share on other sites More sharing options...
fore Posted April 7, 2012 Author Share Posted April 7, 2012 Well, just want to report in a few of my findings. May not be ground breaking, but I think I should mention it: I don't actually have to recreate the whole "character" stuff in a new folder if I simply want new path. Your "easy" method, which involves renaming mt_idle to my_idle actually works fine (since it counts as altering the animation path). The problem is not that the animation is not found, but altering any part of the defaultfemale.hkx breaks the behavior. Since the very first animation to be played is the idle, your solution seems to work, but since the behavior is broken, it's no goodThe same condition applies to the 1KiB defaultfemale.hkx too. I tried to copy it (making it defaultfemale_2.hkx) and assign it as Behavior Graph. It doesn't work. It looks like there is some kind of CRC check that forces these 2 files to be not altered in any way......No, the problem is not something like a CRC check. You need to keep defaultfemale.hkx and defaultmale.hkx in sync. As soon as the they have different numnber of files, and maybe different names of the files, everything seems to break. Always change them in parallel. Link to comment Share on other sites More sharing options...
Recommended Posts