Model Animation suggestion

Mar 23, 2013 at 11:21 AM
I've got a suggestion about animations in Model class. Since FBX file exporter in 3ds max doesn't support multiple takes in animation, it would be nice to have animation clips defined in a file (xml for instance), and processed along with a model. Do You intend to also add some more advanced features to animations like blending in futer releases?
Mar 30, 2013 at 4:01 AM
At the moment term time and family activities are preventing much work on JBBRXG11. I decided
that my messy collection of tests without an easy way of doing regression runs was making me
nervous about making changes and I have spent the last two days building a test manager - it
maintains a folder of test projects, drives them through the compiler and pixel compares static output.
Doesn't work on animated samples - but I have some ideas about that. I'm keen to get it into
operation before doing much more to the library.

My current vague development plan is sort of like this:
  1. Try to get more classes converted to XNA4 with initial focus on:
    (a) Getting rid of VertexDeclaration. I've been a bit reluctant to use reflection (old fashioned
        static typing boy here), but it turned out to be the only way I could manage the 'vertex' types
        in compute buffers and I'm feeling happier about it now.
    (b) Fix SpriteBatch to handle state parameters fully - only deals with BlendState at present,
       and doesn't do that completely.
    (b) Possibly remove RenderState and move to the separate (Blend, DepthStencil, etc) state
        types, which are already behind the scenes.
    (c) But then just working on completeness - lots of my XNA clone classes have lots of NYI
        methods, or methods that don't even exist.
  2. Implement a video importer - this has some priority for me because I like to use image filters
    as my first examples of pixel shaders, and that is much more impressive on animated scenes.
  3. More work on compute shaders.
    (a) Make a template 'game' which doesn't have a game loop - to allow general use of compute
    (b) See if I can get access from user program threads to the GPU.
I'd like to do more with animation. However, I'm not particularly knowledgeable about it, so I'm
open to suggestion as to where it should go. I have done some work with UT animation sets
and have written code to load them. It isn't part of JBBRXG11 though. The Unreal Editor allows
assembly of animation clips into sets, so clip export is fine in that context. I think that an XML
system would be easy enough to build, although I don't like making people look at XML files. From
my perspective it would have to come with some tool to to manage the clips (in a similar way
to the UT Editor). Can't promise to get onto it soon, but if you have a chance I'd appreciate
a couple of FBX files generated from max to test.

Blending - hmm. The current system mostly works with baked xform matrices - I'll have to look
into the maths a little. As I recall from UT, using quaternions makes blending easier. I would be
interesting in knowing what you thought would make a nice animation API. The only thing I
had thought of adding was an offset vector so that repeating animations could move forward
automatically at the end of each cycle.