News:

Rings of Reznor!

Main Menu

HELP WITH KEYFRAMES

Started by heroidosilencio, September 28, 2018, 04:00:41 AM

Previous topic - Next topic

heroidosilencio

Could someone post a tutorial teaching how to copy and make a incompatible animation turn into a  compatible one in the  keyframes?

I mean, sometimes even after transfering parts of a keyframe with m25keyframetransfer, the animation does not appear in the game.

But, somehow, I noticed that some persons have the ability to make it work in the nifskope, I guess.

Could someone help me with that, please? Posting a tutorial or pointing me where I could find.

detourne_me

#1
I'm a bit busy at work right now, but there are two ways you can make some keyframes compatible.
Sometimes keyframes will be totally incompatible though, if you move from a female mesh to a male mesh for instance, or a basic to a heavy. sometimes they will work, sometimes they will totally distort the mesh....


Anyway,  here are two ways to help you make keyframes compatible with nifskope.

1) Make sure all of the NiNodes from Mesh 1 are on Mesh 2.
For example, if I want to put male_cape keyframes on a male_basic mesh, the male_basic mesh must include the nodes cape_top, cape_bottom_left, and cape_bottom_right.
Just copy and paste the NiNodes into the new mesh.  You might have to look through the Bip01 tree to find nodes for guns, swords, scabbards, etc.

2) Remove references to extra nodes in the keyframes.
For example, if I want to put male_cape keyframes on a male_basic mesh, just transfer the keyframes over with m25's tool. Then open the keyframe file in Nifskope.
Click on the NiController Sequence for the new animation, and look at the Block Details window.
Open the Controlled Blocks tree and find any nodes that the male_basic mesh doesn't have.
Rename the Target Name to a node that does exist, like Bip01, and rename the Controller to the same NiKeyframeController that is referenced in Bip01.
All of the NiKeyframeControllers (the animation blocks) from the previous NiNodes will move to the bottom of the keyframe file, outside of the main tree. You must delete all of these extra NiKeyframeController blocks before saving your file.

I'll try to make a better tutorial with some pics if you need help.

heroidosilencio

I didn't have sucess. I don't know what is a node in a keyframe and what is not.  :o

Could you post pictures, please?

detourne_me

Spoiler
A mesh with a highlighted node
Spoiler
The keyframes showing where the controlled blocks are
Spoiler
A closeup of the details showing where the nodes are referred to in the idle keyframes

detourne_me

Sorry for not explaining these pics. I just posted them quickly before going out this morning.

The first picture shows a skope of Carnage Im working on. You can see the highlighted piece is listed under the NiNode 'r_axe'.
In animations where the axe is used, the keyframes will call for the node to do something. In this case, the axe scales between fullsize (1) or invisible (0).

The second and third pictures are of the keyframe file in nifskope.
You can see for each animation (idle, run, etc.) Under the Controlled Blocks list, each node of the mesh (the skeleton Bip01, and the extra pieces, like the axe or cords) is called upon to do something, like rotate or scale.

When you transfer keyframes from one mesh to another, sometimes animations dont work because the nodes do not exist in the character.nif file.

Keyframes.kf is like a recipe, the nodes in the Character.nif are like the ingredients. You can't cook if you don't have the ingredients.

So, you can either change the recipe, or add the ingredients.
Does this make sense?

heroidosilencio

 :thumbup: :thumbup: :thumbup: :thum   I will study these images and try to make it work here and I tell you what happens then.

Thank you very much for helping me once more.  :thumbup: :thumbup: :thumbup: :thumbup:

eluvium

Quote from: detourne_me on September 28, 2018, 04:36:04 AM
I'm a bit busy at work right now, but there are two ways you can make some keyframes compatible.
Sometimes keyframes will be totally incompatible though, if you move from a female mesh to a male mesh for instance, or a basic to a heavy. sometimes they will work, sometimes they will totally distort the mesh....


Anyway,  here are two ways to help you make keyframes compatible with nifskope.

1) Make sure all of the NiNodes from Mesh 1 are on Mesh 2.
For example, if I want to put male_cape keyframes on a male_basic mesh, the male_basic mesh must include the nodes cape_top, cape_bottom_left, and cape_bottom_right.
Just copy and paste the NiNodes into the new mesh.  You might have to look through the Bip01 tree to find nodes for guns, swords, scabbards, etc.

2) Remove references to extra nodes in the keyframes.
For example, if I want to put male_cape keyframes on a male_basic mesh, just transfer the keyframes over with m25's tool. Then open the keyframe file in Nifskope.
Click on the NiController Sequence for the new animation, and look at the Block Details window.
Open the Controlled Blocks tree and find any nodes that the male_basic mesh doesn't have.
Rename the Target Name to a node that does exist, like Bip01, and rename the Controller to the same NiKeyframeController that is referenced in Bip01.
All of the NiKeyframeControllers (the animation blocks) from the previous NiNodes will move to the bottom of the keyframe file, outside of the main tree. You must delete all of these extra NiKeyframeController blocks before saving your file.

I'll try to make a better tutorial with some pics if you need help.

I'm messing up the key frame transfer really bad, also is hexing a mesh importan before applying keyframes?

SickAlice

#7
Things to know:

- I'll simplify what DM is explaining. "Stringname" is what Nif labels this, that is nodes or otherwise actually. So lets say there is animation you transfer and among the stringnames you find when you open it up is one that says "sword". Meanwhile over in your Nif there is no stringname called sword. So when CTool or the game read that animation and read the stringname sword it will check the Nif for it. If it doesn't find that stringname it won't run the animation, or it may just crash all together. So either the Nif needs something with the stringname sword, which can be hidden if it helps, or that string needs to be removed from the keyframe.

- Baked in ID: It took me time to figure this one out. I don't know the right words but there is data baked into this stuff when it goes out of 3ds Max originally. Many nifs and their keyframes sets were derived from specific other ones, their "grandfathers". You can usually find that info in the text files provided with the Nif. Male Basic (generic hero 4) is a common example. Male Cape is a common example. Female bald is a common example. Taskmaster and Taskmaster Cordless are common examples. In many cases if the Nif is not related then even though you transferred the keyframe, worked on the settings and strings and everything in CTool it will not be selectable in game. You have to do all this by eye, sorry. I've done it long enough that I just remember most of them. If they are rooted in a Basic you probably won't run into this problem because much of what has been made has a relation to it. If it's one of Taskmasters, like Carnage here is related to and Deathstroke you are more likely run into this problem. My solution is to use the grandfather itself and move everything to that instead. So if it is Taskmaster then I use Taskmaster instead of trying to transfer from TM to another Nif. A side note, Exodus is directly related to Taskmaster and is about the only source of Area animations you can find for Taskmaster/Cordless if you need them.

- Not the correct type of animation: You transfer it and name it for area even though it was say a melee. It doesn't show up in the games character tool as an area. This is because of data and signatures. There's ways to fix this but my suggestion is just scrap it and use something that already works unless you know to make keyframes from scratch (not that hard to learn this it turns out).

* Ink and Gren's Storm Jim Lee is a popular exception in spite of the text saying it is female cape compatible. I fixed everything in the nif and keyframes and that will be available again when I am up and running. I likewise have a lot of fixed keyframes and nifs on my hard driver I will uploading for general use when the time comes. I also fixed a large amount of other things from nifs to keyframes floating around. They are either inside projects I released or I took a lot of requests over the year especially for keyframes from other users and they redistributed them elsewhere (Mediafire or Alex's place seems the usual place). I also know a lot of my old works still have bugs and have been working through them as time allows.

- The Biped Issue: This is something that won't cause a problem until in midgame. Something the size the of Biped/Bones that has been transferred differs a lot from what is in the Nif. You'll notice it in CTool where say the size of the body will look it's being crushed or stretched. Since it's displaying though it may seem there is no problem. Then in game you can still select the animation so it also seems there is no problem (and this because the in game Character Tool is CTool and renders differently than the game itself does). However running the game and that animation? Likely this will result in an error that will cause a freeze or crash. It will happen right when the game tries to cycle that animation to the next. My solution here is also to just get rid of animations I see doing that in CTool and go find something else.

- My overall suggestion is always work with the older more compatible base and donate to it rather than the other way around. So use male basic, male cape, TM, whatever specific Gren or TJ mesh instead of a derivative and never another skope to transfer things to. Build on a clean untouched base. I guarantee it will save a ton of work and headaches and more often than not if you know the essentials you won't have problems at all.

- And always compare to game files that already exist and more importantly always check it out in game. Ctool is deceptive. Nearly everything I learned about settings in nifs in keyframes came from taking requests to repair other peoples stuff. Including my own. Often it is very easy just to miss a single thing but equally as often than any errors can be attributed to a setting that is wrong and it is a very short list. Everyone here has had this happen, I know because that not a single users work here I was not asked to fix at some point or found the error myself. That includes the Irrational team. Sometimes you are tired, suck of looking at number strings and you really just want to finish it and release it and you end missing something. And sometimes, and I know because I did this myself, when we just assume it works we might just the same mistake over and over and create a lot of stuff that needs fixing. By in game I mean say if you have a specific animation go into the Rumble Room and try that animation to make sure it actually works. And the thing is doing this will actually in turn teach you all you need to know keyframes and settings. As the saying goes, we learn from making mistakes. Or as Jake The Dog from Adventure Time would say: ""Sucking at something is the first step towards being sorta good at something."

---
For a visual consider Tommyboy's Versatile series. I was around and learning things him at the time and also over on the defunct Activision forum. These things are not only specific, some of them are very individual. If you skope a mesh piece like a weapon or costume part it goes well enough. Try and mix keyframes and you'll have problems. And that's because are distinct lines of nifs made by Tom that aren't related to much else beyond the geometry he used as bases.

eluvium

thank you for breaking that down, I really liked the cat box, would anyone have these base meshes specifically, TM cordless is rare, but I thik all of what I have has become derivative skopes.

I've been struggling to, I hsould start some stuff from scratch, I certainly have a male basic, and I have the base TJ goblin and most of the ff sites backed up data