• Welcome to Freedom Reborn Archive.
 

expressions

Started by bearded, September 05, 2008, 04:23:40 AM

Previous topic - Next topic

bearded

idea.
take the male basic face, clone it, hook it to a skin named face or something, and hide it just inside the regular face.  link it to an invisible object linked with the head bone.
for certain animation cycles, move it out, and then back in.
like, smiling joker frowning when punched and knocked back.

Volsung

I thought of this on the Reformed Characters since I was also working on the talking heads  :)
I just don't got the time^^
But it would work.

rmt

Most skins with expressions don't really match the mesh (particularly noticeable when using animated talking heads and you realize the sneers and grins and what not don't match the lips.  But since that seems pretty well accepted, wouldn't it be easier to just use an ifl file for the male basic skin?  Then you could just tell it what frames to use the different expression without having to use bones and animate everything.

IFL's are pretty fun to play with IMO.  Someone already beat me to animating Rorschach's ever-changing face that way, but I was able to add bullet holes to an mod-opening nif by using an ifl file and adding a different hole over top of the background every few frames.

tommyboy

Plus, if you look at Vertex's meshes, they already have facial animations (of the actual geometry), as does my Dr.Strange mesh. I used to include the face bones with the _tf meshes, but rarely bother now, as I'm too lazy to add the animations.
Seems like Bil's idea would work too, but still needs extra animation...

bearded

i don't know what an ifl is.
and tommyboy's geometry expression method is supreme of course, but do you know how many muscles are in the human face?  i was thinking of a cheap easy work around.

Previsionary

IFL = Image file list, which Beyonder described on the forums once before. It is a pretty easy way to achieve simple animations by having a sequence of numbered files set up to loop via 3ds max.

bearded

can you control the looping?
i'm thinking of blood damage during the stun cycle for example.

Podmark

Quote from: rmt on September 05, 2008, 04:21:17 PM
Most skins with expressions don't really match the mesh (particularly noticeable when using animated talking heads and you realize the sneers and grins and what not don't match the lips. 

You know as a skinner I never really think about this. Don't know if I'd change my skinning habits because of it, but it's something I'll keep in mind.

rmt

Quote from: bearded on September 05, 2008, 08:07:51 PM
can you control the looping?
i'm thinking of blood damage during the stun cycle for example.

Yes, that's absolutely doable.  The one thing you will have to be careful about is that this can bloat your file size per mesh if you're not careful, especially if you like large textures.  There may be a better way to do it, but let me explain the basics using "Spectra" from the never-finished SSR project.

The original Spectra in Crusader's version of the SS mod was just a hodgepodge of the colors of the spectrum.  The one I made for him for the remake had 7 different costumes.  Face was the same in all, but the body was all red, all orange, all yellow, etc.

So create an ifl file in notepad or another plain text editor.  It's going to look something like:



female_basic_01.tga 4
female_basic_02.tga 4
female_basic_03.tga 4
female_basic_04.tga 4
female_basic_05.tga 4
female_basic_06.tga 4
female_basic_07.tga 4



In Max, assign the ifl as a texture to female basic, same as you would a tga file.  Then put the ifl and the 7 tgas in the skins/standard folder.  What the ifl tells the game is to play female_basic_01.tga for 4 frames, then go to 02, then 03, etc.  The file automatically loops, so when 07 is done, it will go back to 01.  For Spectra, everything below the neck rapidly shifts from red to orange to yellow etc. covering the full rainbow spectrum.

Of course, the numbers in the ifl file to control when to shift tgas do not have to match.  I used the same number with Spectra so she would have some rhythm to her.  But I could make her basic tga white, have it shift in correspondence to certain animations (e.g., red for hover ranged 2, purple for melee_3) and make it appear she was shifting colors -- and therefore shifting powers -- only as needed.  Hm.  Might have to do that, I actually like that idea better.

So for your purposes Bearded, you could have a basic tga for most of the animations but have it change to an alternate tga for something like hit and stunned, pain, etc.  You can get the right numbers by using the animation segments to determine at what keyframe a particular segment starts, and then changing back to the normal tga after it.  For example, if stunned took up keyframes 1000-1100, you would do something like:



male_basic_01.tga 999
male_basic_02.tga 101
male_basic_01.tga 1000



If I'm remembering right, this would run the first screen for 999 kf's, then the alternate for the next 101, then run the first again for 1000 kf's.  The trick is making sure the looping at the end works on a mesh so that the alternate texture stays in rhythm and doesn't get off track.  I haven't played with anything that specific, so it may not work as well as the even number changes work, but in theory, it's the same concept.

Animation principles apply.  You need a different tga for every "movement" or change in the picture, but there's no real limit to application other than file size and patience.  For example, I have an opening nif that takes the old suicide squad logo, "shoots" it with bullet holes, breaks it apart, and changes the underlying picture every few seconds.  All I did was make two billboards in max.  The first one has the logo.  An ifl file takes it through a series of pictures, each with an additional bullet hole.  Then I broke and moved the first billboard apart in max, showing the second billboard underneath.  A second ifl file changes its texture every few seconds, cycling through a variety of nice background arts.  The first billboard is off screen, so I don't have to really worry about when it cycles through.

If you need some example files, let me know and I will put them up at my mesh group.

Word of warning, I do not know if you can hex edit a mesh to change it from tga to ifl.  Might be possible, but you may have to assign the ifl in max.  Also, while the ifl is a raw text file, I don't have a lot of luck changing the frame numbers post-export.  I might be doing something wrong, but I've always had to change the numbers, go back in to max, reassign the material, and re-export.  Frustrating as it would be so easy to just start putting out meshes with ifl materials and then let people go crazy on what to do with them.

For that matter, in looking at Rorschach now, it's clearly set up to use ifl's, with 12 "tom_extras" variations, yet the ifl is not even included -- but it still works fine in the vttr character tool.  I would personally like to try slowing down the pace of the facial expression transformations, but I am not sure if that can even be done without having the mesh in max.

bearded

thank you.  i'm wanting a hulk that will get angrier, and maybe a teen hulk on male basic that changes skin color in melee.