From: Marcus L. <ma...@ya...> - 2007-11-19 20:10:15
|
Antonio Bleile wrote: > Hi, > > as we are collaborating with the local technical university > and as we're offering some master thesis, we also proposed a > thesis (with Dirk's authorization of course) that would resolve > the animation issue in OpenSG, the title is "An Animation > Framework for OpenSG". If there's time remaining, the solution > also contains a plugin for 3ds and/or Blender that exports > animations. The description of the thesis contains an > explicit commitment to the Open Sourcness of the results and the > collaboration within an international and distributet team of > developers (that would be you!). Neato! > We now found a young computer science student who is interested > in this topic, and he's ready to go. But before taking off I've > a couple of questions: > > - Do you have some concrete ideas on how an animation > framework should look like in OpenSG? Are there any > papers/references other SceneGraphs where to learn from? WildMagic/NetImmerse/Gamebryo is a set of similar SGs (created by the same guy) that do animation. Much of it is pretty good. The commercial variations have all the goodness you can expect (particle systems, skinning, keyframes, custom character animation cycle blending). Those things work as separated subsystems, which I think is good. They should be coupled very lightly to the geometry and to the clock. It distributes time by traversing the graph. Every node has an update(float) call that takes the time, with some flags that you can use to tag a node (and thus it's children) as time-independent. It is perhaps not optimal (a bit too tight coupling and too much graph traversal for my taste), but it makes it easy to add time-behaviour locally. In our system, we have every "object" that need extra updating being registered to a "updater" when it's created. (By checking the type dynamically.) The order of update is simply the order of creation, and this has worked surprisingy well for almost three years now. The time (both absolute and relative) is fetched from a singleton (that provides different clocks for each aspect). Also, OpenSceneGraph probably has something that works for them. Crystal Space is also more of a complete "engine" so there should be time/animation in there. A survey of scene graphs (and modelling software, if possible) might be worth it, unless we can decide on a method beforehand? > - Where should he work on? In OpenSG 2.0 or OpenSG 1.8? I > personally prefer 1.8 as I think we won't use 2.0 anytime > soon. I'd prefer focus on 2.0, so that it might be pushed far enough to ship, but I can live with 1.8 too. Best solution: make it lightly-coupled and thus adaptable to both. > - What about Collada? Collada contains animation description and > as far as I know, a Collada reader will be available in 2.0 ? > > - I need some help from you guys taking care that the result > is satisfying for all of us (a kind of tutor/mentor). Any volunteer? I can give comments and offer my experience. But the design work has to be done by someone with enough insight, "feeling" & experience with the problem from the beginning. Either a bright thesis student, the OpenSG community and/or core-devs. That's probably the trickiest part with any thesis work involving design. I think we ought to be lucky if we get _something_ workable if we set a "blue sky" target (I'm might be a bit pessimistic). OTOH, working after a spec, such as VRML (or something like Maya/VTK) might prove more fruitful (the focus would then be implementing some animation classes and have them work in a cluster). Also, I recall Dirk having second thoughts about something as complicated as Maya's node-system, so a simpler solution should probably be the focus. Cheers, /Marcus |