News:

Rings of Reznor!

Main Menu

Adding animation nodes to keyframes

Started by Failed_Hero, February 07, 2010, 10:11:26 PM

Previous topic - Next topic

Failed_Hero

As many of of have seen with my previews, I have worked my behind off to learn how to scale keyframe nodes to make weapons and other objects appear and disappear convincingly.  I had some help from both beyonder and white_knight in learn to scale.  But there is one thing that has alluded both myself and few other skopers and hexxers, adding nodes NiNodes from one keyframe set to another. This elusive prize would allow for so much great work to be done.  I have only a limited knowledge of Nifskope and blender, this is a request, a plea really to help advance some projects for not only myself but several skoper's and hexxers.

Here is what I know from looking at a keyframe set.

1. The animation is bundled in the NiSequenceStreamHelper
2. When working with unconverted keyframes the NiSequenceStreamHelper opens to NiTextKeyExtraData (which contains the skeleton list that corresponds to the NiKeyframeController) and the NiKeyframeController (is the directions for the skeleton and objects)

I know that you cannot simply copy branch and paste branch as when I have attempted this it does not fall in the NiSequenceStreamHelper and is added to the list of keyframes.

This is what I know. I wish I knew more, and that is why i posting this topic.  I believe that as a community we all of our shared experience we can figure out this issue that will lead to great advances in skoping.   
At the end of the day all that matter is that I tried, right?

oktokels

Sorry to bring this to life again, but has anyone solved this problem???  :wacko:

Randomdays

For appearing and disappearing I normally look at what I need and then just pick a set of existing key frames that match as close as possible.

I do know how to replace one item with an another in Blender, like with Popeye where he pulls a can of spinach out for a special action

For making new keyframes, I think that SA would be the one to talk to. He's done some amazing things with kfs. Maybe dm as well

detourne_me

Failed_Hero,  I think the issue you are having here is due to using unconverted keyframes.  The  :ff: keyframes do have a strict hierarchy, and I was never able to insert keyframes properly into that hierarchy.  If you use converted or  :ffvstr:  keyframes, everything is kind of even or balanced out.  then there is no issue in adding NiNodes to existing keyframes.  One thing to keep in mind though, if you scale up or down something like a weapon or set of wings or whatever that you added to the keyframes, you'll have to add in instructions for that node in other keyframes as well.
For example, maybe a character has a knife for one melee animation.  During that animation the knife will scale up for the attack, and then by the end of the animation it scales down to nothing. You'll want to add to the melee_idle, idle, run and other keyframes info to keep that NiNode scaled down.  Ideally, you would put that in every animation in the keyframe set.  I'm lazy, so I used to just put that into certain keyframes like Melee_idle, idle, and run,  as those animations kind of 'reset' the character. I'm sure you are aware of this already, and it's pretty easy to do with converted keys.
I was never able to get it to work with unconverted keyframes though, that hierarchy thing was too weird. 

oktokels

Would it be possible to change the total number of controlled blocks (num controlled blocks), for example, by adding one or more controlled blocks, then pressing the update button (green button), which would then update the list of controlled blocks to a higher number? The new controlled blocks would not have any information, so it would be necessary to enter the name of the node that is to be animated. Then probably i would need to insert the coordenades for the animation using Sick Alice's animation trick.


SickAlice

#5
Yes. You can increase the amount of controlled blocks thus creating blank slots then insert the string name (node) and keyframe number info into that block.

edit: example. I use this method on most keyframes. I especially like the create a holstered when there was none present say for the Climb animation.

So I am working with Gren's Dr. Doom at this very moment. It has a pistol but no holstered. I made one by placing another gun inside the holster and named that node "gunH" (something easy to work with).

Gren's animation each had 40 controlled blocks. In each I changed that number to 41 than updated the array. Check to see that a new blank controlled block has appeared at the end (Nifskope is twitchy and will miss them sometimes).

My task is easy here. I make copies of each animations pistol keyframe. In this nif it is called "gun_luger". That will preserve the time. It is vital all animations within any given keyframe has a matching start and end time. Not doing so will cause it to glitch or crash in game (why is this part of the model vanishing for example)

These animations went into my 41st slots alongside the string name "gunH". Then I reverse the visibility in every one so there will either be a visible holstered pistol or it will appear Doom has pulled the pistol out of the holster during his ranged animations.

Always have a clean copy of your kf in case you are sleepy or something and screw up a value.

-
The other note of import is to check in game and see if this even works. CTOOLs and the game are two different things. As with the sitting Doom I shared in the skoped thread the bone position often will not match even though both nifs do say "male_basic". This will cause visual problems. Worse it will usually cause the game to freeze or crash when that animation is run in the game.

The other is what I call "legacy". Most of the base nifs and keyframes are all the legacy of a previous one. You will find notes/read me's for example that tell you the nif and keyframe were based in Taskmaster. Eventually all trace back to a single origin. A lot of male basic track back to male basic effects and that in turn to male hero 4.

The importance is most imported keyframes will appear to work in CTOOLs. In game is another thing. You check the game and try and add the animation and to your surprise it is not there. This is because there is info baked into these nifs and keyframes and there is a mismatch occurring. That could rationalize the problem the OP was having here. It just takes practice and remembering what nifs are actually related though again the notes give this away most of the time. When in doubt I "usually" just use the original base and copy everything back to that.

So for example I started male basic effects and a basic keyframe set and then copy everything from the later nif and keyframe set back to it. Then build on that. This ensures almost any animation for a male basic type will work with it. In some cases this won't be possible because the nif is too specific or elusive. Often based in the original nif and keyframes that came with the game itself even.

Last note is Taskmaster's missing area attacks can be found in INK's Exodus. Exodus is yes a "legacy" of Taskmaster which itself is a legacy of male basic w/cape.