• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Optimizing Wow Animations

Status
Not open for further replies.
Level 30
Joined
Mar 14, 2014
Messages
1,215
Hello friends,

as the title says: I am trying to make a model that has Wow animations (I actually use a base model from Warcraft Underground), but i want to optimize the animations as good as possible without ruining them.


Care to help me with this, if you know how?

Then Please anwser as soon as you can.



Also i don't want to post any Pictures of the Model, because i want it to be a surprise.
 
Level 27
Joined
Jun 20, 2013
Messages
752
Depending, remember that WCUnderground rippers are a lazy bunch and left a great deal of "junk" in form of empty helpers, and attachment points that aren't going to be used in WC3. You need to delete al of these extra bones and only left the needed to made the model work.
 
Level 23
Joined
May 9, 2016
Messages
106
Before starting, make sure the Rip you're using is correctly animated and doesn't have glitches.

Well, you must know the basic structure of the model you're going to optimize. know which of the bones contain the main information for the movement, so you can use them correctly and avoid "breaking" the model.
You must know that Wow models have a lot of "unnecesary" bones (at least for wc3) but, how to know wich of them are useful or not? You can use a plenty of tools for optimizing a WoW model, I personally use MDLVIS there you can easily check wich bones are useful. Then you start attaching your geosets to each useful bone and once you've used all the necessary bones in your model, just use the function "optimize" and It will remove al the unused bones (sometimes you'll have to remove some bones manually)

It's a bit hard to explain each detail of the process just with words. Anyway, If you have more doubts I'll do my best to explain it to you.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
Depending, remember that WCUnderground rippers are a lazy bunch and left a great deal of "junk" in form of empty helpers, and attachment points that aren't going to be used in WC3. You need to delete al of these extra bones and only left the needed to made the model work.
Before starting, make sure the Rip you're using is correctly animated and doesn't have glitches.

Well, you must know the basic structure of the model you're going to optimize. know which of the bones contain the main information for the movement, so you can use them correctly and avoid "breaking" the model.
You must know that Wow models have a lot of "unnecesary" bones (at least for wc3) but, how to know wich of them are useful or not? You can use a plenty of tools for optimizing a WoW model, I personally use MDLVIS there you can easily check wich bones are useful. Then you start attaching your geosets to each useful bone and once you've used all the necessary bones in your model, just use the function "optimize" and It will remove al the unused bones (sometimes you'll have to remove some bones manually)

It's a bit hard to explain each detail of the process just with words. Anyway, If you have more doubts I'll do my best to explain it to you.

Firstly thank you both for the Answer's.

So if i understood that right: To Optimize the Animations of a Wow model. You have to keep the "useful" bones and delete the "unnecessary" bones.

Nothing else? Like deleting some frames?
 
Level 50
Joined
Dec 29, 2014
Messages
1,950
Firstly thank you both for the Answer's.

So if i understood that right: To Optimize the Animations of a Wow model. You have to keep the "useful" bones and delete the "unnecessary" bones.

Nothing else? Like deleting some frames?

They didn't point that out, but you're right. There are, of course, unnecessary keyframes too. That will be a bit hard but you can do it in Mdlvis. You should start from the first keyframe, delete it and see if it makes difference in animations, if it does than just press undo and go to the next one. I never used WoW animations but I know how Sellenisko always talked about that.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
They didn't point that out, but you're right. There are, of course, unnecessary keyframes too. That will be a bit hard but you can do it in Mdlvis. You should start from the first keyframe, delete it and see if it makes difference in animations, if it does than just press undo and go to the next one. I never used WoW animations but I know how Sellenisko always talked about that.

Well due to the fact that i am making a spellcaster (i can tell at least this) i narrow the animations down until the only animations i have are Spellcaster animations and of course the Standard animations like Stand or Death. That makes my Work a bit easier.
 
Level 23
Joined
May 9, 2016
Messages
106
Nothing else? Like deleting some frames?
Oh, yes you can do it also, however it can be kinda cumbersome, specially when trying to reduce animations with a great amount of movement. Each movement has 3 phases (some more complex than others) Start, middle and end. and you must keep that structure (on each part of the body) while deleting frames. Anyway I personally don't use this method, for it takes a lot of time. and the final result will be just a few KB less. I think you can get enough optimization by choosing wisely the bones you're going to use.
Aside this, what makes a WoW rip so heavy is: 1. number of polygons (It can reach astronomic numbers) 2. The amount of unnecesary animations (cinematics, dancing, different attack and stand animations) 3. the number of unnecesary bones 4. The number of frames in animations.

If you can shave off correctly 3 out of 4 points, you can call it optimized.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
Oh, yes you can do it also, however it can be kinda cumbersome, specially when trying to reduce animations with a great amount of movement. Each movement has 3 phases (some more complex than others) Start, middle and end. and you must keep that structure (on each part of the body) while deleting frames. Anyway I personally don't use this method, for it takes a lot of time. and the final result will be just a few KB less. I think you can get enough optimization by choosing wisely the bones you're going to use.
Aside this, what makes a WoW rip so heavy is: 1. number of polygons (It can reach astronomic numbers) 2. The amount of unnecesary animations (cinematics, dancing, different attack and stand animations) 3. the number of unnecesary bones 4. The number of frames in animations.

If you can shave off correctly 3 out of 4 points, you can call it optimized.

Oh okay.

I am going to tell you (and the others) what Kb size it has once i narrow it down.

You can tell me, if it's acceptable then.

Also i only used a Wow Model as a template for the animations so the mesh won't be a problem, because i am going to use my own mesh.

That would be one point and narrowing the animations down would be another.
 
Level 27
Joined
Jun 20, 2013
Messages
752
In general stand and stand animations only need an handful of frames, the same frame for the beggining and the end of the animations and 3 or 4 for the middle.

Stand Ready, attacks and spells for me need to copy the "keyframes" one frame in every numbered division on the animation.
 

Attachments

  • Example1.png
    Example1.png
    203.4 KB · Views: 87
  • Example2.png
    Example2.png
    176 KB · Views: 91
Level 29
Joined
Jul 29, 2007
Messages
5,174
I just want to note that animation data is generally the heaviest part of any model.
Removing bones is important for run-time performance.
Removing useless keyframes is very important for file size, if you care about that.

That being said, it doesn't necessarily need to be a manual task.
If you don't need any keyframes of a specific animation, you can remove the animation in Matrix Eater, and it will delete all the now useless keyframes with it.

The MDX sanity test spits warnings for keyframes outside of any animation, so you can use that for validation if you want to.

Finally, you can use the MDX/M3 optimizer to merge similar keyframes where it doesn't affect the animation.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
Okay i got everything narrowed down and the File Size is now 356 Kb.
  • I deleted the unnecessary bones. (Bone Count: 17)
  • I use my own mesh, so polygon count won't be a problem. (Vertices: 3960 Faces: 1320)
  • I completely deleted (I cleared the frames of the unnecessary animations) the animations that won't be used at all.
  • I didn't do anything with the animations. (Aside from Editing some animations (Channel animations) to avoid clipping)
So that makes 3 out of 4 points.

The only thing still have to do is adding some effects like Fel Fire,Sounds and two animations:
"Decay Flesh" and "Decay Bone".

And making an additional Portrait model.
 
Level 50
Joined
Dec 29, 2014
Messages
1,950
Okay i got everything narrowed down and the File Size is now 356 Kb.

So that makes 3 out of 4 points.

The only thing still have to do is adding some effects like Fel Fire,Sounds and two animations:
"Decay Flesh" and "Decay Bone".

And making an additional Portrait model.
Try to lower the polygons a bit. You almost have 4000 vertices. Try to lower that, it's too much for a wc3 model.
 
Level 23
Joined
May 9, 2016
Messages
106
File Size is now 356 Kb.
I'd say it's completely acceptable, considering the amount of vertices (and polygons)
However, if you want even a lower file size you can delete frames in your current animations.
The only thing still have to do is adding some effects like Fel Fire,Sounds and two animations:
"Decay Flesh" and "Decay Bone".
Those animations and effects will increase a maximum of 15 kb
And making an additional Portrait model.
You can make the portrait in the same model (to save polygons) using Matrix eater.

Edit:
Try to lower the polygons a bit. You almost have 4000 vertices. Try to lower that, it's too much for a wc3 model.
Well, I think it's up to him, but of course if there are actually unnecesary polygons he should delete them. ;)
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
Try to lower the polygons a bit. You almost have 4000 vertices. Try to lower that, it's too much for a wc3 model.

You confuse Vertices for Faces.

Polygons are the Faces. Three Vertices make one Face or Polygon.

Check your own models for example. Look at Hives Polygon Count and then look at your model's Face Count. They should match.

Edit:
You can make the portrait in the same model (to save polygons) using Matrix eater.

I don't use Matrix Eater that often. Could you explain that to me further.
 
Level 23
Joined
May 9, 2016
Messages
106
Well, you may have noticed that WoW models have "portrait" and "portrait talk" animations.
They are good, but there are innecesary movement in them. all we need for a wc3 portrait is the movement from the chest, neck, head and jaw.
Use matrix eater to transfer the movement of each bone (Only chest, neck, head and jaw. Other bones are unnecesary for a portrait animation) from the WoW rip to your optimized model.
If you don't know how to transfer animations, you can check this out.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
Well, you may have noticed that WoW models have "portrait" and "portrait talk" animations.
They are good, but there are innecesary movement in them. all we need for a wc3 portrait is the movement from the chest, neck, head and jaw.
Use matrix eater to transfer the movement of each bone (Only chest, neck, head and jaw. Other bones are unnecesary for a portrait animation) from the WoW rip to your optimized model.
If you don't know how to transfer animations, you can check this out.

Thank you @FerSZ for the Vid. It had helped me greatly.

Now there is another concern i have:
Some Animations like "Attack spell" don't end on the same frame it had begun. Is it bad if stays like this?
 
Level 51
Joined
Dec 8, 2008
Messages
4,358
You can fix the animation issue by extending the length of the animations in Mdlvis and copying the different frames you are lacking at the end from the beginning of the animation.

If you are lazy, just copy the first one and set the animations to linear. That might look good enough but it depends on the frame before your last frame and their differences in position and so on.
 
Level 30
Joined
Mar 14, 2014
Messages
1,215
You can fix the animation issue by extending the length of the animations in Mdlvis and copying the different frames you are lacking at the end from the beginning of the animation.

If you are lazy, just copy the first one and set the animations to linear. That might look good enough but it depends on the frame before your last frame and their differences in position and so on.

Alright. Thank you.

I think i can upload the model tomorrow, if i am not lazy and watch Youtube Videos the entire time. :p
 
Status
Not open for further replies.
Top