scrawl wrote: ↑23 Sep 2017, 18:24
Yay I assume you're aware of the discussion in the other thread where the consensus was to try importing osgAnimations into our animation system, rather than extending the osg format with our own animation classes.
These are the steps I'm thinking about taking so far:
1. take some trivially simple static object, give it 1 or 2 bones and have it rotate. I want to export it from blender with the default osgt and osgb format and see about re-interpreting it to work with our classes.
2. I'll move on to the more complicated animations that are already in nif, export them from openmw to osgt/osgb using the same modifications I used to import in step 1, make a modification in blender, and then run them in openmw directly from osgt/osgb.
I'm hoping step 1 irons out a lot of the basic problems to make step 2 easier.
scrawl wrote: ↑23 Sep 2017, 18:24
KeyframeController and TextKeyMap should probably go in the same component. They don't depend on one another, but are meant to be used together. I think the answer is either a new 'animation' component that houses everything (including classes like RigGeometry, Skeleton and MorphGeometry that are currently under sceneutil), or stuff the new animation classes under sceneutil/ along with the rest. I'd probably go with the latter because there are some other (not entirely animation related) files under sceneutil that use (or depend on) the animation classes, and cross-component dependencies are best avoided.
sceneutil it is then. After some components get quite large, should we think about creating sub-components
? Either that or a simple naming scheme like prepending animation files with anim would do.
scrawl wrote: ↑23 Sep 2017, 18:24
Right. We could use the UserDataContainer (e.g. a 'collision' description string on the node), or maybe use nodes with a certain name as collision. Ideally we'd want to be able to set this directly from Blender.
This will be step 3
3. Study the UserDataContainer option for osg and incorporate it into Blender with the necessary blender importer/exporter modifications.
I'm chosing to focus on blender because I don't have / can't afford the proprietary modelling tools and I figure focusing on the open source option first is best.