News:

Rings of Reznor!

Main Menu

Changing Texture By Keyframe

Started by SickAlice, January 28, 2023, 07:18:49 PM

Previous topic - Next topic

SickAlice

Just opening a discussion for anyone that wants it about how to change/animated textures by keyframes. The method most of us use is to do something in the nif itself. Like for example I use a method of creating two of the same model that have a different texture assignment. Then using the keyframe to swap out the models. Windblown for example uses in Emma Frost to have her appear to change between skin and diamond form during animations. The problem is this is increasing the amount of faces the game engine needs to render, double if your doing the whole body.

So something that I've wondered for awhile is how to have the single model, lets say the basic body for example, and do this during a specific animation. That is change the texture assigned for that duration. I know it is possible but I can't get through the jargon in the nif documentation on it. My brain has ideas like for example just applying the standard settings one would use in a nif for animated textures but to the keyframes instead. That's not workable though because it can't point to the numbered texture instance in the nif. It would point to whatever had that number if anything in the keyframes (or do we just insert the texture instance into the keyframes to call upon as well?) A variation I think is making a controller for the model, say male_basic for example. Within that keyframe attached the string put all these Texture controlling values. But again it brings up the issue about numbered instances in the nif.

But I know there is a way and a proper way. I see a lot of jargon as said about BSShader values and so forth but not a lot of how to set it up nor what values mean what and what they need to be.

To clarify the above what I mean is since a keyframe is called upon within a NiController where it is contained and linked to a ControllerLink. Then typically the NiController links off to a set of commands. Given the relation of nif and keyframes the idea is an animated texture is worked via a NiController (NiTextureController). This points numerically to a texture instance in the nif as a keyframe would a string. It's linked is NiFloatData. My brain wants to take that and just drop it in a NiController, set the times accordingly, but? Well I know how fussy this game engine is and I will experiment but feel there may be a better way or my experiment will fail because things aren't organized right

Anyways any thoughts on the subject or knowhow. Again I know this option does exist but the hows and the settings are eluding me.

And to be clear I have worked with keyframes and nifs for a long time now. I am not a new person asking what they are. I know I've been away awhile so maybe it seems that way but that isn't the case. Keyframes and the correct values for nifs are my strong suit here. Ty.

For additional reading (because various settings in nif again can be hard to find online) this was a long how to on how to set-up texture controllers and export them as KF's for Oblivion/CivIV. Just to get the direction headed in the right way that we should be able to set up controllers inside a KF for textures if done correctly that can call on it during specified animations. Mind the site went down and the images are missing but the reading is straightforward:
https://web.archive.org/web/20201023200048/https://sites.google.com/site/saidenstorm/part6extendedanimationexports

Randomdays

Not a clue but two suggestions;

1) when I was looking at kf's from Civ 4, I noticed that they embedded sound call-ups inside the kf itself. If sounds can be called up, maybe a skin can also.

2) Probably done something similar to what you mentioned with dual bodies, but I know that Kenn X had some human Torches that would go from a "normal" skin to a "flaming" one depending on the action taken. They're up at Alex's site if you want to take a look.

SickAlice

#2
It's been awhile but I'm the same person you had look into that stuff RD. I was making models and keyframes for you at the time before taking off for rl stuff. Neither is applicable to this but thanks.

1.) On that sound thing I probably typed a long tiring paragraph and it's been awhile but I "think" I had determined the issue was that the FF game engines aren't set up to use that function where the Civ 4 game probably is. These game engines are kind of limited in enabled features of Netimmerse, particularly the 1st game of course and part of why I won't make content for that one. Not as robust as say Skyrim or Fallout in the later games nor Civ for that matter. All that has to do though with the nif relativity where it is a container. I think Knight Rider 2 may have even utilized the sound thing. The nifs contain everything themselves themselves from the keyframes to the shader data to the very texture images for the skins as they are meant to. They even utilized ini's. But the discussion is for Freedom Force usage so it's neither here nor there.

2.) Yes , Ken X used the same method of multiple body models. Already know how to do that and have made multiple works with the feature, I did that for your Spider-Mobile's wheels actually. The idea as stated is to figure out the alternative where the keyframe animation in question calls upon the target model to alternate to a select texture.

X.) I did add a link above for exported texture KF controllers for CivIV if it's of interest to you. I don't work with those games so it won't be of use to me though I've used this tutorial to retrieve various values for nifs/keyframes before. Understand this is a community discovery topic for the persons working with keyframes in the Freedom Force modding community to ponder.