Combining Animations from Different Meshes/Keyframes

Started by AfghanAnt, November 04, 2014, 03:49:17 PM

Previous topic - Next topic

AfghanAnt

I know I read about this somewhere but basically I want to merge two different meshes into one single - how is that done?

windblown

If you want to transfer animations from one mesh to another with Nifskope, you'll have to copy (copy branch) the nodes referenced in the keyframes of one of them (the nodes in the controlled blocks, in the block details window) and paste them (paste branch) in the other mesh.

For example, if one of the keyframes uses the node "gun" and the other one doesn't, you'll have to copy the node "gun" of the first mesh to the second one.

Then you can use the m25keyframetransfer program to transfer the animations and they should show correctly at the CharacterTool.

AfghanAnt

Quote from: windblown on November 04, 2014, 05:56:02 PM
If you want to transfer animations from one mesh to another with Nifskope, you'll have to copy (copy branch) the nodes referenced in the keyframes of one of them (the nodes in the controlled blocks, in the block details window) and paste them (paste branch) in the other mesh.

For example, if one of the keyframes uses the node "gun" and the other one doesn't, you'll have to copy the node "gun" of the first mesh to the second one.

Then you can use the m25keyframetransfer program to transfer the animations and they should show correctly at the CharacterTool.
How do I identify if what nodes need to be transferred? Do I open up the keyframes in Nifskope?

windblown

Yes, just select one animation. For example, I've selected the idle animation (1) here:

Spoiler

You'll see in the Block Details window (1) that there are 35 nodes (2) which are a part of this animation.
Some of them will be Bip01, Bip01 Pelvis, Bip01 Spine... which are present in most of the meshes, but some of them will be special.

Spoiler

For example, in my picture, I have a node (I'm not sure if that's the right word) named "aura" (3), so I'll transfer that one from the first .nif to the second .nif so this animation works with the first mesh.

schick

I've been hacking a lot of keyframes, so I'll take a stab at this.
I'll try to explain the very basics of moving an animation from one keyframe file to another.

First of all, I only use FFVTTR.
FF is basically the same thing I guess, but the layout is so hard to deal with I would never bother.

Start by opening both KF files in their own Nifskope windows.
Use copy branch and insert branch to move an animation from one window to another.
Done! It might work.

To make sure it works, start looking at the string names in each NiKeyFrameController. ("aura" in windblown's example above)
The string name corresponds to a unique NiNode in the NIF.
Names are character sensitive.
There can be two NiNodes of the same name, but the animation will only affect one of them, make sure they are unique.

The animation will only work if all NiNodes referenced in the animation exist in the NIF you are using.
If you find one or more are missing in your NIF you can amend that in one of several ways.
-You can copy the needed NiNode from the NIF that has it into your NIF.
-You can keep an empty NiNode with the needed name if it is something you don't need.
-You can simply delete the string name and NiKeyFrameController number (70 in the example) and leave them blank.

If you do the latter remember that the first reference in the list can not be blank, that will break the entire KF.
Also make sure you don't have any stray NiKeyFrameControllers in the KF when you are done.
They must be deleted or the KF will crash the program.

Also, many animations are made so that your character will suddenly be taller or shorter or malformed in some other way.
Combining custom animations with irrational originals is often problematic. You'll just have to see what works.

Example problems I often come across:
Grenadier has many excellent female animations, but his women are way taller than standard irrational.
Renegade animations will flip the character 90 degrees.
Thumbs will look completely mangled a lot of the time.
etc.

There are ways around a lot of the problems, and plenty of other things that can be accomlished, but it gets complicated.
Theoretically you could make comletely new animations.
In practice not so much, but the edits can be extensive.
Being a math wiz would help. I don't actually know what I'm doing, I just try stuff until it works.

Most importantly, there are tons of ways to break the entire KF file.
You easily end up with a KF that you can't use because you don't know where the problem is.
Or even worse, Nifskope can't even load the file, even worser FFVTTR will dump you right back to windows when you try to open it.

For everytime you save a new KF, back up the old one.
BACK UP EVERY SAVE!!! It can not be stressed enough!!!
Keyframes are fragile!


SickAlice

#5
I'm hosting the PDF of widnblown's tutorial on my site. Being totally honest here until I read that tutorial I had no idea how to work keyframes, and that was for years then. Read it once now I understand all of this stuff. Just saying go give that a read if you haven't, you'll know what to do after.

* Sorry AA, not meaning to thread jack here but @shick? You say there's a workaround for the difference in the Gren's female sized meshes and keys from others, like INK's for example? I would be real happy to know how to do that one.

AfghanAnt

My first attempt was a miserable failure  :) . Gonna give it a try again later tonight.

SickAlice

#7
Where are you at with this?

The important thing to remember and always do a check for is that either:
1.) The nif in use contains every string name called for by every keyframe or
2.) Any string names unused/not present in the nif are deleted from the keyframes

So of course in the case of combining keyframes you'll usually be putting additional strings into the used keys that will come along with the new animations. At any rate you'll want to check out those new string names and decided as well whether or not they're something that needs to be in the rest of the animations if not accounted for, or even kept in the new animation or again if you should just add a node to the nif to account for it (in most cases the latter is the quickest way to go and won't interfere with the way things look).

If you keep these things in mind every time you should be work through anything else with much ease.





heroidosilencio

Wow, It really seem very difficut.... I must be dumb because somehow I don't know how to do what you are seeing.

I can't find the nodes that are missing.  :O

SickAlice

Nah your not. Just keep trying at it. It takes awhile to get the rhythm going but once you do it just becomes second nature. Shorter version of that is you need the node to appear in both the keyframe animations (all of em) and on the mesh/nif with the exact same name. Again though keyframes don't happen overnight. It took years for me to get it down but I learned a lot slower than most here.