• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Completed Animated Textures 101

captainganon

Smash Rookie
Joined
May 2, 2015
Messages
7
Welcome!

This thread is going to teach you how to animate any texture. Yes, full-blown traditional animation.
I will provide a template file to help get you started, which you can turn into anything you want with a few edits.

Step 0 - Setup

Downloads:
For questions: The Melee Workshop Discord

Step 1 - Getting your textures

This is both the easiest and hardest step. If you wish to make a totally custom animation, you'll first have to create that yourself. However, you can also use online tools to get the separate frames from any already existing video or GIF. You'll want to save all your images in one place.
Note that Melee's limitations means that textures have a set of unclear restrictions on size. Generally, the more complicated the texture, the smaller it will have to be. The exact limits and definition of "complicated" are unknown, so later I'll show you a way to test if your textures will work or not, before you waste your time. Anything above 1,024,000 square pixels (1024 x 1000) is almost guaranteed not to work.

Step 2 - Exporting the costume

This will be done in DAT Texture Wizard (DTW)

Open DTW, select Open Disc and find the ISO you want to edit.



Navigate to the costume file you want to edit and export it, for example Falco's Neutral Costume



Step 3 - Editing the costume

This will be done in HSDRaw

Open the costume file you exported in Step 2



Double-click the top JOBJ, and expand the ANIM folder.



If your character doesn't have animation files, you'll have to add them.

Edit > Add Node > From DAT File, and select the AnimationAddon.dat included in the download from ssbmtextures.com



This file also has enough MaterialAnimations for most characters. Unfortunately, as of now, the one limitation to this method is that there seems to no way to add more MaterialAnimations. If you want to replace your character's ANIM folder, right click it, select Replace, and choose the AnimationAddon.dat downloaded from ssbmtextures.com

To check if your pictures are too big, replace any texture (preferably a big, easily noticeable one) with one of them.

Select the Object you want to replace, click Material and then Edit



Select the texture, then click Replace and choose one of your textures.



Make the image format RGB5A3, and click Done. Close the MOBJ Editor window



Your new texture should show up



Save the file, and skip to Step 4. If it looks as it's supposed to ingame, return to Step 3 and complete it.

Identify the objects you want to edit. The numbers on the left of the Objects tab correspond to the numbers on the MaterialAnimation_ files. The objects will outline the bodypart that they correspond to when you select them. For example, 22 in the Objects tab refers to MaterialAnimation_22 and Falco's back.



For every object you want to edit, right click the corresponding MaterialAnimation and click "Add Texture Animation"



Right click the new TextureAnimation and select Replace, then choose the TextureAnimation file you downloaded from ssbmtextures.com



Double-click the TextureAnimation file to open it



Delete the 3 existing textures, and Import all of your textures (you can select multiple at once)



Make sure they're in the right order using the green and red arrows



Close the TextureAnimation file, expand the TextureAnimation file and select the AnimationObject.



In property view, there are two important variables you can change.
First, Flags: I suggest you don't change this, as ANIM_LOOP is what keeps the animation looping. If you only want it to play once, replace ANIM_LOOP with a 0.
Second, EndFrame: This is how long you have to play your animation. You want it to match the length of your animation. Divide by 60 to get the number of seconds; by default, it's a four-second loop. If your animation is 10 seconds, make it 600, and so on.



Double-click the AnimationObject to open the keyframe timeline.



This might look confusing, but it's quite simple once you do it. The squares represent keyframes (points where the texture changes), and the yellow one is the one you have selected. The final keyframe is invisible, for some reason.
Use Insert Key to create new keyframes until you have a matching number of keyframes and textures. To find the frames they belong at, take the length of the animation in frames (240) and divide it by the number of pictures (3) to get your interval. 240/3 = 80, so this example has a keyframe every 80 frames: 0, 80, 160 (this is a slow and simple animation, so the timings don't need to be that precise). Because the animation loops, frame 240 is the frame before frame 0.
Once you know where the keyframes belong, select the keyframe (using the arrows on the left can be useful) and input the appropriate frame number. At the same time, make sure all your frames are using the HSD_A_OP_CON interpolation.
Once your keyframes are all in the right locations: In the Value section, input the number corresponding with the order of textures, starting at 0. That is, the first frame is value 0, the second is value 1, then value 2, and so on. So if you have 60 frames, they will be numbered value 0 to value 59. So for 1 second of 60 FPS animation, you would have 60 keyframes from 0 to 59, and the EndFrame (in property view for AnimationObject) would be 59.
Make sure to click Save Changes in the top left once you're done.



If you want to reuse this TextureAnimation on other objects (same animation on different objects), right click it and Export.
You can then repeat the Add Texture Animation > Replace steps to add this animation to any object.



Once you've added all the animations you want, save the file.

Step 4 - Importing the costume

This will be done in DTW.

At the same location as before, click the Import button and select the file you saved in Step 3.



Save the file.


Done!
 
Last edited:

BrassMonkey

Smash Cadet
Joined
Sep 1, 2020
Messages
28
Location
Tulare Basin, California
Been messing around with this and its really awesome!

However I've ran into a problem that may not have a solution.

Is there a better way to add textures so they don't stretch and shrink with the model?
For example marth's cape (cape is stretched so any texture added is stretched)
or docs back (texture isn't straight where it meets itself and his back concaves a bit)

When I try to put textures on these parts they always turn out bad or just a straight mess.

Is there another way for me to add textures without them getting stretched or shrunk?

 
Last edited:

captainganon

Smash Rookie
Joined
May 2, 2015
Messages
7
Been messing around with this and its really awesome!

However I've ran into a problem that may not have a solution.

Is there a better way to add textures so they don't stretch and shrink with the model?
For example marth's cape (cape is stretched so any texture added is stretched)
or docs back (texture isn't straight where it meets itself and his back concaves a bit)

When I try to put textures on these parts they always turn out bad or just a straight mess.

Is there another way for me to add textures without them getting stretched or shrunk?

This may have a workaround, but it's a bit complicated, and I haven't tested it myself. First though, you can try manually shrinking the frames so that they appear normal when stretched (make them look squished outside of melee).

If that doesn't work, you can try messing around with the UVs of the models by exporting the models in HSDraw, importing them to Blender, and using the UV editing tools there. Bizzozeron's import tutorial might help you with some of this process.
 

HNC

Smash Rookie
Joined
Jun 22, 2021
Messages
2
Location
Myrtle Beach, SC
Slippi.gg
HNC#570
So i believe i followed all the steps correctly however my game plays the animation once and then crashes. do you know what might cause this?
 

BrassMonkey

Smash Cadet
Joined
Sep 1, 2020
Messages
28
Location
Tulare Basin, California
So i believe i followed all the steps correctly however my game plays the animation once and then crashes. do you know what might cause this?
Not sure what's causing the crashing.

But you can check and see if your 'Flags' variable is set to ANIM_LOOP and not 0.

In property view, there are two important variables you can change.
First, Flags: I suggest you don't change this, as ANIM_LOOP is what keeps the animation looping. If you only want it to play once, replace ANIM_LOOP with a 0.
 
Top Bottom