Gamebryo Animation Tutorial 001
Gamebryo Animation Tutorial 001
Gamebryo Animation Tutorial 001
Hello and wellcome. In this tutorial I will be explaining the basics of making custom animations
using 3dsMax, exporting it to Nif format and also setting up animated Nif models
the way Skyrim engine handles it. Simply saying, the goal of this tutorial is to make a fast
walkthrough the totality of things to know in order to be able to make usable animated mesh,
whether you are a newbie or an experienced modeller.
Tools to have:
3dsMax with export/import plugins
NifScope
As an example we are going to animate dwermer crank. It will have very simple rotating animation
to move it from postion closed to position opened. Lets go.
Creation of the custom animation merits to have it's own tutorial, so I'll be very brief here and focus
on exporting and Nif configuration.
So, what we have here
Go
Bone we created
Controller assigned to it. It is actually what makes animation work
at this point. You should be able to see it when play button pressed.
Controller to pass on. Must have some. Manager itself handles no transforms
In this case refers to NiMultiTargetTransformController we created.
Flags - activates/deactivates the controller and deterimines loop mode.
Should be 76 here.
Frequency - determines animation speed
Phase - seems to to be not used. Always 0
Start/stop time - is says for itself. <float_max>, <float_min> , let
the Controller sequence to decide.
And don't forget of the Target. In most cases it must point to the root node
As I said previosly TransformController is what makes animation work.
Here, we are going to configure MultiTargetController that will replace
NiTransfromController we have exported.
Why? Because in case of having many animated nodes each one
will need it’s own NiTransformController. Much better to have one
that regroups all of them.
In opposite to simple NiTransformController it contains
no iterpolator, neither transform data.
Controller sequence will take care of that.
All we have to do here is to list all nodes(bones)
that are going to be animated
Nothing here
Attention! Name string must be exactly the same as name of the object.
CrankBone01 in this case.
Controller sequence is probably the most important
and confusing part of all this. Hang on.
Animation sequence name. You can name it as you want but keep in mind
that some names are reserved and triggered automatically such as
“ Open” , ”Close”, “Idle” for example. Game will not recognize unique names and
animation will have to be triggered manually via script or I don’t know what.
Assign our brand new NiControllerManager to Root Node. Animation sequence "Open" should appear.
And you should be able to see the resul of you work
Hey something is missing. There should be "Close" animation.
Luck ily we don’t have t o mess with all that horrible dat a tables again.
Just duplicate Open sequence, change name to “Close” and add it to manager sequences list.
All we have to do is to give it another interpolator with inversed transfom data.
And at last it must have BSXFlags with Havok, Collision and Animation enabled to work properly in game.
Also a Collision, if we want to be able to interact with it. But that has nothing to do in this tutorial.
Concernign animation, that's it