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.
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

Sign In or Register to comment.