PDA

View Full Version : Skinart Animating


Warslut
26th Nov 2004, 12:52 AM
Ok, I alredy made a post about this but maybe this more specific.

How do you make animated skins?? Like .gifs?

Someone out there know?

The Helios
26th Nov 2004, 10:47 AM
I'll join this request. Anyone knows? Maybe with Flash?

-Tj-
30th Nov 2004, 11:20 PM
It's kind of like animating .gifs, but a little more involved. Basically you need to import your texture's frames of animation separately into UnrealEd's texture browser, then you select each one in the texture browser and define the duration of the frame and the next frame in the sequence.

For example, if you had a sequence of 3 frames, named image1, image2, and image3, you'd import those three into UnrealEd. After you have all the frames in there, you'd next need to right click and access the properties of image1. There's a setting in there (under Animation, I think) that allows you to define the next frame in the sequence and the duration of the current frame. Define your duration, then select your next frame (image2) in the texture browser, then click Use in the next texture box. Then you move on to image2 and do the same as you did with image1, and so on.

I'm not anywhere near a copy of UnrealEd at the moment, so I can't be sure if I named something wrong or missed a step, but that's basically what needs to be done. I've only done this for textures in maps, but I have no reason to believe this won't work for character skins.

Hope that helps, and I didn't get any info wrong... :P
When I get home I'll double-check the steps.

-Tj-

Warslut
30th Nov 2004, 11:34 PM
Well I found out that you name it image then image_a00 then image_a01 and so on, ok, after I import them all, I have no idea how to actually use the skin on my char, jsut makes the char file reallllllly big. Also, when it imports the pics, it litterally makes everyone in the texture file, so its now huge, and all but one of the files are animated, some with only a second of animation, the lsat with the full thing.

Still need some help, making it into one file, and making it in use on the char.

-Tj-
1st Dec 2004, 12:49 AM
So far as I know, that's the only way to do a sequence of images. If you want the texture file (the .utx) to be smaller you'd probably have to go with smaller textures. If you're using 1024x1024 pixel textures, that's insanely huge for a sequenced animation. Most I've seen or used have been no larger than half that.

Another method for animating is using Unreal's shader system. I'm not to knowledgable on this part, but what it does is use existing textures and modifies them to give the appearance of animation. This is a much more efficient way of animating a skin, and there's tons of different settings you can use. I know Bunny and Beatrice (2k3) use this for the visors. There are several animated textures in UT200X's existing texture files that you could reference, and more info here:
http://udn.epicgames.com/Two/MaterialTutorial#Materials

Avoid large textures for sequenced animation, though... if you must use it, I'd keep the file dimensions to no more than 256x256, at most. If the animation must cover the entire mesh, I'd try to find a way to make the animation shader-based.

Mind if I ask what kind of animation effect you're doing?

Warslut
1st Dec 2004, 01:07 AM
Well I know there's skins that have one or two animated textures for there skins, and the animation is nice and smooth, so how is that done?

-Tj-
1st Dec 2004, 04:31 AM
Oops! seems I missed your question a little.

For attaching your animated texture to the character, all you really need do is select one of the images in your sequence, switch over to the Animations tab, then on the Mesh tab, under the Skin area, click Use on the material you want it to be used on. The texture package itself will contain all the frames. It may look like each one is animating, but in reality they're just displaying the info they're given. You may notice each one is a frame off from the one above it. It's been that way in my experience, anyway, though my sequences weren't very long (like a fraction of a second, maybe 8 or 9 frames).

The only way to arrange them so that they aren't in your way is to arrange them into groups so that you can select, say, your animated files only, or your face textures only. Then you save the animation file (.ukx) and your texture package (.utx). Remember to define the textures in your .u file, or the textures won't show up properly in-game. Check existing .u files for samples of this.
Your resulting texture package will no doubt be larger than most other skin packages, though.

Most of the animated shaders you see utilize a lot of texture modifiers and combiners. The main ones you'll probably end up using, though, are TexPanner, TexRotator, and TexOscillator, along with Combiner and Shader. Using these to animate textures typically results in much smoother animations as well as lower texture file sizes.

If you want, I can write a small tutorial to help you get started. Otherwise, most, if not all of the info you'll likely need to get started is at the link in my last post.

-Tj-

The Helios
1st Dec 2004, 10:02 AM
Please write the tutorial. I'm curious about this feature.

Warslut
1st Dec 2004, 01:34 PM
Well if I have all those files there and make one in use, the utx file if fricken huge... and I can designate the animation to one part of the skin either... and I know there's a way to make animation one file because I've looked at other skins I have. >_<

-Tj-
1st Dec 2004, 05:10 PM
Well if I have all those files there and make one in use, the utx file if fricken huge... and I can designate the animation to one part of the skin either... and I know there's a way to make animation one file because I've looked at other skins I have. >_<

Yeah, the .utx file will be huge with all the image sequences in there. I'm really curious now as to what you're trying to accomplish with your skin. If it's something that can be done by simply panning one transparent texture over another, then you should probably do that on the shader level as opposed to frame by frame.

For example, the Matrix effect... it could be done frame by frame, but with so many frames (even with texture repeats) the resulting texture file will end up being huge. Instead, what you could do is create a texture for the black area that contains all the little letters and stuff, then a texture that has a gradient on it (green to black, strategically placed). You would then combine these two files along with some modifiers to create that green scrolling matrix effect.

This type of solution can be used with most animations that do not require a complete change of the texture. When you look at an animated texture like the example above, you'll only see about 5 texture nodes... one each for the actual texture files, one or two for the TexPanners (these are what move the textures), and one Combiner, probably.

I'll write up that texture tutorial when I get home today. Should be up by the end of the day. If you're sketchy about telling anyone what you're working on publically, you can PM me if you want. It'll be easier to determine what you need to do and how if I know what you're trying to do.

Warslut
1st Dec 2004, 06:35 PM
Alright heh thanks a mill -Tj-

The Helios
2nd Dec 2004, 09:07 AM
Thanks for the information. The worst problems, as always. is the huge size of some files. It eats my RAM!

-Tj-
2nd Dec 2004, 01:17 PM
Sorry folks, I didn't forget about the tutorial. I got home later than expected. Working on it now :)

Warslut
2nd Dec 2004, 03:09 PM
Take your time, we really appreciate it.

-Tj-
3rd Dec 2004, 05:44 AM
Tutorial's finished! Find it here:
http://www.theforeverproject.com/tutorials/unrealed2/material_animation/material_animation.htm

It's a little long-winded here and there, but hopefully it's informative.

-Tj-

SaD
3rd Dec 2004, 11:49 AM
Nice tutorial Tj :) , added at our Tutorial Page (http://forums.beyondunreal.com/showthread.php?t=142806)

And welcome Tj .

The Helios
3rd Dec 2004, 01:08 PM
With the info and the tutorial it's only left to start making good stuff. I have some ideas that I hope can be used with UEngine. Time to time and I'll see what I get.

Warslut
3rd Dec 2004, 01:17 PM
Well tutorial is awsome, thanks a lot. But I still don't know how to make it actually use the texture on the char or let alone, only on sertain parts of the char :S

Also how do you make your texture file as dds...? ><

*EDIT*

Ok I got it to work, the color is a little warped... can you fix that w/o modifying actual skin? And is there a way to stretch it over the entire skin? Also still can't figure out how to make work in certain areas =-/

*EDIT AGAIN*

Found how to stretch -_-

-Tj-
3rd Dec 2004, 04:25 PM
Thanks for the welcome and the link, SaD. Glad everyone likes the tutorial, too. :)

Warslut, did you still need help on something? Seems like you figured out what you were trying to do, but just checking. :)

Warslut
3rd Dec 2004, 06:57 PM
Well animation much easier than I thought :P

But still need help on how to designate the animation only on sertain parts of the skin :S

-Tj-
4th Dec 2004, 03:26 AM
You're talking about masking off areas of the texture so that only small bits are animated, like having animated veins on an otherwise static texture, right?

I'll get back to you on this real soon. I'm not 100% sure of the steps, so I'm gonna play with some stuff then come back with the answer for ya.

Warslut
4th Dec 2004, 03:31 AM
Yes thats what I meant, Take your time, thank you very much :)

-Tj-
4th Dec 2004, 09:30 PM
Warslut, I've updated my tutorial a little. No new steps or anything, but there's a new texture pack at the bottom that you can download that should make some things clearer.

Note that the textures "skinplate" and "veinmask" in there have alpha channels. "veinmask" was imported with the Alpha checkbox on, "skinplate" was imported with the Alpha checkbox off. All that really does is tell UnrealEd whether or not to apply the embedded Alpha channel to the texture's opacity or not. You can see that "veinmask" has transparent areas in the Texture Browser, but "skinplate" does not, even though they both have alpha channels.

Sorry I couldn't do another tutorial or section just for that. Maybe later when I have time, but for now I hope that helps out some. :) Just remember to pick apart everything, even if it means you have to export the texture files. ;)

Warslut
5th Dec 2004, 12:39 AM
Ok, I think I know where I'm going here but I cant get the texture to animate anymore... and I don't fully under stand what to do...

-Tj-
5th Dec 2004, 12:49 AM
Aw crap... I've discovered a bug in that last texture pack.... I'm going to have to rework it at home. For some reason it works under win2000, on a GeForceFX5700, but it doesn't work on a GeForce2 Go... I'll give it another look. Could be part of the problem you're having... I'll get back to you soon.

Warslut
5th Dec 2004, 12:51 AM
Think it would work fine if the modifier, animation thingy would actually go into the shader... just refuses to when i click use.

Think I could get it to work find if the damn thing would import with tranparent bg like it suppost to be in photoshop! >_<

BTW I use Targa format...

-Tj-
5th Dec 2004, 04:35 AM
It just goes either all white (on the 3D views) or blank (flat view) when you put the Modifier into the Shader, right? I seem to get that problem as well, especially when doing certain combinations. I rechecked the tjtutorialtexturepack_ii.zip texture at home and it works fine, so I'm stumped.

It's too bad UDN's documents don't go into more detail about this kind of problem.

Also, if you don't already have it, download the Photoshop plugin on this page:
http://developer.nvidia.com/object/nv_texture_tools.html

It will allow you to import and export .dds files (DXT1, DXT3, DXT5, etc...).

If you want the background to be transparent, make sure you're saving your .tga as 32-bit, not 24-bit. 24-bit .tga files do not contain any alpha information. Then make sure you're checking the Alpha check box when importing into UnrealEd.

If you use the Photoshop plugin mentioned above, make sure you're saving it as a DXT3 or DXT5 file, and check to make sure the Alpha setting is on.

That should cover almost any problem you may be having... the only other thing I can think of is maybe the .tga format isn't working well with UnrealEd. If that's the case, I'd try one of the DirectX formats. They're also smaller in size than .tga formats and should reduce your texture package size.

EDIT: Damn! I figured out why the texture package wasn't working. In the main UnrealEd viewport, under View>Rendering Emulation, there's options for None, GeForce 1, GeForce 2, and Xbox. I opened my Texture browser, enabled GeForce 2, then watched as some of my textures went white. Apparently GeForce 2 GPUs and below won't render the material properly. If you have any of those, then that would lead me to believe that's where your problem lies. Ah well... off to update the tutorial to include that info. ;)

-Tj-

Warslut
5th Dec 2004, 02:53 PM
I knew it would be something stupid like that >_< It works now great thanks a lot. Only now I forgot how to make that texture in use... :S

Got everything how I want it now, just need to know how to use it... also if possible how to make team colors enables :(

-Tj-
5th Dec 2004, 07:09 PM
Ah yeah, that was one thing that went over my head... I completely forgot that whatever material you want to use on a character won't be used in-game until you define the texture set in a .upl file.

Easiest way to do this is to open up the .upl of the character you're skinning, edit the BodySkin and FaceSkin values so that they use your skin, give the character a name, then save that file to a NEW file (don't overwrite the .upl of the file you're editing!).

The format to use is PackageName.MaterialName

For example, if my texture package name is GoatTexturePackage, and the body texture I want to use in that package is Goat_Final_Material, I would type in that section this info:

BodySkin=GoatTexturePackage.Goat_Body

This ignores material grouping in the texture browser (it's just an organizational thing anyway). Then all you need to do is save the .upl as a new file with a logical name. In my case I'd probably save it as "Goat2k4.upl". The addition of "2k4" or "2004" at the end makes it easier to see at a glance if the file is meant for UT2k3 or UT2k4, or whatever version of UT comes next.

As for team colors, I think there's a tutorial on this forum already that can help with that:
http://forums.beyondunreal.com/showthread.php?t=141262

Your .upl should look like mine does below:

[Public]
Player=(DefaultName="Goat",Race="ThunderCrash",Mesh=HumanMaleA.MercMaleD,species=xGame.SPECIES_Merc,BodySkin=GoatTexturePackage.Goat_Body,FaceSkin =GoatTexturePackage.Goat_Head,Portrait=GoatTexturePackage.Goat_Portrait,Text=XGoat.Goat,Sex=Male,Men u="SP",Tactics=1.0,StrafingAbility=1.0,Accuracy=0.5,BotUse=1)

That should help, lemme know if that works. :)

Warslut
5th Dec 2004, 08:15 PM
Everything works perfect accept... when the team colors go, it only works on body, and not head :S I can't find out why.

-Tj-
5th Dec 2004, 08:57 PM
I think you forgot to put the TeamFace=1 setting in your .upl file. You can put it right at the end of the string of settings, so in the example above, it would be:

[Public]
Player=(DefaultName="Goat",Race="ThunderCrash",Mesh=HumanMaleA.MercMaleD,species=xGame.SPECIES_Merc,BodySkin=GoatTexturePackage.Goat_Body,FaceSkin =GoatTexturePackage.Goat_Head,Portrait=GoatTexturePackage.Goat_Portrait,Text=XGoat.Goat,Sex=Male,Men u="SP",Tactics=1.0,StrafingAbility=1.0,Accuracy=0.5,BotUse=1,TeamFace=1)

I just tested it out here and saw the problem you had. No team skin switch for the head. It works after you put the TeamFace option in there, though. I'm pretty sure that'll do it. :)

-Tj-

Warslut
5th Dec 2004, 09:01 PM
It works... thats every... thanks a million man =) I'm going to submit skin now called 'Warslut' look out for it soon ^_^

-Tj-
5th Dec 2004, 09:42 PM
Happy to help :)

Glad you got through everything. I'll keep an eye out for the skin download. ;)

-Tj-