News:

Rings of Reznor!

Main Menu

Keyframes that Aren't There

Started by BentonGrey, January 20, 2009, 06:30:30 PM

Previous topic - Next topic

BentonGrey

Howdy guys, I'm trying to figure out how to use keyframe.txt's.  Can anyone tell me how to do it, or show me an example?
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

UnkoMan

Pretty easy. First set up a directory for where you will store keyframe files. I keep mine in customs/keyframes, then have that subdivided into male_basic, female_basic, and male_cape folders.

Then you add the keyframes.txt file into your mesh folder. Then you just have it point to the file you want. C:/blahblahblah/thisfile.whatever keyframe files are called.

Heh, sorry I am not being more specific about names but I am totally killing time at work right now. Hopefully you get the point. If not, I'm sure somebody else will give a bit more details soon.

Vertex

The following is simply copied and pasted from the character tool docs released by irrational themselves.

Animations are stored in a character.kf file or keyframes.kf file in the mesh folder (either name is OK). Each mesh can only have one animation file.



You can soft-link a mesh to an animation file in another mesh folder by creating a file called keyframes.txt in the mesh folder. This file should be a standard text file that contains a single line specifying an animation to use. For example, it could contain data\art\library\characters\minute_man\character.kf.



Soft-links are useful because, if you want to bundle up a character to be exchanged on the internet, you don't need to include the (large) animation data in it if it refers to animation data from one of the standard meshes. Soft-links are automatically used in a bundle if you select the Include link to keyframes only option when exporting.
A wise man knows, he knows nothing
I must be the wisest man on Earth,
cause I don't know squat

GogglesPizanno

*EDIT*
:ph34r: -ed!!

What I do is I created a directory in my meshes folder called "!Keyframes" and put all my different keyframe files in there with descriptive names (i.e. character_magneto.kf, male_basic_kungfu.kf, etc....)

Then in the mesh folders for each character either remove or rename the keyframe file (I delete them later after I confirm that it works so you can get it back if something doesn't work).

Then create a text file named "keyframe.txt" (or keyframes.txt - I'm at work and don't remember if its plural or not - Its the same name as the keyframe file only with a txt extension)

In that text file you enter in the path to the keyframe file you want to use. I believe the path is relative to the art directory (like relative paths in FFEdit)

so the text file would be something like "library/custom_characters/!keyframes/character_magneto.kf" - minus quotes

If you open up character tool and the mesh has animations it worked. If it doesn't either the path is wrong, or the keyframes aren't compatible. One of the other nice things about this method, is you can change keyframes on the fly and see the updates in CTool without having to close and reopen.

If you cant get it working I can send you an example when I get home tonight.

BentonGrey

Thanks for all the responses guys!  This should tell me everything I need to know.  I'll start experimenting tonight, and hopefully get a good start on this stuff.
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

daglob

Wait a minute... if I read this right, this means that I only need one copy of a given set of keyframes, say Azraels Male Basic, for any and all meshes that use these keyframes. Is that correct? It will drastically reduce the amount of data in my FF directory if so.

BentonGrey

That's right Daglob, and that's exactly why I'm looking into it.  I'm trying to cut down on the size of the DCUG.

Okay guys, I'm getting this to work out of my custom folder, but not out of the DCUG (with CTool, anyway, i haven't tested it in game yet).  My datapath looks like this:  DCUG\art\custom_characters\!keyframes\male\male_triton.kf.  The path and names are correct.  When I copy the !keyframes folder and place it in my custom\art\library\characters directory, everything works nicely.  Suggestions?  I need to be able to check them in CTool to make sure they work.
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

GogglesPizanno

So do you use the custom path option in CTool to point it to your mod directory for checking characters?

I'm gonna guess that the problem (or part of it anyway) is the way CTool handles the "custom" folder path.
As your mod folder is not one of the standard paths that CTool uses for meshes, it may be getting confused.

BentonGrey

I can only assume that is the problem Goggles.  I guess I'll have to pack the !keyframes folder up separately, and direct people in the readme to put it in the proper location.
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

detourne_me

What I do, instead of having a keyframes folder, is leave the keyframes in the character meshes that are most closely associated with that character.  for example IPS' Wonderwoman keyframes in my wonder woman mesh folder,  then i soft link with a txt file for all the other characters that use those keys (donna troy, Cassie sandsmark, titania, caitlin fairchild, jakita wagner, etc)

USAgent

I use this for every new hex/skope/mesh I download unless it has specific keyframes for it.  I do what detourne_me does as well, I just create a keyframes text file for the new mesh and link it to a mesh I already have: library/characters/male_basic/keyframes.kf

detourne_me

ok cool. thanks for the info IPS... i was wondering about that since her hair moved with the keyframes too..

BentonGrey

Just a note, Prev. pitched in and helped me figure this out.  Apparently this can work if you point it at a similar directory to its default, but it doesn't work in CTool.  So, by pointing it to DCUG\Art\Library\characters\!keyframes, everything seems to be alright.
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

GogglesPizanno

TUTIE to the Rescue!!!
(Hmmmm, Im thinking a follow up single... at this rate I could have a whole album of Prev related material)

deano_ue

hmm i didn't know you could do this, i take it saves a lot of space

Cyber Burn

Quote from: GogglesPizanno on January 20, 2009, 06:48:11 PM
*EDIT*
:ph34r: -ed!!

What I do is I created a directory in my meshes folder called "!Keyframes" and put all my different keyframe files in there with descriptive names (i.e. character_magneto.kf, male_basic_kungfu.kf, etc....)

Then in the mesh folders for each character either remove or rename the keyframe file (I delete them later after I confirm that it works so you can get it back if something doesn't work).

Then create a text file named "keyframe.txt" (or keyframes.txt - I'm at work and don't remember if its plural or not - Its the same name as the keyframe file only with a txt extension)

In that text file you enter in the path to the keyframe file you want to use. I believe the path is relative to the art directory (like relative paths in FFEdit)

so the text file would be something like "library/custom_characters/!keyframes/character_magneto.kf" - minus quotes

If you open up character tool and the mesh has animations it worked. If it doesn't either the path is wrong, or the keyframes aren't compatible. One of the other nice things about this method, is you can change keyframes on the fly and see the updates in CTool without having to close and reopen.

If you cant get it working I can send you an example when I get home tonight.

   Thanks for the info GP. I totally rearranged my files to follow this set-up, and I'm only partially finished and I've gained over two gigs. (Also did the dds conversion which helped save space).

daglob

I've barely gotten started and cleared around 200 mb. That may not sound like much, but it includes Male Basic and its derivatives and the few versions of Male Alpha I have.

I already have copies of all the keyframes in a folder in the Character directory so that I have quick access to them if I get a mesh without KF. Most are in their own folder describing them and are just named "keyframes.kf", so I've been making a text file in the same folder, and copying it to whichever mesh I want to use them.

I have found a few things that didn't work, but so far it's working great.

Why isn't this more commonly known?

Previsionary

because not many people read the tutorials and readmes posted about on FR and released in IG's help files? That's my guess. :P
Disappear when you least expe--

catwhowalksbyhimself

Shoot, I've known about it since the game came out.  Irrational even promoted this new feature somewhat.

Funny how easily somethings get forgotten, but at least this inquiry has increased awareness and save much hard drive space.
I am the cat that walks by himself, all ways are alike to me.

Zivon23

IS this an :ff: Thing or does it work in  :ffvstr:?

GogglesPizanno


JKCarrier

There is a similar trick that you can do for  :ff: though. Rename your character.nif files so that they each have a unique name: male_basic.nif, male_alpha.nif, male_basic_boots.nif, etc. Then you can put them all in the same folder with the one keyframe file they all use.

The drawback to this is that you can't use the in-game editor to create characters, since it won't recognize anything that isn't called "character.nif". I think you can use EZHero, but you'll have to manually type in the path/name of the NIF.

blackjacket

Hey, I know this is an old topic, but by having a txt file point to a keyframe for a given template..would it be possible to alter the text file with script during a game?  The goal here would be to change the keyframes of a character mid-game during certain actions...like say during use of the "sprint" power.

detourne_me

interesting idea,  but since it's just a text file, i'm thinking that it might be possible to redirect to a separate keyframe file.
I guess it would be a custom script that you would have to apply to your character and take off.  like the "high gear" and "slow down" settings for the speed force attribute.
most other things are hard-coded in the game.
Here is a list of little keyframe tricks I am aware of:

any animation with a "contact" can serve as a melee animation, they can be named anything, and with nifskope you can add a (or multiple) "contacts" to any animation.

The same goes with "leave_hand" being used for area,beam and projectile attacks - but these are NOT randomizable

you can add suffixes _a, _b, ... up to _f for melee animations to randomize them.

** renaming a different run animation to "tumble" opens up the tumble special power in character creation.  This is useful since the power is basically the same as sprint, but a little slower and with added dodging.  It's a good cosmetic change when you want a hero to use different "run"s

burrow_start and burrow_end are needed for tunnel travel and burrow special powers. 

Umm, I can't think of many others at the moment...

blackjacket

Hey, that's good to know about tumble.. i know you could also have the suffix _a,_b, etc to dodge and ranged animations to randomize dodging and ranged respectively.

GogglesPizanno

I dont think using the text file to change keyframes in-game would work, as once the kf/mesh get loaded, I believe the game caches it until the character is reloaded.

My experience with trying to dynamically change things in game (like dats) is kind of a crap shoot. Some things you can update dynamically and they take effect in the game others don't until you restart the game. I was always able to get about 50% of the way to where i wanted.

If you can figure out how to do it, that would be cool.

cmdrkoenig67

So...Do you put a keyframes.txt file in your original mesh folder pointing to the other meshes that use the same keyframes or do you put the txt file in all the other meshes pointing back to the original meshes' keyframes (or can it be either)?

Dana

GogglesPizanno

You put the text file in the original meshes folder and the text of the file is the path to the keyframe file you want to use. So its basically a text pointer.

I put all my keyframe files into a single directory and name them accordingly to what they are, then for each mesh, there is a keyframes.txt file that has the path to the kf file I want to use. I believe it relatve to the library directory. So for example, my female basic mesh has a keyframes.txt file with the following path as the content

"library/characters/!keyframes/female_basic.kf "

cmdrkoenig67

Yes...I got it to work!  Thank you, Goggles.

Dana