• 🏆 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!

Floating Animations

Status
Not open for further replies.
Level 9
Joined
Jul 3, 2008
Messages
495
I have added alot of animations to the blademaster model with oinker winkle's animation transfer tool. But in some of the animation or the most of them, he is floating over the ground (see screenshots).

Does anyone know if its possible to change the Z(height) value of the models in the differents animations?

Thanks.
 

Attachments

  • problem.jpg
    problem.jpg
    34.7 KB · Views: 245
yes, and heres how
get war3modeleditor
view the anim manager, takeing note of the start and finish of said anims, next go to nodemanager, and creat a new bone (ontop) label it whatever, but main is a good name. next take all the bones, and move them right so there under the bone main. Next go to bone main, and translations. Set the translations at each of the said animation intervals at:
(Begin of animation's#) [ 0, 0, -#]
(End of animation's#) [ 0, 0, 0]

Note: this will set the unit to be lower to the ground, when preforming said animation, and raise back after said animation, countering the previous animation hights...


Or, you could search for a few hours through the model, changeing the hight of each animation... :p
 
Level 18
Joined
Aug 13, 2007
Messages
1,584
Well, open up the model in Magos' Model Editor, then go to Windows > Node Manager. ALWAYS EDIT ANIMATIONS IN MDL!

You will see some kind of a tree. The thingies in the tree (bones, lights, particle emitters) are called nodes (don't get pissed off if you already know). So seek out the mother Bone (the icon is a blue bone) or Helper (white cloud or something) from which the others come.

Right-click and select Edit Node. A window will open with several tables on it. One button should say Translation. Click it.

So, go to Windows > Sequence Manager and take a look at the sequences where your model floats. Double-click on them. Again, you will see a window opening, this time it has another values. Seek out the values "from" and "to". They are given in miliseconds. This determines when begins and ends your animation.

Back to the Translation of the node... After clicking on the Translation button, a table should open. It can be filled with rows of values or can be empty.

The values shoud be like for example:
Code:
 333: { 20, -5, 300 }
This is actually
Code:
<frame number (the milisecond you wish the movement to be performed in)> : { X, Y, Z }

Take a look at a falling list under the table, entitled Interpolation type. The options should say None, Linear, Hermite or Bezier. If it's Hermite or Bezier, the values should have some "InTan/OutTan"things with them, just switch it to Linear, since it's easier. It will transform automatically.

This determines how the node moves if it does. The interpolation types act nas following: as following:

None: It moves instantly. Requires one value. At this point of time the bone just pops where you set it.

For example I have an animation that tarts from 666th frame and ends in 1666th frame (frames or miliseconds, it's the same) and in the 1000th frame I want the model to pop up 200 units to the right from where it stood. I write

Code:
1000: { 0, -200, 0 }

Linear: Requires 2 values: start and end.

For example I want to make an animation that moves the model swiftly upwards about its waist's height (Linear translation by 100 on Z). My animation is from 333 to 1000, for example.

The code is
Code:
333: { 0, 0, 0 }
1000: { 0, 0, 100 }

So over 667 miliseconds (1000 - 333 = 667) the model will move from one point to another.

Hermite and Bezier are complicated, I too don't understand them. Just transform them to Linear.
___________________________


Back to your case. Let's say your animation is from 1000 to 2000. If the interpolation type is Normal, you just type
Code:
1000: { 0, 0, -50(or something) }

If it's Linear, you have to do a litte trick. As I explained, Linear translation requires 2 values. Converting the interpolation to Normal will screw the other animations if there are any on this node. So type
Code:
1000: { 0, 0, -50 }
2000: { 0, 0, -50 }

For Hermite and Bezier, transform them to Linear and do as above.

Good luck. ^^
 
Status
Not open for further replies.
Top