News:

Rings of Reznor!

Main Menu

New Keyframe Swap Program Request

Started by SickAlice, January 29, 2020, 12:34:49 AM

Previous topic - Next topic

SickAlice

A shot in the dark but who knows? I suck at programming so if anyone ever has any interest. Same functions of previous programs apply however the main feature needed is that the program analyzes the keys and adds the strings found in the difference to the rest. Added it would be nice if it at least set the time index correctly for each, perhaps a checkbox? Lastly a feature that decides whether they will be visible also perhaps a checkbox. The latter is all just gratis mind you, mainly the first function is what's needed as manually adding each one is time consuming otherwise and stacks for every additional string.

detourne_me

cool idea.  Let me see if I understand it correctly...
I want an animation from A set in B set, but B set has a cape, or hidden guns or something.
With the program, maybe duplicate an animation from B set, that has the cape nodes in the keyframe data, then copy the A set keyframe data into that duplicate animation from B set?

Or...

A set has extra nodes in the animation that the mesh for B set doesn't have. The program will read B set's keyframe data to make a list of all the nodes that are used in B set, and when you copy over an animation from A set, only nodes present in B set will be copied over.


I don't think the first scenario is needed, as mesh pieces will just stay static if no animation data is in the keyframe file. Although it would be beneficial for hidden weapons to stay hidden.
In the second scenario, the biggest issue I see would be with the extra data. There are a few ways I've dealt with it in the past. The more time-consuming way is bringing all of the relevant information up, and then deleting the extra keyframe data. The easier way is just renaming the extra nodes to something that is already present in the keyframe set and referencing those animations.  That's why if you look at some keyframe sets I've done in Nifskope you'll see Head node animation data 3 or 4 times, I used it to cover up nodes that didn't exist on the mesh without changing the file size of the animation.

detourne_me

Ok, i see what you mean. You would also have to add those nw nodes to the character.nif in order for the keyframes to work, though.
In that case you would need a program that looks at both the character and keyframe.nifs of both the donor and ecipient meshes. If that were the case, it would be nice if it was like Character Tool, but with two characters visible at the same time.  You could preview animations on each mesh, and shuffle over new keyframes (including empty nodes on the character.nifs)

detourne_me

no need to explain yourself to me :)
I understand more of what you are talking about now... not a new user-friendly tool, but more like a batch script that would allow you to fill in strings quicker.

Cyber Burn

While way above my head, I took a little break from studying and read through this. Like I said, way above my head, but it got the wheels turning a little bit and got me thinking (scary thought, I know). What about a program like WinMerge? I don't know much about it, but from what little I read, it's supposed to take two items, match them up, and fill in the missing pieces (or something to that effect).

It could be worth looking into if it actually does what it says.

SickAlice

#5
Over my head too. I learned to program binary so basically how to make working crossword puzzles on a four color computer lol. Else Hello World. I'm not sure what two programs would merge though. I think the idea is some code would need be inserted say into Nifskope whereas it runs down all the string names and if it finds a string that is not present in every keyframe it adds that, say at default settings matched to each strings end time and set to two step visible (1.0000). Likewise does the same if the newer keyframe is missing strings the rest normally have. Basically to save a boat load of time copying and pasting and copying and pasting so one can devote themselves to just working on the individual values. Like for example I was just working with The Bards lute playing keys. The have around 88 different sets per menu so times three. My knuckles are tired from going through every single one and I have yet to add the string itself to every other keyframe and so on. For SCD request of course. That's my request, else if you mean dm's threadjack I'm staying away from that for the obvious reasons. Just not clear whose request you're responding to is all so I'm pointing it out.

Edit: Noting in Nifskopes case it already does a full sweep and checksum through every key and string, calls you out if there's a mismatch or redundancy of course so I imagine that's where the code would need be inserted but just don't know how to do that type of coding myself. I believe the authors provide some of the workfiles for that program.