Hi Roland,
Thank you a lot for this contribution, it's really cool. I merged your
modification in my branch ( http://hg.plopbyte.net/osg-branch ) to test
and adjust it before submitting in the trunk.
All modification sounds good to me.
I was thinking to remove LOOP mode from Animation, because it's
something directly related to call you make in the animation manager,
but because it's not clear
for me yet we can write those data in the osg file. Same thing for the
Channel weight, it's something used in internal set by the animation
manager, i am not sure
it's intersting to write it in the .osg file too.
I think to update that in a near futur.
About the current design of osgAnimation you are right some elements
would need to move or change to mix skinning and morphing
Cheers,
Cedric
Roland Smeenk wrote:
Attached you will find some improvements for osgAnimation and a new feature:
morphing
Summary of changes:
-Added MorphGeometry
-Bone Bindmatrix is only calculated if needed
-osgAnimation plugin now supports all available channel types (before only
linear vec3 or quat channels)
-osgAnimation plugin now supports MorphGeometry
-osgAnimation plugin now supports animation and channel weights, animation
playmode, duration and starttime
-removed osgAnimationManager.cpp from CMakeList
osgAnimationManager.cpp needs to be removed from the repository, because it was
renamed to BasiscAnimationManager.cpp
Example morhing.osg (see screenshot)
The example is converted to .osg from a Collada example for morphing. The
example file available in the DOM 2.2 download package and is released under
Creative Commons license.
You can load the model in osgAnimatonViewer example to play the morphing
animation. The lower three heads are standard geodes with a single geometry.
The upper middle head is a MorphGeometry with the first of the three heads as
base and the other two as morphtargets.
The loading of morph controllers is not available in the current version of the
Collada loader.
Current osgAnimation design limitation
Currently RigGeometry and MorphGeometry modify their own geometry. In Collada
it is possible to chain controllers for instance to morph a character's face
and have the skin controller modify the body. It is probably possible to set
RigGeometries as morphtargets for the MorphGeometry, but you can not specify a
RigGeometry as base geometry. Viceversa there's is no way to give the
RigGeometry a MorphGeometry to modify.
kind regards,
Roland Smeenk
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=7390#7390
------------------------------------------------------------------------
------------------------------------------------------------------------
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
--
+33 (0) 6 63 20 03 56 Cedric Pinson mailto:[email protected]
http://www.plopbyte.net
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org