Model scripting improvements
2.1 unstable build 2360 adds some new functionality for 3D model scripting. I'm currently documenting model scripting on this Manual page: http://dengine.net/manual/assets/scripting_with_stateanimator
A big new feature is that there is now a script callback method for executing code when a mobj switches to a particular state. Previously one could only execute scripts if there was an associated model animation sequence present. Some objects, like power-up artifacts, are actually static models so they don't need animations. It is still useful to know when the artifact has been picked up, for instance.
Also, model scripts can now start specific animation sequences and/or script timelines. This gives a lot of flexibility for example for choosing a specific animation sequence when a monster receives damage. This also makes it possible to start multiple consecutive animations in the timeline script.
In that example, one could also do something like:
A big new feature is that there is now a script callback method for executing code when a mobj switches to a particular state. Previously one could only execute scripts if there was an associated model animation sequence present. Some objects, like power-up artifacts, are actually static models so they don't need animations. It is still useful to know when the artifact has been picked up, for instance.
Also, model scripts can now start specific animation sequences and/or script timelines. This gives a lot of flexibility for example for choosing a specific animation sequence when a monster receives damage. This also makes it possible to start multiple consecutive animations in the timeline script.
record model.thing.misc3 ()
def onStateChange (animator, state)
print "State changed:", animator.ID, state
animator.startTimeline("off")
end
end
In that example, one could also do something like:
animator.startSequence("attack1")
Comments